{"_id":"ppipe","_rev":"29-c0976afdcb68ba75b0de9fbe94865196","name":"ppipe","dist-tags":{"latest":"4.0.0"},"versions":{"1.0.0":{"name":"ppipe","version":"1.0.0","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@1.0.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"1eb70c099f1d3d6a62319402690917cd1aee36e9","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-1.0.0.tgz","integrity":"sha512-kVlRPGub2gkvScdP/GyQMmt09LhELpFYRa2Y9E2Rz0SSjsF0vh+goQpwhAW1D3fQoU2Iws4gT16Uxds6NTF4fg==","signatures":[{"sig":"MEQCIEv4+L6c+SnLuAHj6ncNdjk1fhaBMpvkIjxTBnLfP/HZAiAinuljfwc/zGsajQpftBFkNeR2HLUSThLsgOJSNO+Lhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"1eb70c099f1d3d6a62319402690917cd1aee36e9","gitHead":"62236e3da87aa211bd751f48f911a766775dffda","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"3.8.6","description":"piping without the operator support","directories":{"test":"test"},"_nodeVersion":"6.1.0","devDependencies":{"chai":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-1.0.0.tgz_1463076373178_0.5594998393207788","host":"packages-16-east.internal.npmjs.com"}},"1.0.1":{"name":"ppipe","version":"1.0.1","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@1.0.1","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"ef40364901151c30036163e954c745126a61fcc6","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-1.0.1.tgz","integrity":"sha512-/CruV9ZRrjq/xJ0jXebr10C+Y4l4Y925YDtBuz2t10tx0GI9+VR311VOeh8yP0A3W76MTMkgWQ3uZABZu24EHQ==","signatures":[{"sig":"MEUCIAm2j7uPnd0Mx9utzDbxsKtgFZz623iJT+p0jxBC4UH2AiEAsjGRQhPiQcJb7goyq3GnXrwWp3lsf5f8mwIFdSnfUIE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ef40364901151c30036163e954c745126a61fcc6","gitHead":"a1bc440113434cae98028e7fec9a29fc6933bdba","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"3.8.6","description":"piping without the operator support","directories":{"test":"test"},"_nodeVersion":"6.1.0","devDependencies":{"chai":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-1.0.1.tgz_1463078247172_0.6526411606464535","host":"packages-12-west.internal.npmjs.com"}},"1.0.2":{"name":"ppipe","version":"1.0.2","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@1.0.2","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"6df31a02cfa9e8e481af29f80b751c2c90ba33cc","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-1.0.2.tgz","integrity":"sha512-Jqyjz33aR2sPKTUt2otvkWDPcEv3OyamfMaNm3/f3LZOeh3IIQfssG1e56Hint+Q8wAaiXtSF9T61GBuYPfdcg==","signatures":[{"sig":"MEQCIFeMi35cS7n9i8hkgOUHkrsmIvl5bxulPud+Kt07/vBzAiA6+vpee460zHajw5dk+I8NExrAlCu/hTaV4rE9LpzMPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"6df31a02cfa9e8e481af29f80b751c2c90ba33cc","gitHead":"2da9048c039024db290c52afc0c04bca4d4a2679","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"3.8.6","description":"piping without the operator support","directories":{"test":"test"},"_nodeVersion":"6.1.0","devDependencies":{"chai":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-1.0.2.tgz_1463338052662_0.2128964199218899","host":"packages-16-east.internal.npmjs.com"}},"1.0.3":{"name":"ppipe","version":"1.0.3","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@1.0.3","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"569f956a5356ec37d2269d97f58eb98f0326fe09","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-1.0.3.tgz","integrity":"sha512-IidcC589TtEiK+El4DOUiv5HjNhee8GbJ1nzzIwQ5LDCXVp7BL10Z1YpW7NzziW1bioxc0pnyJSAEZdncD5XqQ==","signatures":[{"sig":"MEUCIQCu1ljdNsg2pJsKLP42e0dRXwQOuMEarOPpW1mS0l9dvQIgFXfibbrDjpCgYfoU8fj6G20uKm3SRd9sgoLHSyZTphY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"569f956a5356ec37d2269d97f58eb98f0326fe09","gitHead":"4f0f4d410ea9946420349cb8c0bba543bfcc27d9","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"3.8.6","description":"piping without the operator support","directories":{"test":"test"},"_nodeVersion":"6.1.0","devDependencies":{"chai":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-1.0.3.tgz_1467822453680_0.6584160146303475","host":"packages-16-east.internal.npmjs.com"}},"1.1.0":{"name":"ppipe","version":"1.1.0","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@1.1.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"d292d67285fbb90016c2c137b8db6bd7ba184b18","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-1.1.0.tgz","integrity":"sha512-Wnq/m7yp2tlntNMiXrAFIiYMoJNFYxw76JKGdUNndzHfP2C1VUHdXpO1k2DvVvvCMRNx5tJeAe5Wj/EM4ponzA==","signatures":[{"sig":"MEUCIQDgd4Z1nRrXvcA/mWC0ZPwkka/aYVhsCXGSCMM53XG+fQIgTJ7Azd/jkOnQNZyUNhNacVBkuXdfEoHG8sb6uRJwP8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"8973b77fddd17e9b1df9e4fa80d704484e14736b","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.3.0","description":"piping without the operator support","directories":{"test":"test"},"_nodeVersion":"8.4.0","devDependencies":{"chai":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-1.1.0.tgz_1506112720057_0.7097697663120925","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"ppipe","version":"1.2.0","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@1.2.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"e9c68bf4c513f2822d5ea3aae9adade9300d745f","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-1.2.0.tgz","integrity":"sha512-PHRu9gZHsadNFaN6/90x/uFrn0Z8rjwZjgXmLPdPHIJcKFKEP1tHIUjDqqDKQ9nAA52HfgEV8tl8Cttlju/h6w==","signatures":[{"sig":"MEYCIQDjsUrGO006GaNZpPJ5AqJjVirXB7UEnUQsD88JgxrxmQIhAKkxLA/l7gcwFcCo/ydb0PlzvdxsI8AYIbgvpMrZw7sR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"85c7d69dce85251a302e55497dae0ddbabddcf66","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.4.2","description":"piping without the operator support","directories":{"test":"test"},"_nodeVersion":"8.4.0","devDependencies":{"chai":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-1.2.0.tgz_1506435704850_0.5285956556908786","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"ppipe","version":"2.0.0","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.0.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"baea55f5abab28c949d1ba7a339de18741e8edc0","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.0.0.tgz","integrity":"sha512-PjunfuUsV1W+/jPiM7WuuPpBh6f/YnV/o/VT2iCfVFKmrMzRyVQQRZqQf0SqhTYV1ulSC5k04SizYgqo90NT2A==","signatures":[{"sig":"MEUCIQC5beLUctlRpYXkYy6i/jFE0Cfqfj6Xi4c4vyfFQXz/wAIgFPM7ESgcSY10Z25HpT4pbTLHGGy8o1raxVlh5ZAIW+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"7f5ef4d1f9b393a4dfba4067d03bf204a0eeb34a","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.4.2","description":"piping without the operator support","directories":{"test":"node_modules/mocha/bin/mocha test"},"_nodeVersion":"8.4.0","devDependencies":{"chai":"^3.5.0","mocha":"^3.5.3"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.0.0.tgz_1506608004466_0.023529413854703307","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"ppipe","version":"2.0.1","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.0.1","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"b2d0abca0ebb7a0427b389f6413272ca06218019","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.0.1.tgz","integrity":"sha512-Wd8MByACxC3jihhG2uNAChBhHLQdd9XAqE3rF01G7z8IOdOB+abcmRhcB0mYekNQc7xbCCJHI7og08I5ttS4Eg==","signatures":[{"sig":"MEQCIC3tEcUC+QMVRIDDeNLRnGQN3rF0Z/m+Nh4IXiJOZcy9AiAs735/1uZY6MEtROZIgoQgAtStHxooMoKMquQT8W/qxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"b5115889afab0a675636902633f0b5d47bf9994f","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.4.2","description":"piping without the operator support","directories":{"test":"node_modules/mocha/bin/mocha test"},"_nodeVersion":"8.4.0","devDependencies":{"chai":"^3.5.0","mocha":"^3.5.3"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.0.1.tgz_1506930547380_0.4827607080806047","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"ppipe","version":"2.0.2","keywords":["piping","promise"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.0.2","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"2993b132cec556adaa42d7680a22ff47a47c7986","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.0.2.tgz","integrity":"sha512-q8oXVlN9lNUH8SHZM37brFlTZdLDqwpVJxQcCkzC3Knwxt6NnIM5PMR/rAdzC40TpHtr45W1NWuoBg26mtfBMA==","signatures":[{"sig":"MEUCIQDAmkTTG1dYJGH/GwPEw9pUEEfTrbpouvlm1uaSCxE4DAIgX0Cqy6N5GSAnUbAwBz6h4Je2/locIkiStjYbfm4OE8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","gitHead":"24be19afb43ce0f25eaec57f48ebc2b714603f95","scripts":{"test":"mocha"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.4.2","description":"piping without the operator support","directories":{"test":"node_modules/mocha/bin/mocha test"},"_nodeVersion":"8.4.0","devDependencies":{"chai":"^3.5.0","mocha":"^3.5.3","eslint":"^4.8.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.0.2.tgz_1506937653106_0.3957245897036046","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"ppipe","version":"2.1.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.1.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"48df6afd769acf77ad67ceaf93a1ab7f09024969","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.1.0.tgz","integrity":"sha512-ggjgmVDuTObYNkVVWC5oxP4u7C7jzRt4wkhbvz7Oy9p5WIIUbIl7P1jb5ZZsjofezW9i9IbBwJUKFpiybd6GSQ==","signatures":[{"sig":"MEUCICDbhERU95RDBK6j7UPz7NDMXEX5SXKGC653N1E14+yjAiEA/dLY+jZMIeQjGV6rDB+hn4RNerG6DrAAwouKWfhCrlE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","gitHead":"7489ef801bb4ca34081805d3ac0a5a5917a4dcb5","scripts":{"test":"nyc --reporter=text --reporter=html node_modules/mocha/bin/mocha test"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.4.2","description":"piping without the operator support","directories":{},"_nodeVersion":"8.4.0","devDependencies":{"nyc":"^11.2.1","chai":"^3.5.0","mocha":"^3.5.3","eslint":"^4.8.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.1.0.tgz_1507147667299_0.5959910626988858","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"ppipe","version":"2.2.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.2.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"352f91917a04642c65b3b5236ab3dbbfada53cd7","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.2.0.tgz","integrity":"sha512-5PZ0jrkozrGaUKU4S/e2zTxtPPT9aecGIeg3FvkaDtVxeTy1SFUZeqSwbpZ0UMyRYeLamohonT4DC56AeDr/ng==","signatures":[{"sig":"MEYCIQDuJJ1qxKxXBm6p9D7D7HGDYV+b0PsCeqjZDMklPbae5AIhAMyan83OI+EqqabQDa71ssGBlLsUUwHKj+xRiA/0yzbR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","gitHead":"6309b05c961a572ead63482c93ee23d3a7681c81","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.4.2","description":"piping without the operator support","directories":{},"_nodeVersion":"8.4.0","devDependencies":{"nyc":"^11.2.1","chai":"^3.5.0","mocha":"^3.5.3","eslint":"^4.8.0","coveralls":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.2.0.tgz_1507370259274_0.37554790335707366","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"ppipe","version":"2.3.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.3.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"034f46af66293a9c76ad15c8d9ec23bdc2b9d388","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.3.0.tgz","integrity":"sha512-ucEYzccIYG0PesLZT1IC4Toj8zjnoPqpU0xoweGa+lBoWqQVUDwLtgQp4d2nLAwibfsGYEI4M3r5n/4kPueD9g==","signatures":[{"sig":"MEQCIHA35Qzp15IuDZn6fAXPTn81Cn+1n9jKbHiQcdnL5BYWAiAmptGtHCcpKcLVb9C19b5UQQLA4kXsIEaAkfYH2IHxwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","gitHead":"6ccaf23d86d19df8752f042dc96b220a098f250a","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.5.1","description":"piping without the operator support","directories":{},"_nodeVersion":"8.4.0","devDependencies":{"nyc":"^11.2.1","chai":"^3.5.0","mocha":"^3.5.3","eslint":"^4.8.0","coveralls":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.3.0.tgz_1512470057878_0.017680809134617448","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"ppipe","version":"2.4.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.4.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"88906b4fc0d1149a2b1894b8447fdbda08a4d5cf","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.4.0.tgz","integrity":"sha512-ovcf22FimcZY3+00x0A29uhnUieu7Ms0mhTLQWtkpqjj9yIDsdm4DkZdBvl3zKPi3Kpt5nLzv+b5O0KQ54JXhw==","signatures":[{"sig":"MEUCIQC2jpTONVwpw2QsjF6TLyu8n4nWU6Yk9OtUJ5Nv90hHTQIgTNjHgoA3/mTdlgdqbNtsZXg8s+ODLRkWHIVDvFLxSds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","gitHead":"0cd0699b2e9ef0e8dc44e57057f0e68b4d71597f","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.5.1","description":"piping without the operator support","directories":{},"_nodeVersion":"8.4.0","devDependencies":{"nyc":"^11.2.1","chai":"^3.5.0","mocha":"^3.5.3","eslint":"^4.8.0","coveralls":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.4.0.tgz_1512496752098_0.3940629973076284","host":"s3://npm-registry-packages"}},"2.5.0":{"name":"ppipe","version":"2.5.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.5.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"429e339c880b40b225aa49a9f0080b67d1e732f0","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.5.0.tgz","integrity":"sha512-RbYcpwRD2aWCRvvDMyRbdB71e1ptIvPv2eBo3ZsKEYfTht80JtoT91A7bgh86IMjZPe0Zg6mfJqzzPYWRvI8gw==","signatures":[{"sig":"MEUCIQD0x/1ptd2Iqzi60I+eQU55SeyR+3MFg/kaybm0iSngPQIgCtqvFuK0Si3wH6uuNxs8rIQ0FJSzIn7pFeyXqYFpRH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","gitHead":"5d9d5b66588a2ece5a40e8352a10ce4db5d3e1c8","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.5.1","description":"piping without the operator support","directories":{},"_nodeVersion":"8.4.0","devDependencies":{"nyc":"^11.2.1","chai":"^3.5.0","mocha":"^3.5.3","eslint":"^4.8.0","coveralls":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe-2.5.0.tgz_1513013945526_0.23482875665649772","host":"s3://npm-registry-packages"}},"2.6.0":{"name":"ppipe","version":"2.6.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.6.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"e6994e6e7f4c775d66e84561a640bd5dbf38df99","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.6.0.tgz","fileCount":16,"integrity":"sha512-gLyK3hbItYNem9i64Ca0fLKwBY+Pj7axLsu2uK1g20aDX5oDK7R5JUsfzFjHwInUi7n7pYYaO3Ga1v7SrOJTJg==","signatures":[{"sig":"MEQCIHDIfbxoW7vBAtDvGuT/QWvx0n2OWIbQinYaNSbuh+dfAiBjC5J+KlwMCpipEHRHFRdDZ/i1li+eNH7NzSWUS1l/Hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbBssXCRA9TVsSAnZWagAAjFUP/RCtK8dNoRzH06MHZ0wH\n3SN/6nlN1azWShxGoTpLvFNDP16bVkP8RUsA1ZSmENw0OpKntxvOhazZnc6P\nmKwwVeaSyw/gvA4l/VYndFHnGIHEMlwfNo/qUFN8LyLouMUW4mypajK0QFZt\n2NfTQLI78/3ixNzKZNbIQXwtrUKGLDOm21SJpa9ORXkRO7p9OAb8aOIU1OHR\n/LgqiGtlSMoAhU5E2h598pWBBl92pJW+AMVrUUTLmSf5djp6C1QuAafMsDvb\nFRKqe2JOsZkvkfR6+QPy67fyqo6VyvigOLQeChWBVTBUHfNhQhy5yqBuUCtg\nU8aXtcgIGsGfXpIuYgeFE1ePRda/b9ncAUG3mRIypyyKSbirKO0jB2NZVquf\nroiWaX2ERREMjBDxNIPT0i7vM6/z3u9gyFE24/YV2ZEw/ELDV2a63uLRIZhL\nBK5DZqsstLhDXBlx0+3iOkN4AULIMhR01Ntl+/Lq0l2EWDjiqOLI42lolNPz\ncQsGgahpxe+yIZ4mHAHrVcFqi+t41fPja4G5gXJZoQUn4xxN1UKIX0jkOrcv\ne9KBcv1FBIhqzKIKOiXiYBka/QZG64cdCvVtkGYjAHhX8ziWjFcxUPzhyqey\nmp5qhmmkYv4fwDlgNpRULAxgkxgk7oq49iQIFxSgzzSxvlt0tv7hqVXFnp7W\nWdmp\r\n=bcId\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"5bf320b0d12b3d53e78285db188f4dcca86ec9f4","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"5.8.0","description":"piping without the operator support","directories":{},"_nodeVersion":"8.9.3","_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.7.1","chai":"^3.5.0","mocha":"^3.5.3","eslint":"^4.19.1","coveralls":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_2.6.0_1527171862172_0.24246437095854456","host":"s3://npm-registry-packages"}},"2.6.1":{"name":"ppipe","version":"2.6.1","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.6.1","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"b4fa57e2cc9b6bdfcf666657f4d8dd353bfa24d9","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.6.1.tgz","fileCount":16,"integrity":"sha512-2WagjY1Xe47T0QF8/gRQbelcH6IFFRR5jDU2J78Qx7N5BiyziMaj5NBTptOfRUnLbShbFgSgNN/B0jJhUam4nA==","signatures":[{"sig":"MEQCIEiUEy2xV6F8GFDsqOIEShSIrt/1A/65ls+EaIuTryWTAiAyIwHGhdHMrdfESVUWLZ+arkO32K0+rkmwLp8u+/3Yyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbG5k6CRA9TVsSAnZWagAAhSUP+wUuYTIzkh3D7KjXq/TT\n1+KVD+xWgBLKqx/auSwZoG3Muua7bpC48eNwOAAxpdmJkAqxgCOY9+DLbqKM\nvqVKV+07jUAUfTKA2LoLBQ+QsCHknG7IHXrgg+iJEpioEldmSwHcrhVGuBRp\nb0bSbj7mM+ZhmN5+gIbh7Lxict8/xIUghOJUbpodDsmv/FrhnbliXtq8tL2T\ndtOS0LVox39RdLxCgu9mNiFcQeVwaFJ8Xl0qqh4QOY4CdN6Bu1+fZebGlx5V\n6BKnEQt2DICoPN8ZiGWsw1h64KuolBZkbyB8Zm4D64kvxd2vhuUSRHe5bjDR\nKv9l5jTUTSWob3LwjW4t4jPstDz++rJ1D2rajTsAsdvy0BS+n1jXkQDcEQVj\noL/jeeSIHwxOimqW8Y5EKDQGIaIbgVu0WbCpWpN1q59fJSLsZgfnt/gyjFy2\nhVqyUOAUYyHkpRwAA8F/L8ZXxaY0CQ7G1m7dyxMMUmoO0ZMk4m3iQsg+oY+0\n9ne5AA2FDcrsi/eQHpFEY6hh0qacmTHQ2jpc3eSrBRPmCk3ZUHRTK2DI+p0J\n6Qc/iiIcVvyPpnV+stGDACKXosiTT4Ec95/3iqWohCbWI0GE65WUCssPXxak\nBOZN1So6/uhhZQ9P+YYTC13j4T+FD5nWbGjgJrDXy1Y3kZkPpnhlSjUxtWm2\nww7M\r\n=mZZ4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"5bf320b0d12b3d53e78285db188f4dcca86ec9f4","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"6.1.0","description":"piping without the operator support","directories":{},"_nodeVersion":"8.9.3","_hasShrinkwrap":false,"devDependencies":{"nyc":"^11.9.0","chai":"^3.5.0","mocha":"^5.2.0","eslint":"^4.19.1","coveralls":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_2.6.1_1528535353110_0.7171208815016652","host":"s3://npm-registry-packages"}},"2.6.2":{"name":"ppipe","version":"2.6.2","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.6.2","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"0fa02d09b73f1d26b4ebd1cd118c89ef7c5761c9","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.6.2.tgz","fileCount":16,"integrity":"sha512-zwKDJ8fsZ57+ZYCGhye8FW956+kNBQFdcU/qqPYSsOzwNmBszYLy1azMxleaHjLRns5pNzjqE+hxOoGwj6IYtA==","signatures":[{"sig":"MEYCIQDo/HcKrvoZexiwi18iJb1jOu0Umsji3SAY/h3bjHR+fgIhAKvnBC+c9ZXNX58yPgku2nd3SKUB5hlE5KO+EZ2pwnEy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXtFbCRA9TVsSAnZWagAATxYP/AnYq2N1bzY/JLI/C2P+\nTjX151nT2XywcbFc0SoYGDbYQlYPAg0fNcrqFq7tu6YG6J51SKlqHt+AB8/1\niTRIKG8NbH8zJtdPq4UFymHh0NrYUT414CJwUTMpyXVXI2Jo5VpjvGQIqJMt\nj0caDOVv7P/0sYotdDtTXcooEMtlt4Qrzkyxyu/wmnSIGpE4v5Ena/4x+koq\np0/nBcpFdcd97aeq+a+TMFtzI9J0aXe1Sv9pmmf7qCy/Zm2TWhy1tJf3piQH\ng/DHFBE3O/k4FLxEefRR2ftPZ6fuMRR+HXthrjMuGIU2uvMcg9/S/ai4p8HT\nfMdkDp/NDaWetSAHvQYUKkA7cgha+277OK7BAIC46gkS65Mqu6ISi3WDPlXB\nGZ92XmI4tgc4a8VZdZkcr1RDVI3ELr33ctbBNqmyHjXIUfC0xhD/Uyvxbh5E\nfx+l4fRODMp7xxY8cyN9iKW7IpPNO4Ffi/9Q9AyLfd6s5m4PwcVow0s1XgAE\nBMvzNrsMA1BEP/gsggMinunjjWXONtzrwDeNkZPbE+daGqFXNhF3k7l90oDI\nrW+U1DFF0Vgh9J+cGFoyYJUhNRRZaj4sjpSKfpOeKAdIbxOxEAw1jzd/5o5q\nQErz8qlDuM95XVtVJa2z+5he6iKpyrsuO147E29MiRw4NvQQijtSw9F+O+kD\nmqvg\r\n=Lnkb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"e1cd837ae2de8062a56f2dc9e553615c92476f00","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"6.1.0","description":"piping without the operator support","directories":{},"_nodeVersion":"10.9.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^13.2.0","chai":"^4.2.0","mocha":"^5.2.0","eslint":"^5.13.0","coveralls":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_2.6.2_1549717850580_0.6185823446692202","host":"s3://npm-registry-packages"}},"2.6.3":{"name":"ppipe","version":"2.6.3","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.6.3","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"58f1d8a3aa78575f313dd2933da5a9ff76e695c4","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.6.3.tgz","fileCount":23,"integrity":"sha512-FqFUECF8qXVKArurUXVNQfr+gMwAszPego7rOI1uMOSmhZd++zS0i27b7fX0pAQGo1/Twz1l3EFCLtaZgYtzdQ==","signatures":[{"sig":"MEUCIQCkgNDqqQ5dBSC06rbmR6hlSwV81ernzm2HrSXMpnIqNQIgMfJP7og7CbyHMlercemNVi82VHNndf9WW31SONhQJIw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+9vvCRA9TVsSAnZWagAAc4AP/3aTEnSASGREB9rFWbG1\nnzfHvsYoElp90M2jlgk6vOzDAApjXxmd8mgrYBvJvZm2pem8L0zregStWVEi\nWjAHn45lVRJaKspm3cSXU5VzzgTb6FXDwzXf+K8CIooAhLpj1YZ2bt0fkzw7\n3NrzVAiBliTmEUVOKLg1ARWhtxCf04hhIODJjU3Q59UXWdCjWuw5LL0rrg7L\nlDquoVyV/YwSsqbL0J1FdHMaTAiZZyslJXdcq9tlQIKl3DAG7id63Rf/0tGn\nTZzf7SI70Dd1/M28CcpptqXO/47xJX2Iz3sQ5qO2Wr7hdUDSVK5ys0J8/Ldn\nT37n3CqLxDgmGQK6eaFqIbSh7h9PwQSJMoB5+pTtvn5vcSx6+K8eusNbgX61\nAYrhTU16ECD/chBI/Vq+WSS6KEclgj2QlYiGsKB+0Q9CtrU2wQojRxPwY1KW\nrX0URU9NeeQBef4yQZy030kO/TeVUcSVlYArowCVP9xW5mUpwEAV59Lut69c\nE4NXuEr9WP8z1YbMP7D4loGcsUHzMz1VmjdzDPRUhWxO0W2W7OfWTDb0WumX\nmm48lVl6lt088iIndVGjIDUgk+dSS9ixLVExMYFzJ42w/aTBDgDNXaKwxypT\nlkw9ALNZlUGAin6ZnIimCBfPBcqI15EhkcZtoKdzECwL7DHYZGl+WZ8bAPck\nLxUF\r\n=VGJ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"4302ae02e04f1e28db0515557dc5bbc5d77f969b","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"6.10.3","description":"piping without the operator support","directories":{},"_nodeVersion":"12.10.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","eslint":"^6.5.0","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_2.6.3_1576786926522_0.7923280567932671","host":"s3://npm-registry-packages"}},"2.6.4":{"name":"ppipe","version":"2.6.4","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.6.4","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"a51e0e817b9afdb9c02c4ff83c15f2d015577bb8","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.6.4.tgz","fileCount":16,"integrity":"sha512-1WEEFMG/OEi2EJ7xJYatUCKAJEbk8hnwmNqEysGpKwx2UrFDc80tY47TKHjtGA7l6e5BgTOJqcdTYqIrsFbP0A==","signatures":[{"sig":"MEUCIAruZkMwU3QsdET/v6Gvgpn01UL0GsP7n6NkrZE3VuI7AiEAyGpbt8XqftHHBg8Ks/4J9mqH9eJgOPtSH/PfjK+c1iw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeicKyCRA9TVsSAnZWagAA7sEP+gMgpb7xS0BuuhEIyzE1\nlE9Uyls6TprUqW68741vid+X0JaNMrK2T4Ho5Exqr9CVjutKn+LME7tGsDu+\nG6q0Q+KNgpUAben4gGPPL/QZ3dDHy+q+SEiLREt+xJ4pYHLdGb5lMBM6iLqi\nRpAe5Hj8UpWvPWb++Lx+vj/zaKjQx91mf4APrHnoMIWHmxYHzVC8soQqXC65\nQxb7VLetjZSFq7tR9HMFtWb9JAWSaqClgGbegMdOn+Gn8K73dP80AttDKsbb\nWxSTVSk/OwxEzxOvUpSb5Ue9MVNF2ZUqPh10GURS1L4UDdFkTMws3UCQNg74\ntQbAWuG9+mwj5bFlNYfC49MpOf/ox0byBa3jyg8n1GuY/tJ9dmB+0M2hv+nP\nk5lsm6TvAyID7XwHbEAEfz7toDAvg+LzC2eMukL7DxXpnqhN/D+DOen+7FSq\nTJ0G8TyzFJ5XVIb/ZYXIXnKouPVbax7k7JV/MOCIVRg3ma+WEv3axBBoXIMS\nUkxLL2m4p5Q+bJG51pyV5t0xHExr+lw3cwe9hKEks4HOHirthZvjmk0MHkFH\nhah/xenOBZBn3ESjEI5lb835J1gEeUkhMPnqppAHSt0DkwAev3mB3rpmTN9h\nq54iPJUun0iGJM7ZmPdgf8yitActPnBgTtHsa7psJ80gQht2AOONrSrET0E/\nAgA+\r\n=EcyS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"e17fcd4b56d34e8dfc4015f524cfdd8207c366f4","scripts":{"test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"6.11.3","description":"piping without the operator support","directories":{},"_nodeVersion":"12.13.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","mocha":"^7.1.1","eslint":"^6.8.0","coveralls":"^3.0.11"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_2.6.4_1586086578112_0.8772985819883405","host":"s3://npm-registry-packages"}},"2.6.5":{"name":"ppipe","version":"2.6.5","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.6.5","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"5a1fccf6af2a169e6778d9fddbd58bd02b9532c6","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.6.5.tgz","fileCount":17,"integrity":"sha512-ww9Aod6661Txyn8wNOL8n6BRe2m1FR80GiXL/uJ5tIAK8oXgR93kbCXT3hUz2rAZrHyjJh3s1US9VOHxztjXtQ==","signatures":[{"sig":"MEUCIQCPGnShluS/nrxicZgk3uYLNHXEry0JS4fqywfrfZpQ6wIgIBwHvXOMYNE3jHVJXLsdnNruhNVAEN94LCB3KGen21o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfu4CaCRA9TVsSAnZWagAAPOUP/1HhvbKDOavG+l7VroDO\nC+8e2qHIHASZsfWDhgGQ8bjm4hFGNWXeUc5V/CsuWtUzjsmdlVw8QG7vdfkq\nh2TVe7eod+1C/SFEMKDKcO8sn1gowEfKovuUjxyLXFs15oyBmvJSgb8nmeSa\n87UsixoFGHWdXFobLiHViN6ybDCLVeSyiOGrcMshZbSwvd6Nk+xMUOy4RNv9\nxUdSnK6apq/Ar2BPMZPyq5a7bfCSngbotJeR/7RitzE6t/pAEKfzwRXM9cWH\nhBRcui9hKRCAGqCdbTI0Hz9W4iwH0Wk/eGczJILSLvZcDGq++jstWnKwcuX4\n9vKqWAlvdrBOvbpYzzt83ZNEDJi159aOAMDNLQ6YHHzGJG8FWjzNppuIbPZr\nfEhbP2ewwm73f+Yeve48dDPjtUIj6VMHBBGJa/LsnTUDwQ3LBXGPu7dEP7Qp\nA2IIcp8GceRSYV3pXDIY5Mk0CQFvMcBc1JEEBkEs8IUaiAPaPJ7ONnhZsQB0\n7u+3DS2cRKDzbazYkQpRyeDfj06XqR2VKQ5iIY5CnwV3+Ya3C8XncOAD/9iH\n88nfm333NyzMsPAN3pLWFgeyAYU46VXSV7yvf+a/kQNzxHLSSNwtdnTsP4mD\n2Erz/fCy2ixZMaz83b9uBXQ/LR075NYXKPkKsfeWYdUkROSerc/koUGA0RkZ\nAKsY\r\n=koMY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"062a43efacaa66eb63397a7385f040a06d2dcb30","scripts":{"lint":"eslint --fix src/","test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls","upgrade-interactive":"npm-check --update"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"6.14.8","description":"piping without the operator support","directories":{},"_nodeVersion":"14.15.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.14.0","prettier":"2.2.0","coveralls":"^3.1.0","npm-check":"^5.9.2","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_2.6.5_1606123674359_0.7224454700951413","host":"s3://npm-registry-packages"}},"2.6.6":{"name":"ppipe","version":"2.6.6","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@2.6.6","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"aaf08a2ebf513bd949b0f641374de1f0f66256b8","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-2.6.6.tgz","fileCount":17,"integrity":"sha512-b62+SpEIBXr0uuAglBDDtI9mT9/PKeelRQ8UKcgKEd6Od5LsThSA9KG60v+V3KOOrBfQIOa5q333MrRa5f6jMQ==","signatures":[{"sig":"MEQCIHaZqjkG2RtIZ3pQwNXjIi5y4VorLyNt4TzidsnOWU5GAiACEy4mEv+3cnjA4t6ni+XevQC8bbB+2zZ9q5mBkHATGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiP1qMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbnA/9E98TK8dqY0/2T7/U12oQhhoHrKOqEhUeKMlbbpQ3v9Wtq63K\r\nn031FzNDwnZ+I3bvpdU7JH9eFU0TcZisC2bdJ3uM+noOOX0i0aNCHdWgtop/\r\nYrQcDJk+2l0S8k0olN3sBfrTIOPBm/FZg8932N9Eab8PHAjHLtpjkTqNnuLs\r\nulIPLFVbFTf4aBli1p+GvJjiMuo1Un2vENqtiJYw1EgC0m3QF+O5qYk8mLxS\r\nyDX0nvDBrWVUDar/EGmGrFIeVXDPOHuayogLbyEoM4OqPG3YRJRCxj6gAosQ\r\n04GZlmLXRNHLbNBELtqRHeL+3LbAJxCEz2zPdb9oHdccokn5TIKW7TvdgV/b\r\nuCCIgaq/WpbrU4JiUornrdULH6iPrVuFw5l7ZAQNrflMFyvnFn0mt0mMz1IJ\r\nCk8ejqxHW3DqEkdXSYAioTGLLuqDHDl+XmiUcrlXVZWhj3Y+UK6U27hXJxPs\r\nEa9lwbhVPUAIFDKEkFS7qtIyZjP0r48nw1fMQJnfGO84rh9LJiMlln7FN1gy\r\nS8Nl+fMxChFFLEpjMtmsfekw4L/2le6SrwNhPCMOXyyUCRdWXZVr3PGgR2d+\r\nPTXLIH/oAKhRigLGl5CUzwAGaHIh0nr/YkZApa1gXuW9OjEuHa3x3CJz/tlM\r\n4B7Mbsoy2syuNmQfC/QofwpsqUFyiuZ48dQ=\r\n=+zJL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"1db6ef22735e8797ec61337263bd3c3f6b0f1615","scripts":{"lint":"eslint --fix src/","test":"nyc --reporter=text --reporter=html mocha test","coverage":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"8.1.4","description":"piping without the operator support","directories":{},"_nodeVersion":"17.2.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.2.0","mocha":"^9.2.2","eslint":"^8.12.0","prettier":"^2.6.1","coveralls":"^3.1.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_2.6.6_1648319116807_0.7823128776254442","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"ppipe","version":"3.0.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values","typescript","type-safe"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@3.0.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"0e37e252506bc1dffc349caffd3ad86064faa6ea","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-3.0.0.tgz","fileCount":19,"integrity":"sha512-QMWJZxmCr0ItcNVfhDSmORgLD4r2w8YVR+PiiZQzsly41WUr8C1DBaorEfp0IU16CuqkzQ7JzwVw0aYijCzCiw==","signatures":[{"sig":"MEUCICx6X+g6feAEzHaDxNNNF6/YMUR2Vn2MY11KF8NQ8+aUAiEA3u1naTxihn+l4PNv5jWmvRcflJfL3vUSFoazh2p7h7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44371},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"c4b0b643d716afff978c5cd3fed704f90ba86fae","scripts":{"lint":"eslint --fix src/ test/","test":"npm run build:test && c8 --include='dist-test/src/**/*.js' --reporter=text --reporter=html mocha dist-test/test/test.js","build":"tsc","clean":"rm -rf dist dist-test","prepare":"husky","coverage":"c8 check-coverage --include='dist-test/src/**/*.js' --lines 100 --functions 100 --branches 100 --statements 100","prebuild":"npm run clean","typecheck":"tsc --noEmit","build:test":"tsc -p tsconfig.test.json","lint:check":"eslint src/ test/","prepublishOnly":"npm run build"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"11.7.0","description":"Strictly-typed piping without the operator support","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","chai":"^5.0.0","husky":"^9.1.7","mocha":"^11.0.0","eslint":"^9.0.0","globals":"^17.0.0","prettier":"^3.0.0","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/chai":"^5.0.0","@types/node":"^22.0.0","@types/mocha":"^10.0.0","typescript-eslint":"^8.53.1","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_3.0.0_1768887041832_0.44987767210102314","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"ppipe","version":"3.1.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values","typescript","type-safe"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@3.1.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"c93946e861e7add0c07d7d162d0ef36ca37b342d","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-3.1.0.tgz","fileCount":19,"integrity":"sha512-2UVgHCguNz3m+OCrCKPn8egZTad8g3gXigy8JTPsUKCBLEvg+Z1UiWkHbl9MqhUHf7I2qpKSgJ1x9FmzXYmghg==","signatures":[{"sig":"MEQCIAulfce/Lhlw6XpNuAkNRcZTGAGdRExbnQCB6FGM4k3LAiBFCNcXBXvxK4tenVEnd0JdrmtZ1DmZMfZRcBzyK+zm6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45218},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"edff76808cb2423e8d6d3c61b35e50967c5ae16a","scripts":{"lint":"eslint --fix src/ test/","test":"npm run build:test && c8 --include='dist-test/src/**/*.js' --reporter=text --reporter=html mocha dist-test/test/test.js","build":"tsc","clean":"rm -rf dist dist-test","prepare":"husky","coverage":"c8 check-coverage --include='dist-test/src/**/*.js' --lines 100 --functions 100 --branches 100 --statements 100","prebuild":"npm run clean","typecheck":"tsc --noEmit","build:test":"tsc -p tsconfig.test.json","lint:check":"eslint src/ test/","prepublishOnly":"npm run build"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"11.7.0","description":"Strictly-typed piping without the operator support","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","chai":"^5.0.0","husky":"^9.1.7","mocha":"^11.0.0","eslint":"^9.0.0","globals":"^17.0.0","prettier":"^3.0.0","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/chai":"^5.0.0","@types/node":"^22.0.0","@types/mocha":"^10.0.0","typescript-eslint":"^8.53.1","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_3.1.0_1768972534702_0.4151237260879008","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"ppipe","version":"3.2.0","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values","typescript","type-safe"],"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","_id":"ppipe@3.2.0","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"homepage":"https://github.com/egeozcan/ppipe#readme","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"dist":{"shasum":"66c4dd8c01c79ca421ba6a7b895576afbc892b9d","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-3.2.0.tgz","fileCount":19,"integrity":"sha512-vymPdghxB/ca3/AbWoDfw3KT0jQ1spmzYDaNXE5yjHwsjKwByTEM28ZhFRGRF0zhNvgy5YYs3WvRZQBbSRPohw==","signatures":[{"sig":"MEQCIFqxFNyIh/aGoYRgWwcVYWcSEw8MLAAZfQHFpgHmiiPLAiAiTup7bcWmUiAqZO8D48zA0ZqPDWf3mtcE6hXcfzCU2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52216},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"21f3a8c4005a8c7831525ac677fc9cdd6894f7be","scripts":{"lint":"eslint --fix src/ test/","test":"npm run build:test && c8 --include='dist-test/src/**/*.js' --reporter=text --reporter=html mocha dist-test/test/test.js","build":"tsc","clean":"rm -rf dist dist-test","prepare":"husky","coverage":"c8 check-coverage --include='dist-test/src/**/*.js' --lines 100 --functions 100 --branches 100 --statements 100","prebuild":"npm run clean","typecheck":"tsc --noEmit","build:test":"tsc -p tsconfig.test.json","lint:check":"eslint src/ test/","prepublishOnly":"npm run build","typecheck:arity":"tsc test/types.test.ts --noEmit --strict --module esnext --moduleResolution node"},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"repository":{"url":"git+https://github.com/egeozcan/ppipe.git","type":"git"},"_npmVersion":"11.7.0","description":"Strictly-typed piping without the operator support","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","chai":"^5.0.0","husky":"^9.1.7","mocha":"^11.0.0","eslint":"^9.0.0","globals":"^17.0.0","prettier":"^3.0.0","@eslint/js":"^9.39.2","typescript":"^5.0.0","@types/chai":"^5.0.0","@types/node":"^22.0.0","@types/mocha":"^10.0.0","typescript-eslint":"^8.53.1","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ppipe_3.2.0_1769179909649_0.6111427775179781","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"ppipe","version":"4.0.0","description":"Strictly-typed piping without the operator support","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"sideEffects":false,"scripts":{"build":"tsc","build:test":"tsc -p tsconfig.test.json","clean":"rm -rf dist dist-test","prebuild":"npm run clean","prepublishOnly":"npm run build","typecheck":"tsc --noEmit","typecheck:types":"tsc -p tsconfig.types-test.json","test":"npm run typecheck:types && npm run build:test && c8 --include='dist-test/src/**/*.js' --reporter=text --reporter=html mocha dist-test/test/test.js","coverage":"c8 check-coverage --include='dist-test/src/**/*.js' --lines 100 --functions 100 --branches 100 --statements 100","lint":"eslint --fix src/ test/","lint:check":"eslint src/ test/","prepare":"husky"},"keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values","typescript","type-safe"],"repository":{"type":"git","url":"git+https://github.com/egeozcan/ppipe.git"},"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","devDependencies":{"@eslint/js":"^9.39.2","@types/chai":"^5.0.0","@types/mocha":"^10.0.0","@types/node":"^22.0.0","c8":"^10.1.3","chai":"^5.0.0","eslint":"^9.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.0.0","globals":"^17.0.0","husky":"^9.1.7","mocha":"^11.0.0","prettier":"^3.0.0","typescript":"^5.0.0","typescript-eslint":"^8.53.1"},"gitHead":"b80ff3132551acb3999f442e2f07bd6f7741a358","_id":"ppipe@4.0.0","bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"homepage":"https://github.com/egeozcan/ppipe#readme","_nodeVersion":"25.3.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-EaDLB4t7PspAdfhclGYqpugPZHLrQPqEefj0NeX+VNplRmGkiidWvGiuPACA4DqL72w/BUKSAMAAehT1VjE05w==","shasum":"ca2ab73e5eeb61f1890747e5f9c8de8f749a0287","tarball":"https://registry.npmjs.org/ppipe/-/ppipe-4.0.0.tgz","fileCount":19,"unpackedSize":56998,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC/ACXpTtoNeB+QClG32RWhAqphweja/SDn7aEpQtjRcAiEAi3vz4RTIGgb3acsvCZ9eUgsu/HN0qY4pUqEIpJcuzYU="}]},"_npmUser":{"name":"egeozcan","email":"egecan@gmail.com"},"directories":{},"maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ppipe_4.0.0_1786279704754_0.16312852204102435"},"_hasShrinkwrap":false}},"time":{"created":"2016-05-12T18:06:14.962Z","modified":"2026-08-09T12:48:25.157Z","1.0.0":"2016-05-12T18:06:14.962Z","1.0.1":"2016-05-12T18:37:29.791Z","1.0.2":"2016-05-15T18:47:34.623Z","1.0.3":"2016-07-06T16:27:34.754Z","1.1.0":"2017-09-22T20:38:40.985Z","1.2.0":"2017-09-26T14:21:45.774Z","2.0.0":"2017-09-28T14:13:25.333Z","2.0.1":"2017-10-02T07:49:08.444Z","2.0.2":"2017-10-02T09:47:34.004Z","2.1.0":"2017-10-04T20:07:48.182Z","2.2.0":"2017-10-07T09:57:40.327Z","2.3.0":"2017-12-05T10:34:18.063Z","2.4.0":"2017-12-05T17:59:13.207Z","2.5.0":"2017-12-11T17:39:07.432Z","2.6.0":"2018-05-24T14:24:22.296Z","2.6.1":"2018-06-09T09:09:13.177Z","2.6.2":"2019-02-09T13:10:50.748Z","2.6.3":"2019-12-19T20:22:06.630Z","2.6.4":"2020-04-05T11:36:18.281Z","2.6.5":"2020-11-23T09:27:54.457Z","2.6.6":"2022-03-26T18:25:16.973Z","3.0.0":"2026-01-20T05:30:41.979Z","3.1.0":"2026-01-21T05:15:34.862Z","3.2.0":"2026-01-23T14:51:49.805Z","4.0.0":"2026-08-09T12:48:24.932Z"},"bugs":{"url":"https://github.com/egeozcan/ppipe/issues"},"author":{"name":"Yavuz Ege Özcan"},"license":"ISC","homepage":"https://github.com/egeozcan/ppipe#readme","keywords":["piping","promise","chain","async","pipe","pipe-operator","pipes-values","typescript","type-safe"],"repository":{"type":"git","url":"git+https://github.com/egeozcan/ppipe.git"},"description":"Strictly-typed piping without the operator support","maintainers":[{"name":"egeozcan","email":"egecan@gmail.com"}],"readme":"# [![PPIPE](logo/logo_s.png)](https://github.com/egeozcan/ppipe)\n\n[![build](https://travis-ci.org/egeozcan/ppipe.svg?branch=master)](https://travis-ci.org/egeozcan/ppipe)\n[![Coverage Status](https://coveralls.io/repos/github/egeozcan/ppipe/badge.svg?branch=master)](https://coveralls.io/github/egeozcan/ppipe?branch=master)\n[![npm](https://img.shields.io/npm/v/ppipe.svg)](https://www.npmjs.com/package/ppipe)\n[![npm](https://img.shields.io/npm/dt/ppipe.svg)](https://www.npmjs.com/package/ppipe)\n[![license](https://img.shields.io/github/license/egeozcan/ppipe.svg)](https://github.com/egeozcan/ppipe/blob/master/LICENSE)\n\n**Strictly-typed pipes for values through functions**, an alternative to using the\n[proposed pipe operator](https://github.com/tc39/proposal-pipeline-operator) ( |> ) for ES.\n\nVersion 3.0 is a complete TypeScript rewrite with **maximum type safety** - no `any` in the public API, full IDE autocomplete support, and correct type inference throughout the chain.\n\n## Installation\n\n```bash\nnpm install ppipe\n```\n\n## Quick Start\n\n```typescript\nimport ppipe, { _ } from 'ppipe';\n\nconst add = (x: number, y: number) => x + y;\nconst square = (x: number) => x * x;\nconst divide = (x: number, y: number) => x / y;\nconst double = (x: number) => x * 2;\n\n// Basic piping\nconst result = ppipe(1)\n  .pipe(add, _, 1)      // 2\n  .pipe(double)         // 4\n  .pipe(square)         // 16\n  .pipe(divide, _, 8)   // 2\n  .pipe(add, _, 1)      // 3\n  .value;\n\nconsole.log(result); // 3\n```\n\n## Features\n\n### Basic Piping\n\nChain functions together, passing the result of each to the next:\n\n```typescript\nppipe('hello')\n  .pipe(s => s.toUpperCase())\n  .pipe(s => s + '!')\n  .value; // 'HELLO!'\n```\n\n### Placeholder Positioning\n\nUse `_` to control where the piped value is inserted:\n\n```typescript\nconst _ = ppipe._;\n\n// Value inserted at placeholder position\nppipe(10)\n  .pipe(divide, _, 2)   // divide(10, 2) = 5\n  .value;\n\n// Without placeholder, value is appended at the end\nppipe(10)\n  .pipe(divide, 100)    // divide(100, 10) = 10\n  .value;\n\n// Multiple placeholders insert the same value multiple times\nppipe(5)\n  .pipe((a, b) => a + b, _, _)  // 5 + 5 = 10\n  .value;\n```\n\n### Async/Promise Support\n\nPromises are automatically handled - the chain waits for resolution and passes the unwrapped value to the next function:\n\n```typescript\nasync function fetchUser(id: number) {\n  const response = await fetch(`/api/users/${id}`);\n  return response.json();\n}\n\nconst userName = await ppipe(1)\n  .pipe(fetchUser)\n  .pipe(user => user.name)\n  .pipe(name => name.toUpperCase());\n\n// Or use .then()/.catch()\nppipe(1)\n  .pipe(fetchUser)\n  .pipe(user => user.name)\n  .then(name => console.log(name))\n  .catch(err => console.error(err));\n```\n\n### Value Extraction\n\nGet the current value with `.value` (or `.val`):\n\n```typescript\n// Sync value - typed as number, not number | Promise<number>\nconst num = ppipe(5).pipe(x => x * 2).value; // 10\n\n// Async value (returns Promise) - typed as Promise<number>\nconst asyncNum = await ppipe(Promise.resolve(5)).pipe(x => x * 2).value;\n```\n\n`.value` follows the chain's tracked async state, so it resolves to an exact\ntype and never needs a cast or a narrowing check:\n\n```typescript\nconst a = ppipe(5).pipe(x => x * 2).value;              // number\nconst b = ppipe(5).pipe(async x => `${x}`).value;       // Promise<string>\n\n// Awaiting the pipe itself works too, and always unwraps\nconst c = await ppipe(5).pipe(async x => `${x}`);       // string\n```\n\n### Typed Extensions\n\nCreate reusable pipe extensions with full type inference:\n\n```typescript\nconst mathPipe = ppipe.extend({\n  double: (x: number) => x * 2,\n  square: (x: number) => x * x,\n  add: (x: number, y: number) => x + y,\n});\n\nconst result = mathPipe(5)\n  .double()      // 10 - return type inferred as number\n  .square()      // 100\n  .add(5)        // 105\n  .value;\n\n// Extensions can be chained\nconst extendedPipe = mathPipe.extend({\n  stringify: (x: number) => String(x),\n});\n\nconst str = extendedPipe(5)\n  .double()\n  .stringify()   // '10' - return type inferred as string\n  .value;\n```\n\n### Generic Pass-Through Extensions\n\nGeneric identity functions like `log` or `tap` preserve the pipe's type automatically:\n\n```typescript\nconst pp = ppipe.extend({\n  log: <T>(value: T, label?: string): T => {\n    console.log(label ?? 'value:', value);\n    return value;\n  },\n});\n\n// Type is preserved through .log() - no type loss!\npp(8)\n  .log('start')     // logs: \"start: 8\"\n  .pipe(x => x + 3) // x is number, not unknown\n  .log('end')       // logs: \"end: 11\"\n  .value;           // 11\n\npp('hello')\n  .log()\n  .pipe(s => s.toUpperCase()) // s is string\n  .value;                      // 'HELLO'\n```\n\n## API Reference\n\n### `ppipe(value)`\n\nCreates a new pipe with the given initial value.\n\n```typescript\nconst pipe = ppipe(initialValue);\n```\n\n### `.pipe(fn, ...args)`\n\nPipes the current value through a function. The value is inserted at the placeholder position, or appended at the end if no placeholder is used.\n\n```typescript\npipe.pipe(fn)              // fn(value)\npipe.pipe(fn, _, arg2)     // fn(value, arg2)\npipe.pipe(fn, arg1)        // fn(arg1, value)\npipe.pipe(fn, arg1, _)     // fn(arg1, value)\n```\n\n### `.value` / `.val`\n\nGets the current value from the chain. Typed as `T` for a sync chain and `Promise<T>` if any\nfunction in the chain was async — the compiler knows which, so no cast is needed.\n\n### `.then(onFulfilled?, onRejected?)`\n\nStandard Promise `then` interface. Always available for consistent async handling.\n\n### `.catch(onRejected?)`\n\nStandard Promise `catch` interface. Always available for consistent async handling.\n\n### `ppipe._`\n\nThe placeholder symbol for argument positioning.\n\n### `ppipe.extend(extensions)`\n\nCreates a new ppipe factory with additional methods:\n\n```typescript\nconst extended = ppipe.extend({\n  methodName: (value, ...args) => result,\n});\n```\n\nExtension functions receive the piped value as their first argument.\n\nAn extension is only offered on pipes whose value it can accept — an extension declaring\n`(v: string)` is not available on a pipe holding a number:\n\n```typescript\nconst p = ppipe.extend({ upper: (v: string) => v.toUpperCase() });\n\np(\"hi\").upper();  // ✓ string pipe\np(42).upper();    // ✗ Type error - `upper` is not available on a number pipe\n```\n\nGeneric pass-through extensions such as `<T>(v: T) => T` accept any value and stay\navailable across the whole chain.\n\nCalling `.extend()` with a name that already exists **replaces** the previous extension,\nmatching the runtime merge:\n\n```typescript\nconst base = ppipe.extend({ f: (v: number, n: number) => v + n });\nconst next = base.extend({ f: (v: number) => v.toString() });\n\nnext(5).f();   // string - the overriding definition, taking no extra args\n```\n\n## Migration from v2.x\n\nVersion 3.0 is a TypeScript rewrite that prioritizes type safety. Some dynamic features that couldn't be strictly typed have been removed:\n\n### Removed Features\n\n| Feature | v2.x | v3.x Alternative |\n|---------|------|------------------|\n| Deep property access | `_.a.b.c` | `.pipe(x => x.a.b.c)` |\n| Array spreading | `..._` | `.pipe(arr => fn(...arr))` |\n| Direct method access | `.map(fn)` | `.pipe(arr => arr.map(fn))` |\n| Context binding | `.with(ctx)` | `.pipe(fn.bind(ctx))` |\n| Callable syntax | `ppipe(val)(fn)` | `ppipe(val).pipe(fn)` |\n\n### Why These Changes?\n\nThese features relied on Proxy magic that returned `any` types, breaking TypeScript's ability to infer types correctly. The v3.x API ensures:\n\n- Full IDE autocomplete support\n- Correct type inference throughout the chain\n- No `any` types in the public API\n- Compile-time error detection\n\n## Type Safety\n\nppipe v3.x provides complete type inference with **arity checking** - passing extra arguments to functions that don't expect them produces compile-time errors:\n\n```typescript\n// Types are inferred correctly through the chain\nconst result = ppipe(5)\n  .pipe(x => x * 2)           // Pipe<number>\n  .pipe(x => x.toString())    // Pipe<string>\n  .pipe(x => x.length)        // Pipe<number>\n  .value;                     // number\n\n// Async types are tracked\nconst asyncResult = ppipe(Promise.resolve(5))\n  .pipe(x => x * 2)           // Pipe<number, async=true>\n  .value;                     // Promise<number>\n\n// Extension return types are inferred\nconst myPipe = ppipe.extend({\n  toArray: <T>(x: T) => [x],\n});\n\nmyPipe(5).toArray().value;    // number[]\n\n// Generic identity extensions preserve the pipe's type\nconst debugPipe = ppipe.extend({\n  log: <T>(value: T): T => { console.log(value); return value; },\n});\n\ndebugPipe(5).log().pipe(x => x * 2).value;  // x is number, result is number\n```\n\n### Arity Checking\n\nFunctions are checked to ensure they receive the correct number of arguments:\n\n```typescript\nconst subtract = (a: number, b: number) => a - b;\n\n// ✓ Correct - 2-param function with 2 args\nppipe(10).pipe(subtract, _, 3).value;  // 7\n\n// ✗ Error - 2-param function with 4 args\nppipe(10).pipe(subtract, _, 3, 5, 10).value;\n// Type error: Property 'value' does not exist on type\n// 'ArityMismatch<\"the arguments passed to .pipe() do not match the piped function's parameters\">'\n```\n\nArgument *types* are checked alongside the count, in both placeholder and trailing positions.\n\n### Type Safety Strengths\n\n- **Full inference for lambdas** - Untyped lambdas get correct types for 1-4 arguments\n- **Arity mismatch detection** - Wrong argument counts and types produce compile errors\n- **Exact `.value` type** - Resolves to `T` or `Promise<T>` from tracked async state; never a union you must narrow\n- **Extension value-type checking** - An extension is unavailable on pipes it cannot accept\n- **Extension type preservation** - Generic identity extensions (like `log`) preserve the pipe's type\n- **Override-correct `extend()`** - Re-declaring an extension name replaces it, as the runtime does\n- **No `any` in public API** - Complete type safety throughout\n\n### Type Safety Limitations\n\n| Scenario | Behavior |\n|----------|----------|\n| 5+ args with untyped lambda | Requires explicit type annotations |\n| Arity errors | Appear on member access, not at the `.pipe()` call |\n| Overloaded functions | Resolve against the *last* overload only (see below) |\n| Variadic functions | Allowed through arity check (by design) |\n| Zero-parameter functions | Accepted; the value is passed and ignored (by design) |\n\n**Overloaded functions — unsound, not merely imprecise.** Arity and return types are derived via\n`Parameters<Fn>` / `ReturnType<Fn>`, which only see the final overload signature. The inferred type\ncan therefore disagree with the value actually produced, so this is a genuine hole and not just a\nloss of precision:\n\n```typescript\nfunction over(a: number, b: number): number;\nfunction over(a: string, b: string): string;\n\nconst s = ppipe(5).pipe(over, _, 3).value;  // typed string; at runtime it is the number 5\ns.toUpperCase();                            // compiles, throws\n```\n\nThe same applies to an overloaded function used as an extension. Wrap it in a lambda to pin the\nintended signature:\n\n```typescript\nppipe(5).pipe((a: number) => over(a, 3)).value;   // ✓ number\n```\n\nThis is a TypeScript limitation with no fix available inside the library — there is no way to\nrecover a full overload set from a type. Prefer non-overloaded functions in pipes.\n\n**Zero-parameter functions.** `.pipe(fn)` always calls `fn` with the current value, but a function\nthat declares no parameters is still accepted — this is standard TypeScript assignability, and it\nkeeps side-effecting and throwing helpers idiomatic:\n\n```typescript\nppipe(5).pipe(() => 42).value;                          // 42\nppipe(5).pipe(() => Promise.reject(new Error(\"x\")));    // rejects\n```\n\n```typescript\n// 5+ args needs type annotations\nppipe(1).pipe(\n  (a: number, b: string, c: boolean, d: number, e: string) => a + d,\n  _, \"x\", true, 4, \"end\"\n).value;  // ✓ Works\n\nppipe(1).pipe(\n  (a, b, c, d, e) => a,  // ✗ 'a' will be 'never' - use typed lambda\n  _, \"x\", true, 4, \"end\"\n);\n```\n\n## Testing\n\n100% test coverage is maintained. To run tests:\n\n```bash\nnpm install\nnpm test\n```\n\n## Contributing\n\nSee [CONTRIBUTING](https://github.com/egeozcan/ppipe/blob/master/.github/CONTRIBUTING.md).\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for version history.\n\n## License\n\nISC\n","readmeFilename":"README.md"}