Comments (6)
import { TextLineStream } from '@std/streams' for await ( const line of (await Deno.open('./deno.json')) .readable .pipeThrough(new TextEncoderStream()) .pipeThrough(new TextLineStream()) ) console.log(line)
The above example is correct, but it looks a bit cluttered for such typical simple task, compared to other languages/runtimes.
Reading lines from a file is much simpler in other languages.
python
file = open('README.md', 'r')
for line in file.readlines():
print(line)
perl
open(INFO, "README.md") or die();
foreach $line (<INFO>) {
print $line;
}
I think it would be useful to have special/ergonomic wrapper for such typical task
from deno_std.
I agree with the comment by @iuioiua βΒ this seems convenient, but also somewhat trivial.
If it is decided to be added, I think that the return type should be ReadableStream<string>
to provide more convenience value: it already implements AsyncIterable<string>
and can also be piped, etc.
from deno_std.
Does this not already exist via TextLineStream
?
import { TextLineStream } from '@std/streams'
for await (
const line of (await Deno.open('./deno.json'))
.readable
.pipeThrough(new TextEncoderStream())
.pipeThrough(new TextLineStream())
)
console.log(line)
from deno_std.
I'm impartial to adding this. The above code snippet using TextLineStream()
seems to suffice.
from deno_std.
If something like this is to be added, I think a toLines(stream)
to align with toText
and toJSON
would be best. Although on the other hand somebody might assume it would return an iterable of strings instead of an async iterable of strings.
from deno_std.
toLines
sounds good to me
from deno_std.
Related Issues (20)
- bug(cli): `Spinner.stop() terminates the sequence` test failure
- text: Add `algorithm` option to string comparison functions HOT 4
- proposal: do not expose implementation details of yaml schemas HOT 5
- yaml: Rename negative property names in options HOT 3
- suggestion: remove `iterator` argument from `parseAll()` in `@std/yaml` HOT 1
- suggestion: rename `verifyCookie()` to `verifySignedCookie()` in `@std/http/signed-cookie` HOT 1
- proposal(http): rename `calculate` to `eTag` HOT 1
- proposal(http): rename `Entity` to `ETagSource` HOT 1
- Deno test fails with inscrutable error when `assertSnapshot` is used in update mode but the `--allow-write` flag is missing HOT 4
- UUID v4 generator for non-secure contexts? HOT 2
- proposal(assert): change the entrypoint pattern from "assert/assert-foo" to "assert/foo" HOT 5
- bug: `fs.walk()` throws not found error HOT 4
- proposal(json,csv): avoid repetition in entrypoint name if it has the same word as the pacakge name in the beginning HOT 1
- media_types: incorrect mime for javascript - does not match mime-db HOT 1
- to-do: automate checking of package versions
- to-do: investigate the viability of `ParseOptions` and `StringifyOptions` in `@std/yaml` HOT 1
- url: when passed argument is not a valid url, error throwed. HOT 3
- Research the usages of signed cookies
- suggestion: make `createExtractor` module private in `@std/front-matter` HOT 3
- Reduce StyleVariant aliases in yaml
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deno_std.