Sync alternative to `fs.openAsBlob`
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 122k
- Forks
- 37.3k
- Merge moyen
- 4 j 2 h
- PR mergées (30 j)
- 283
Description
What is the problem this feature will solve?
I'm making a cross-runtime file streaming library (that needs to be fast) and this would make it way easier to do so since Bun.file() is already sync.
So the code might look like this if my suggestion made it to node:fs:
const getFile: (path: string) => File = globalThis.Bun
? Bun.file
: process.getBuiltinModule('fs').openAsWebFile;
// Usage
return new Response(getFile('./index.html'));
return new Response(getFile('./binary-data').slice(0, 100));
What is the feature you are proposing to solve the problem?
A new API, something like fs.openAsWebFile() that returns a File maybe?
It would have more info for the Response constructor to pick up as well.
What alternatives have you considered?
fs.createReadStream but that is also async and can be slower too.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par examiner les API fs.openAsBlob et fs.createReadStream existantes ainsi que leur documentation. Clarifiez la forme de la File API synchrone, les métadonnées exposées à Response et le comportement entre les différents runtimes avant de proposer un point d’entrée. Le travail est terminé lorsque la conception de l’API est approuvée et que son comportement est couvert par des tests et de la documentation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript
- Domaine
- backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Active
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100