Initial commit
commit
b8d2cc27ae
@ -0,0 +1 @@
|
|||||||
|
node_modules
|
@ -0,0 +1,17 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const Promise = require("bluebird");
|
||||||
|
const pipe = require("@ppstreams/pipe");
|
||||||
|
const collect = require("@ppstreams/collect");
|
||||||
|
const fromIterable = require("@ppstreams/from-iterable");
|
||||||
|
const join = require("./");
|
||||||
|
|
||||||
|
Promise.try(() => {
|
||||||
|
return pipe([
|
||||||
|
fromIterable([ 1, 2, 3, 4, 5 ]),
|
||||||
|
join(0),
|
||||||
|
collect()
|
||||||
|
]).read();
|
||||||
|
}).then((values) => {
|
||||||
|
console.log(values); // [ 1, 0, 2, 0, 3, 0, 4, 0, 5 ]
|
||||||
|
});
|
@ -0,0 +1,21 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const pipe = require("@ppstreams/pipe");
|
||||||
|
const map = require("@ppstreams/map");
|
||||||
|
const buffer = require("@ppstreams/buffer");
|
||||||
|
|
||||||
|
module.exports = function join(joinValue) {
|
||||||
|
let firstValueProcessed = false;
|
||||||
|
|
||||||
|
return pipe([
|
||||||
|
map((value) => {
|
||||||
|
if (firstValueProcessed === false) {
|
||||||
|
firstValueProcessed = true;
|
||||||
|
return [ value ];
|
||||||
|
} else {
|
||||||
|
return [ joinValue, value ];
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
buffer()
|
||||||
|
]);
|
||||||
|
};
|
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"name": "@ppstreams/join",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"main": "index.js",
|
||||||
|
"keywords": [
|
||||||
|
"ppstreams"
|
||||||
|
],
|
||||||
|
"repository": "http://git.cryto.net/joepie91/join.git",
|
||||||
|
"author": "Sven Slootweg <admin@cryto.net>",
|
||||||
|
"license": "WTFPL OR CC0-1.0",
|
||||||
|
"devDependencies": {
|
||||||
|
"@joepie91/eslint-config": "^1.1.0",
|
||||||
|
"@ppstreams/collect": "^0.1.0",
|
||||||
|
"bluebird": "^3.7.2",
|
||||||
|
"eslint": "^6.8.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@ppstreams/pipe": "^0.1.1"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue