https://github.com/simoneb/jetl
JavaScript data processing with asynchronous iterators
https://github.com/simoneb/jetl
async etl iterators pipeline
Last synced: 10 months ago
JSON representation
JavaScript data processing with asynchronous iterators
- Host: GitHub
- URL: https://github.com/simoneb/jetl
- Owner: simoneb
- License: other
- Created: 2021-11-27T17:51:24.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-26T17:27:05.000Z (over 2 years ago)
- Last Synced: 2025-02-09T22:46:34.284Z (over 1 year ago)
- Topics: async, etl, iterators, pipeline
- Language: TypeScript
- Homepage: https://simoneb.github.io/jetl
- Size: 3.13 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> The license of this software has changed to AWISC - Anti War ISC License
# jetl
[](https://badge.fury.io/js/jetl)
[](https://github.com/simoneb/jetl/actions/workflows/ci.yml)
[](https://github.com/simoneb/jetl/actions/workflows/release.yml)
[](https://github.com/simoneb/jetl/actions/workflows/docs.yml)
JavaScript data processing with asynchronous iterators.
## Documentation
Check out the [documentation website](https://simoneb.github.io/jetl).
## Setup
```sh
npm i jetl
```
## Usage
The example below comments out each line of the current file and prints the result
```js
const fs = require('fs')
const { pipeline } = require('jetl')
const { first } = require('jetl/operators')
const { joinStrings, map, split } = require('jetl/operations')
const result = new pipeline() // instantiate pipeline
.add(fs.createReadStream(__filename)) // read file
.add(split()) // split into multiple lines
.add(map(line => `// ${line}`)) // prepend each line with a comment
.add(joinStrings('\n')) // join the lines together
.run() // execute the pipeline
console.log(await first(result)) // print the first (only) result
```