{"_id":"handrail","_rev":"30-ab9d9efd802962fff922dbc0880f6916","name":"handrail","description":"a toolset for logical disjunctions / safety for your functional pipelines","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"handrail","version":"1.0.0","description":"```  _                     _           _ _ | |__   __ _ _ __   __| |_ __ __ _(_) | | '_ \\ / _` | '_ \\ / _` | '__/ _` | | | | | | | (_| | | | | (_| | | | (_| | | | |_| |_|\\__,_|_| |_|\\__,_|_|  \\__,_|_|_| ```","main":"index.js","author":{"name":"brekk bockrath"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1"},"dependencies":{"fantasy-eithers":"^0.0.2","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost"},"gitHead":"23d84107c2d7496cc6cc0b8ca555c23b8737c693","_id":"handrail@1.0.0","_shasum":"0c936358753a40c5f762fe88109257bd4f345a65","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"0c936358753a40c5f762fe88109257bd4f345a65","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.0.0.tgz","integrity":"sha512-Y6GN8Sj3x4qlaBh+bqUBFLeJU210OoVAd76z6sgwJ4Xee+rIcE44c307qqNKjgsE0Khk3qtWeauxmJVEX0WaHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBWubG+70CatWnEuSW9YNkSucBrF9pQKd7o5klrwEIjAIhAMg6veAd0RstK6EBSqV/lr4seZbRsxSoZ7U1oAR2L/g9"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.0.0.tgz_1496094420808_0.3376102796755731"},"directories":{}},"1.0.1":{"name":"handrail","version":"1.0.1","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1"},"dependencies":{"fantasy-eithers":"^0.0.2","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"ce32d0dacddb3b3b5844c05d1f40f45a3b7a82eb","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.0.1","_shasum":"6d5ef832f5ec4aea89f0bb09233267af80ef8b13","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"6d5ef832f5ec4aea89f0bb09233267af80ef8b13","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.0.1.tgz","integrity":"sha512-9eVW34aSXQcGfSn+uz+4uzZWCahM3omkr4kZhgarFoN2Fleo1My1PSJHS5fScolEgv2KoF0Q+Y0cM+9GUCHYDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFKuToIrM/F9BDNf+ZhEjXO21j+q9I2i5vvsw6BneW8kAiAWgvsB9Q+i7hZi6QYzrRPdwwDXxcaaSjqEM0MOagqT4A=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.0.1.tgz_1496118571580_0.733001361368224"},"directories":{}},"1.0.2":{"name":"handrail","browser":"handrail","version":"1.0.2","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"fantasy-eithers":"^0.0.2","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"83d66e8e363ae85efffa91dc7659a05eae6135f7","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.0.2","_shasum":"6a688c730861007f529980df2d71ca817c2bdc3d","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"6a688c730861007f529980df2d71ca817c2bdc3d","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.0.2.tgz","integrity":"sha512-iI7U9CoW6aVyQHeMy5WlVWjfmVy2LrLOLPOYwX5oP/QQwJsxnjCi6TVtlIpycSgpRQ4aZ+bg2VJpQtHcuGWC5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKyEanFJXqeDTk+tMw7kyVaMJVMILKcZpyagyr0asHxgIhAL+rD5XkRNrT362BpgFAlPSj/F1HW9nogK+bIN+9ua8F"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.0.2.tgz_1496706558134_0.1507130458485335"},"directories":{}},"1.0.3":{"name":"handrail","browser":"handrail","version":"1.0.3","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"fantasy-eithers":"^0.0.2","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"1bcffd1842dedc3f52703a9e1a08edd084200644","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.0.3","_shasum":"1bb8ea238f85b1fa2fa8a7ba75d5e4ca08a9e349","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"1bb8ea238f85b1fa2fa8a7ba75d5e4ca08a9e349","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.0.3.tgz","integrity":"sha512-Hw0bebij4/fGVyb6eCVCEGMvg61aXC6+xQTGxH8LBxuMhifpn1CRYnR6+bZxeHlNsPH+1iTzk+PWYTILqB4yXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAlYqeqKnwl5KyC45sKOvwz0P3W35dg6deUKn9sUn7YgIhAOOuiLZK5073LHFTfvh6DtUMA4OukbTPYfs5yqRs5tNY"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.0.3.tgz_1497489417730_0.9952812753617764"},"directories":{}},"1.0.4":{"name":"handrail","browser":"handrail","version":"1.0.4","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.1","fantasy-eithers":"^0.0.2","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"e8aa6303e6a54ce0e1cbdd05f633d7a9747d036c","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.0.4","_shasum":"de53b0aede86c830abe608eb6e0913a90ce29988","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"de53b0aede86c830abe608eb6e0913a90ce29988","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.0.4.tgz","integrity":"sha512-GQxC1wMEI3vrVHhwFJgCqcf2PyHwncHsHPSNyGezP+bZamm67XvFOnmLK38njlTZAG8I2y71E0GaKgWBNX/Fuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHk1EVnS+p5e0b8nJEDVhDdpZlOjRjDT5BNpbBHOwO41AiBmrjmz9kC4pQwk3YCGHG9Dc5hGzNpuA4wcCjSAUn/BEA=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.0.4.tgz_1499608634640_0.03902926133014262"},"directories":{}},"1.1.0":{"name":"handrail","browser":"handrail","version":"1.1.0","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.1","fantasy-eithers":"^0.0.2","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"e8c2bd059cecf3cabee16e4cef002511c426bedd","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.0","_shasum":"3189a6d940d453a2ad62f87bfd5aaffb302fd165","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"3189a6d940d453a2ad62f87bfd5aaffb302fd165","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.0.tgz","integrity":"sha512-kbpKUcmaOJxTELxK2+if8yCKxiezY9y4npAPrwjwhjyxvtll2IOydK7h/XjsF6yDgVq3uCJpnY2ex06i+AG/Lw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmhotbRVe87zeVxnkKgufSIRRBw+nVojDamc9gT/RAjQIgTLpT36kIP2DQ9ouDLf8zc5VmzIFbebkDYWY4jwJPjY8="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.0.tgz_1499631215530_0.7672337198164314"},"directories":{}},"1.1.1":{"name":"handrail","browser":"handrail","version":"1.1.1","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.1","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.6","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"46d248b9ce93b0e201799a35bf541f7c0d23d741","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.1","_shasum":"6ba8916e5209bc2d616b47ff4784daca96865dc7","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"6ba8916e5209bc2d616b47ff4784daca96865dc7","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.1.tgz","integrity":"sha512-3x6mia3YWJVpZXq1rMWGsReaPISiWBb05YagJBA/3+TIFTSDQvMhMc8rqvoqwPJWxQRMWKrOtsix2vAHMVJPRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEcqmcKYkWGgMMILq240wp15g1FG3lgnmbCLef/QnqRAiBl+WGSXKluz5IIlKFK+i4oqgFkwjxmQV7bmU58bBvY6w=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.1.tgz_1499633128901_0.27627044869586825"},"directories":{}},"1.1.2":{"name":"handrail","browser":"handrail","version":"1.1.2","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-buble":"^0.15.0","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.1","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.6","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"dacf5040388e018d8691b1745e6b81452d617809","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.2","_shasum":"9ec2dbba7ff542613285b7b985eacd53ce186d55","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"9ec2dbba7ff542613285b7b985eacd53ce186d55","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.2.tgz","integrity":"sha512-HFJ6kDxl+GrxAxQ5BKoyOwOCqHqzzssJnBVDHUDag3Ri1BuoLvAwFdS8FdgfdsP8/tis5bIRDcN99f44ji5hyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFHkO6/gNjt05FTiCzeomfj79I3Izes8OmAonDlBC/yiAiB6oZ9QsOvXlwXlcH2yOFW2X+ioHi6jjf+ydX3xmRZ5QA=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.2.tgz_1499655929864_0.2435597311705351"},"directories":{}},"1.1.3":{"name":"handrail","browser":"handrail","version":"1.1.3","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.1","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.6","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"ff6c2c79c524c4df6af64d3f16cfcbb37730df60","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.3","_shasum":"da030e2962909d9b31b290aed18a7c255ab5fda6","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"da030e2962909d9b31b290aed18a7c255ab5fda6","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.3.tgz","integrity":"sha512-eY+acTPEt/IAxQjLSPpopoOCxuAAy/6NAurojUxpG/gIplzmAXYdn4MiZ9TTDjweH3xjLOG4BxKiKpSVTOhiaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfwIIyApGLlATJO6jwJP1JmssQqHLxCw7621wLV0FjmAiEA5qLW6HuUvVKZi3wss5VsH25RHUZxoNNGcsC88vu5gVQ="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.3.tgz_1499656385072_0.015568365575745702"},"directories":{}},"1.1.4":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.1.4","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.1","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.6","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"6b7bfddfeddac2d9aff837928e31ccb2eaac2cd5","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.4","_shasum":"03c40e07231381e8028d7910eaf05b3665ee5181","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"shasum":"03c40e07231381e8028d7910eaf05b3665ee5181","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.4.tgz","integrity":"sha512-bH7iecrMW3i+7oHYRXGQmyMMz5Q65d7T5rQpBgKr6P/u5kCajD2hX0Gc0XW5Fog+xKNXRasu13sZUIOvfz5Uhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTSccnZXjRToRxdDpR/Sr5XjqhykEk6lpjgOY1lF5PbQIhAK88V73EtF/vihbGbGOhoZTDsysv05JUC1UPirOzhjLU"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.4.tgz_1499661876173_0.47954860725440085"},"directories":{}},"1.1.5":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.1.5","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.1","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.6","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"42918fbf3e8c9569598125c5154516f486b21931","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.5","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-pTAOnu07dvismprw5z/p3fMuv49qMSntXJyz6L4fXUi+YINOJs0sebhHKCM+7FlJTheGr+/zIP2tSclBwOHNDg==","shasum":"3dcc17d4c1e261ee46345afab1c746532d75c84c","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG97fGKumdwrgysEJUklo8rUIj+ICNgcwvs/T3RlNNULAiAqB9mNZVFUAolVgX660awTT8Mqddn6Ojnud4Fn0Bf62Q=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.5.tgz_1499909497678_0.1969992311205715"},"directories":{}},"1.1.6":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.1.6","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.3","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.7","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"10284858d070047f93c24b130889765b4228a73a","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.6","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-hBXG3rqxyPyPiWATcJ4rKt0y1YUM/Xl1OdDoiwPQobiWBf+BkI7GC4Zo00oBp3oxVHxFb7rBqGKwCz6VpEK45Q==","shasum":"bf48b15924e3c99d370ddb6b9e5aa173ae17dca7","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnFobomb2X1CWp5ZKZ0hKbCr0102ZoGXMuTav6LH++ygIhAIise5S/X53xiezYkd3mIy46wK0c4b2+oHzHPHBGyBs6"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.6.tgz_1499910270173_0.6548658828251064"},"directories":{}},"1.1.7":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.1.7","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.3","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.7","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"20f1ed83c446732d06de1a8dd4925d1d34983e14","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.7","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-yXhnnBuQSmF6qdSO4Qlz/UbfDkuo+8MmtLTVd7cGJB6OJURys5CnFGavT++VSx8kAlufonL1XBX6pybRN/A0iQ==","shasum":"330b39a0113b75be43a6120ac2f2ba018b54944f","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhv3Kd8+DUuS6p3+0ekBqaUDmdst7cvANVrzAAWM1lPAiAkq8CC+47+2UteI8nfUrSR42zyP9JSTePz/qJ3wRQ//A=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.7.tgz_1499965599243_0.5535286816302687"},"directories":{}},"1.1.8":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.1.8","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15"},"dependencies":{"entrust":"^0.0.3","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.7","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"934a24613121bc402222c2bb91cf01868ccebace","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.1.8","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-y6qikcf+BHlhpFVmMBCpPPJIuDKRGaxEewdz5Bj8xrjxixUvrmxg8bUpJ2Jl0LwHUb9gNPLfHnFG41RcR+eGeA==","shasum":"8497b36a6320cdbd2bc4a9b0373bc0eb88608502","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.1.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCV/SjZbQwNsitFXwOh1X73kJZuOBk/7uZvwjkFHnTNIQIhAL6O7e4FozuKFGVem0VF4kDsFGu9RCOEqOBZjMYAt78z"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.1.8.tgz_1499965905183_0.908724564826116"},"directories":{}},"1.2.0":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.2.0","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15","xtrace":"^0.0.8"},"dependencies":{"entrust":"^0.0.3","f-utility":"^3.0.3","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.8","ramda":"^0.24.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"b9f728dec1d874c2a1de16fb5bfe5730558de2d0","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.2.0","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-G40izmC41EGvMRHafX4yXCku00tWjQotv1OKCH+55JRDrTD65qHIVtsRwHDMXta+m5vnyd6wXD/bGPZJjw4iqA==","shasum":"2fd34a16cd05f9b004cf0d20795d0c6902cd45ca","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF21ZqfW6WPFQS/e5bs4Lq2+WTlQi/RDEEbIxzY6IWimAiEApla3/5QNsRfeB1gktR0AxHfY6qLNQYVj1R5cU7SB9Tc="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.2.0.tgz_1500515953500_0.12938466109335423"},"directories":{}},"1.3.0":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.0","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","madge":"^2.0.0","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15","xtrace":"^0.0.8"},"dependencies":{"entrust":"^0.0.3","f-utility":"^3.0.7","fantasy-eithers":"^0.0.2","katsu-curry":"^0.0.9","ramda":"^0.24.1"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"dc9e3946d33f98010678aecc8a20a6e700cfab20","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.3.0","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-isNckP3qEc0RC8be52ZiyoF5yUYP3jTVQkwVu3QKzq8unUK1wLA6IZN343h8JgoBSrs47zV6ZULgK65lnEKGwQ==","shasum":"d0a4eedb3dfe0fe85a61dc7484a690b2697ee0dd","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBNyoADwUs9zgfCZbdbj7gnXpBBxmXv6UZGnXQCCZmvAIhAIrqvNdafgH8GGTqb+HUrUN096+VZCb6fhlWAybEZhNU"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.3.0.tgz_1500920952077_0.8494046474806964"},"directories":{}},"1.3.1":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.1","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"index.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"^6.24.1","babel-eslint":"^7.2.3","babel-loader":"^7.0.0","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"^4.1.1","eslint-plugin-eslint-comments":"^1.0.0","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"^2.2.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"^1.0.1","madge":"^2.0.0","nps":"^5.1.0","nps-utils":"^1.2.0","nyc":"^10.3.2","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-json":"^2.1.1","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","uglify-js":"^3.0.15","xtrace":"^0.0.8"},"dependencies":{"entrust":"^0.0.3","f-utility":"^3.1.0","fantasy-eithers":"^0.0.2","katsu-curry":"^0.1.1","ramda":"^0.24.1"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"64126b3344b962a87ff67e89fd6fc1fe64c87df2","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.3.1","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-djlXUatCw8/hAhyOQKSWlLOtJ8YVQEtRPUQPLen40Po9Gn9qNCzUKjDsmCAYlm5Q2f/Rm2nYDpPfej7TbdjOrQ==","shasum":"b732fb2cf152d13af019473b9da7fabce2622e0c","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID0iSs/GI0kvtm6ZWlS8AXF3639qlU17JWQyo8GQlqvcAiEAnl1/zEWFXFmsftMm2mRWGh5XPYnyXCqwDLIbh+xWiEg="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.3.1.tgz_1501862932883_0.8017568425275385"},"directories":{}},"1.3.2":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.2","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"handrail.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"6.25.0","babel-eslint":"^7.2.3","babel-loader":"7.1.1","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"4.1.2","eslint-plugin-eslint-comments":"1.0.3","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"1.0.3","madge":"^2.0.0","nps":"5.7.0","nps-utils":"1.3.0","nyc":"^10.3.2","ramda":"^0.24.1","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"8.1.0","rollup-plugin-json":"2.3.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","rollup-plugin-uglify":"^2.0.1","uglify-js":"3.0.27","xtrace":"^0.0.8"},"dependencies":{"entrust":"^0.0.3","f-utility":"^3.1.1","fantasy-eithers":"^0.0.2","katsu-curry":"^0.1.1"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"193f085439de2e9ffccba8ce9b26c5db888a18b1","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.3.2","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-XGhnrSfM5g76Jg8WXB/qWfg3ya5V/7jLllf3+ngDO40+yaHiDUXoQVpv9qEATyYtIk+Hy2BAogLcObptHKCtIQ==","shasum":"6fc4e15de7f1ae3af05a9927dc6b8093719e498f","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqjzKWMssZ5HPtCI7K+lCYdVD2z4EWJqW3+OrtYpyFpAiAJR2iMss5lQVuPARHH8wE7ktqcC1tcLNB3fOWE1bhPMg=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.3.2.tgz_1501952377386_0.014216484036296606"},"directories":{}},"1.3.3":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.3","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"handrail.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"ava":"^0.19.1","babel-cli":"^6.24.1","babel-core":"6.25.0","babel-eslint":"^7.2.3","babel-loader":"7.1.1","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"^3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"4.1.2","eslint-plugin-eslint-comments":"1.0.3","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"^4.2.2","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"^0.13.3","ljs2":"1.0.3","madge":"^2.0.0","nps":"5.7.0","nps-utils":"1.3.0","nyc":"^10.3.2","ramda":"^0.24.1","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"8.1.0","rollup-plugin-json":"2.3.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"^0.2.1","rollup-plugin-uglify":"^2.0.1","uglify-js":"3.0.27","xtrace":"^0.0.8"},"dependencies":{"entrust":"^0.0.3","f-utility":"^3.1.1","fantasy-eithers":"^0.0.2","katsu-curry":"^0.1.1"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps precommit","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"d958a201324d7ea3559263787f65d3d652eebcdf","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.3.3","_npmVersion":"5.2.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-haXutjA4jwmo2ES/8rthWJv8VQ5w3nWFdHpeT6iSDUmLGpZUg/DeD96wuQNsagjodwDweDW6z3C8ySPQGwfdLA==","shasum":"98472f0d79bd6db016ad3e019a9a60614e3ccf42","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6AuqtuCXkqDWoafxWMs1qCoOzaMHV19h6Uh+BWhTM5gIhAOLidjk/1TrN7GYDJArhvvcC/uBvta77e4NO6uj/zd7z"}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.3.3.tgz_1501953051289_0.5597387577872723"},"directories":{}},"1.3.4":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.4","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"handrail.js","author":{"name":"brekk"},"license":"ISC","ava":{"require":["babel-register"],"files":["src/*.spec.js"],"source":["src/*.js"],"concurrency":10,"babel":"inherit"},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.25.0","babel-eslint":"^7.2.3","babel-loader":"7.1.1","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"3.19.0","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"4.1.2","eslint-plugin-eslint-comments":"1.0.3","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","get-es-imports-exports":"^1.0.7","husky":"0.14.3","jest":"^20.0.4","ljs2":"1.0.3","madge":"^2.0.0","nps":"5.7.0","nps-utils":"1.3.0","nyc":"11.1.0","ramda":"^0.24.1","rollup-plugin-babili":"^3.1.0","rollup-plugin-buble":"^0.15.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"8.1.0","rollup-plugin-json":"2.3.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"0.4.0","rollup-plugin-uglify":"^2.0.1","xtrace":"0.1.0"},"dependencies":{"entrust":"0.0.7","f-utility":"3.3.0","fantasy-eithers":"^0.0.2","katsu-curry":"0.4.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps care","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"03638059d81ba7ec2692f0d018408f4e95621090","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.3.4","_npmVersion":"5.3.0","_nodeVersion":"6.2.1","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-usAhGcDZom++n+Ui3CAjGxOrPGfl1W7X2O46KNeSPUfZt+SN8RZ5EiHCHThoeMDmVldfFksxMCV0HezX2ko3+A==","shasum":"6052babb88a32af26f595d3fbe030b98371a46bb","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIESEk9Kktiyvk36ofYHWJKWtxaFFkAwTvNXCg96TE9aiAiEA+IsBYM9htcEx/eaWO7YWOhKgmzzgdbykJ3p2brREbyE="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.3.4.tgz_1502423546234_0.08199150837026536"},"directories":{}},"1.3.5":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.5","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"handrail.js","author":{"name":"brekk"},"license":"ISC","jest":{"modulePaths":["src"],"moduleDirectories":["node_modules","src"],"mapCoverage":true,"moduleNameMapper":{"@handrail/(.*)":"<rootDir>/src/$1.js","@assertions/(.*)":"<rootDir>/src/assertions/$1.js","@either/(.*)":"<rootDir>/src/either/$1.js","@errors/(.*)":"<rootDir>/src/errors/$1.js"},"moduleFileExtensions":["js","json"],"testMatch":["**/*.spec.(jsx|js)"]},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"babel-cli":"6.26.0","babel-core":"6.26.0","babel-eslint":"8.0.1","babel-loader":"7.1.2","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"4.7.2","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"4.1.2","eslint-plugin-eslint-comments":"1.0.3","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","germs":"^0.1.9","get-es-imports-exports":"^1.0.7","husky":"0.14.3","jest":"20.0.4","ljs2":"1.0.3","madge":"2.2.0","nps":"5.7.1","nps-utils":"1.3.0","nyc":"11.2.1","ramda":"^0.24.1","rollup-plugin-alias":"^1.3.1","rollup-plugin-babel-minify":"^3.1.2","rollup-plugin-babili":"3.1.1","rollup-plugin-buble":"0.16.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"8.2.1","rollup-plugin-json":"2.3.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"0.4.0","rollup-plugin-uglify":"^2.0.1","xtrace":"0.1.2"},"dependencies":{"entrust":"0.0.10","f-utility":"3.3.3","fantasy-eithers":"^0.0.2","katsu-curry":"0.4.0"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","publish":"nps publish","precommit":"nps care","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"b56ada1d510542ce90737900a6630f4b75a0514e","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.3.5","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-5WzX5TqCAT2YkYuAMZxPVJbNIAxTNO/eG6af3z2sWFLDfBDwDBy97tBAJeSEij2yjLyX4MNW8s4gUailx0lnHw==","shasum":"03ead1ff793f5856f0c7afcf785a9345274c1e94","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvtrydvEFdi5CsnfwidLYVyLF1IWpADCR7H0nn7LCicAiBSvMTzPnCuunUPNb7Bt6bOYrHrTo0CKtCO1ZGKjxmcyg=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.3.5.tgz_1506911964877_0.9902532629203051"},"directories":{}},"1.3.6":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.6","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"handrail.js","author":{"name":"brekk"},"license":"ISC","jest":{"modulePaths":["src"],"moduleDirectories":["node_modules","src"],"mapCoverage":true,"moduleNameMapper":{"@handrail/(.*)":"<rootDir>/src/$1.js","@assertions/(.*)":"<rootDir>/src/assertions/$1.js","@either/(.*)":"<rootDir>/src/either/$1.js","@errors/(.*)":"<rootDir>/src/errors/$1.js"},"moduleFileExtensions":["js","json"],"testMatch":["**/*.spec.(jsx|js)"]},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"babel-cli":"6.26.0","babel-core":"6.26.0","babel-eslint":"8.0.1","babel-loader":"7.1.2","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"4.7.2","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"4.1.2","eslint-plugin-eslint-comments":"1.0.3","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","germs":"^0.1.9","get-es-imports-exports":"^1.0.7","husky":"0.14.3","jest":"20.0.4","ljs2":"1.0.3","madge":"2.2.0","nps":"5.7.1","nps-utils":"1.3.0","nyc":"11.2.1","ramda":"^0.24.1","rollup-plugin-alias":"^1.3.1","rollup-plugin-babel-minify":"^3.1.2","rollup-plugin-babili":"3.1.1","rollup-plugin-buble":"0.16.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"8.2.1","rollup-plugin-json":"2.3.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"0.4.0","rollup-plugin-uglify":"^2.0.1","xtrace":"0.1.2"},"dependencies":{"entrust":"^0.0.17","f-utility":"^3.5.2","fantasy-eithers":"^0.0.2"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","precommit":"nps care","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"gitHead":"72e91a9648bd1f27e84c4b943461ab8056bb794e","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.3.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.0","_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"dist":{"integrity":"sha512-7s1gTTQsxuvr9xgOoiqPNuMWSzhSX+UT5soq+kxYu67/4vwNjRhc3/K9LnvQDCULYNczvJDC660wGzLm/Gz/Nw==","shasum":"df4f57a7cb0ab94903557adc07b2ff0c30d71419","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEiNml0d3ft5YEEqLHcAs2w5QDloyyNwqR0L/JyBy8uAAiEAz86LPZ28nqUkAwEBuij9kEeRTW9sWOwHISm4YC1c+f0="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail-1.3.6.tgz_1516984894167_0.4933768091723323"},"directories":{}},"1.3.7":{"name":"handrail","browser":"handrail","reveal":true,"version":"1.3.7","description":"a toolset for logical disjunctions / safety for your functional pipelines","main":"handrail.js","author":{"name":"brekk"},"license":"ISC","jest":{"modulePaths":["src"],"moduleDirectories":["node_modules","src"],"mapCoverage":true,"moduleNameMapper":{"@handrail/(.*)":"<rootDir>/src/$1.js","@assertions/(.*)":"<rootDir>/src/assertions/$1.js","@either/(.*)":"<rootDir>/src/either/$1.js","@errors/(.*)":"<rootDir>/src/errors/$1.js"},"moduleFileExtensions":["js","json"],"testMatch":["**/*.spec.(jsx|js)"]},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"devDependencies":{"babel-cli":"6.26.0","babel-core":"6.26.0","babel-eslint":"8.0.1","babel-loader":"7.1.2","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"4.7.2","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"4.1.2","eslint-plugin-eslint-comments":"1.0.3","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","germs":"^0.1.9","get-es-imports-exports":"^1.0.7","husky":"0.14.3","jest":"20.0.4","ljs2":"1.0.3","madge":"2.2.0","nps":"5.7.1","nps-utils":"1.3.0","nyc":"11.2.1","ramda":"^0.24.1","rollup-plugin-alias":"^1.3.1","rollup-plugin-babel-minify":"^3.1.2","rollup-plugin-babili":"3.1.1","rollup-plugin-buble":"0.16.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"8.2.1","rollup-plugin-json":"2.3.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"0.4.0","rollup-plugin-uglify":"^2.0.1","xtrace":"0.1.2"},"dependencies":{"entrust":"^0.0.18","f-utility":"^3.5.5","fantasy-eithers":"^0.0.2"},"scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","precommit":"nps care","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"repository":{"type":"git","url":"https://github.com/brekk/handrail.git"},"_id":"handrail@1.3.7","dist":{"shasum":"3e96f417d7c34b3e9d1babb3b9f37542ab390ad0","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.7.tgz","fileCount":43,"unpackedSize":159290,"integrity":"sha512-zXe76NLGkrYXiRWcHAy8n7yTJuYRjQFt/1QEcPswEl879nhlkJrtegBnTEmTlSrn58z2XlXs0r64zfytbxA7Pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwM9/HUMk4FqpmzvVgvXjYmn6xiXrGAKMqp4rZISaD+gIgZkGoFokNyhE+864cWA/6lP8Mx/ddIp2rSjphxOGFVbg="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail_1.3.7_1518407449134_0.5298520667170179"},"_hasShrinkwrap":false},"1.3.8":{"name":"handrail","version":"1.3.8","description":"a toolset for logical disjunctions / safety for your functional pipelines","license":"ISC","repository":{"type":"git","url":"https://github.com/brekk/handrail.git"},"author":{"name":"brekk"},"main":"handrail.js","scripts":{"help!":"nps","build":"nps build","dist":"nps dist","transpile":"nps transpile","transpile.src":"nps transpile.src","lint":"nps lint","meta":"nps meta","meta.auto":"nps meta.auto","mkdir.coverage":"nps mkdir.coverage","precommit":"nps care","test":"nps test","test.es6":"nps test.es6","test.log":"nps test.log","cost":"nps cost","dependencies":"nps dependencies","documentation":"nps documentation","readme":"nps readme"},"keywords":["safety","monad","either","or","logical","disjunction","encapsulate"],"dependencies":{"entrust":"^0.0.18","f-utility":"^3.5.5","fantasy-eithers":"^0.0.2"},"devDependencies":{"babel-cli":"6.26.0","babel-core":"6.26.0","babel-eslint":"8.0.1","babel-loader":"7.1.2","babel-plugin-syntax-async-functions":"^6.13.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-async-to-generator":"^6.24.1","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-object-rest-spread":"6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-2":"^6.24.1","browserify":"^14.4.0","cost-of-modules":"^1.0.1","documentation":"^4.0.0-rc.1","eslint":"4.7.2","eslint-config-standard":"^10.2.1","eslint-plugin-babel":"4.1.2","eslint-plugin-eslint-comments":"1.0.3","eslint-plugin-fp":"^2.3.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","germs":"^0.1.9","get-es-imports-exports":"^1.0.7","husky":"0.14.3","jest":"20.0.4","ljs2":"1.0.3","madge":"2.2.0","nps":"5.7.1","nps-utils":"1.3.0","nyc":"11.2.1","ramda":"^0.24.1","rollup-plugin-alias":"^1.3.1","rollup-plugin-babel-minify":"^3.1.2","rollup-plugin-babili":"3.1.1","rollup-plugin-buble":"0.16.0","rollup-plugin-cleanup":"^1.0.1","rollup-plugin-commonjs":"8.2.1","rollup-plugin-json":"2.3.0","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-post-replace":"^1.0.0","rollup-plugin-progress":"0.4.0","rollup-plugin-uglify":"^2.0.1","xtrace":"0.1.2"},"browser":"handrail","clinton":{"inherit":false,"rules":{"cli":"error","editorconfig":"off","filename-case":["error",{"case":"kebabCase"}],"gulp":["error","optional"],"keywords":"error","license":"ISC","max-depth":"warn","no-callback":"error","no-dup-keywords":"error","no-empty-keywords":"error","no-git-merge-conflict":"error","pkg-dependency-order":"error","pkg-description":"off","pkg-engine":"off","pkg-main":"error","pkg-name":"error","pkg-normalize":"warn","pkg-property-order":"error","pkg-schema":"error","pkg-shorthand-repository":"error","pkg-user-order":"error","readme":"error","test-script":"error","use-travis":"off","valid-version":"error","ava":"off","gitignore":"error","xo":"off"}},"jest":{"modulePaths":["src"],"moduleDirectories":["node_modules","src"],"mapCoverage":true,"moduleNameMapper":{"@handrail/(.*)":"<rootDir>/src/$1.js","@assertions/(.*)":"<rootDir>/src/assertions/$1.js","@either/(.*)":"<rootDir>/src/either/$1.js","@errors/(.*)":"<rootDir>/src/errors/$1.js"},"moduleFileExtensions":["js","json"],"testMatch":["**/*.spec.(jsx|js)"]},"nyc":{"lines":100,"functions":100,"branches":100,"statements":100,"reporter":["lcov","text","text-summary","html"],"exclude":["node_modules","config","coverage","src/index.js","src/util.js","src/*.spec.js","src/*.fixture.js"],"include":["src"],"all":true,"check-coverage":true},"reveal":true,"licenseText":"ISC License (ISC)\n\nCopyright 2017 Brekk Bockrath \n\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \n","_id":"handrail@1.3.8","dist":{"shasum":"2e0862020918c9435c2d93c3eef2683c74e0da22","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.3.8.tgz","fileCount":44,"unpackedSize":161404,"integrity":"sha512-9CeekImvIREH5J+OTdLruQAZUbzrCxBtcnGhtrH9tS/MKTC77e4wWCj4GFGbImquDZPyRuosMao9kU/lDbZFdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8rCa1BedqVlGIav+tPMYbZ56Lr/g2VF+cJ/9dA3Ml/AiA4sJaIZqQ5V1pBs4TUH54XNZBXOPkwQZh0VnQ9hHaeWA=="}]},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail_1.3.8_1518775765249_0.1378445308603431"},"_hasShrinkwrap":false},"1.4.0-alpha.1":{"name":"handrail","version":"1.4.0-alpha.1","description":"a toolset for logical disjunctions / safety for your functional pipelines","license":"ISC","repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"author":{"name":"brekk"},"main":"handrail.js","scripts":{"lint":"nps lint","rollup":"nps rollup","build":"nps build","bundle":"nps bundle","test":"nps test","test-snapshot":"nps test.snapshot","test-coverage":"nps test.coverage","care":"nps care"},"keywords":["safety","monad","either","or","logical","disjunction","encapsulate"],"dependencies":{"easy-street":"^0.0.0","ramda":"^0.27.1"},"devDependencies":{"@babel/core":"^7.0.0-0","@babel/eslint-parser":"^7.13.14","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/plugin-transform-destructuring":"^7.13.0","@babel/preset-env":"^7.13.15","@rollup/plugin-alias":"^3.1.2","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","eslint":"^7.24.0","eslint-config-sorcerers":"^0.0.7","nps":"^5.10.0","prettier":"^2.2.1","prettier-eslint":"^12.0.0","ripjam":"^0.0.9","rollup":"^2.45.2"},"browser":"handrail.umd.js","clinton":{"inherit":false,"rules":{"cli":"error","editorconfig":"off","filename-case":["error",{"case":"kebabCase"}],"gulp":["error","optional"],"keywords":"error","license":"ISC","max-depth":"warn","no-callback":"error","no-dup-keywords":"error","no-empty-keywords":"error","no-git-merge-conflict":"error","pkg-dependency-order":"error","pkg-description":"off","pkg-engine":"off","pkg-main":"error","pkg-name":"error","pkg-normalize":"warn","pkg-property-order":"error","pkg-schema":"error","pkg-shorthand-repository":"error","pkg-user-order":"error","readme":"error","test-script":"error","use-travis":"off","valid-version":"error","ava":"off","gitignore":"error","xo":"off"}},"reveal":true,"gitHead":"749d6459aada263aea3008699f288d9d193f98a3","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@1.4.0-alpha.1","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-Uc0230d8UBKeXqPPd24eK16zRokBc842Ae5mpVhvGJgUYDohzsSoV647zCsCUaQ64BhHB3UzJ1PyWhPaHiIdNw==","shasum":"37963647f3bb798e5ba69dfdf9b7597b0112773c","tarball":"https://registry.npmjs.org/handrail/-/handrail-1.4.0-alpha.1.tgz","fileCount":8,"unpackedSize":63812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg82GTCRA9TVsSAnZWagAAu8YP/2mCqTGJdILlexg4aGs+\ngcPMrtJ7sI+iW9Prpl7YCLe5PJqa44PGxccoKAlqtbINrbJnhbLOXNog0p7w\nKCcaocEAjlXfKs60LqToUmrLije2wP5K/4SZD+WLqCM1v2cy1ETAF4iM4TK1\nyxeQW/NgB7qZKARN4eE1buyacUqtplKpyA2Z3yPYVWEFDb8wVBWZ0x57L2IN\nZ00l06XY4eT2Hx8lKY/PRlgBuIcB/jJS6QpnzGfliYkLRCZj8o7kMgHICkOm\nvRHGIgux+jw2/RYDWVcpgW/LC0cuB8D8fa2+Bc1Hx+mzTYgIwe6KFOX+/FF3\nS3J1nM+ZKKISSfTGXHex4dAhy/8Ck2CZBdRx95f7yuhg8PZ6SIP2u6wMhHAZ\nDUBYCofaNUaQ0Eme4ZWQOXfqsW6fsl8gcEyy/UnGlpqo83GYRxlTiirCoeCF\n5FZ1DRbXnqH72h8k9Ymt/YJdmWPAfkhm7URWZJlh4q7TGDU7xkMElEZAa0r/\n4V53Lo/mB6/dfT2xJp+9k86XEaSR8J/ECm9SRgoHjtT3UKfxhzKzNh+0IYT2\n/SJb2SSvFKiPeT74+kwQkOSGwJ21NCAknQbr1NUnCEdYqTtENtRYSXVYrZpk\nitokWb6tiTveVDVaO9dEC6j57ab+uOaHiby8LSoivrbUB3daJiV+FNv2J7Mw\ni6hm\r\n=31Mv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdecxfBo8tcwBd2gYUXSF0GOswCHRYbsDhUfj6gclGSAiEA7RDAbtigSlRVx/yuk/F5GUkcv5frq5yqnd31PneQPR8="}]},"_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"directories":{},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail_1.4.0-alpha.1_1626562963730_0.012630215137864997"},"_hasShrinkwrap":false},"2.0.0-alpha.1":{"name":"handrail","version":"2.0.0-alpha.1","description":"a toolset for logical disjunctions / safety for your functional pipelines","license":"ISC","repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"author":{"name":"brekk"},"main":"handrail.js","scripts":{"lint":"nps lint","rollup":"nps rollup","build":"nps build","bundle":"nps bundle","test":"nps test","test-snapshot":"nps test.snapshot","test-coverage":"nps test.coverage","care":"nps care"},"keywords":["safety","monad","either","or","logical","disjunction","encapsulate"],"dependencies":{"easy-street":"^0.0.0","ramda":"^0.27.1"},"devDependencies":{"@babel/core":"^7.0.0-0","@babel/eslint-parser":"^7.13.14","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/plugin-transform-destructuring":"^7.13.0","@babel/preset-env":"^7.13.15","@rollup/plugin-alias":"^3.1.2","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","eslint":"^7.24.0","eslint-config-sorcerers":"^0.0.7","nps":"^5.10.0","prettier":"^2.2.1","prettier-eslint":"^12.0.0","ripjam":"^0.0.9","rollup":"^2.45.2"},"browser":"handrail.umd.js","clinton":{"inherit":false,"rules":{"cli":"error","editorconfig":"off","filename-case":["error",{"case":"kebabCase"}],"gulp":["error","optional"],"keywords":"error","license":"ISC","max-depth":"warn","no-callback":"error","no-dup-keywords":"error","no-empty-keywords":"error","no-git-merge-conflict":"error","pkg-dependency-order":"error","pkg-description":"off","pkg-engine":"off","pkg-main":"error","pkg-name":"error","pkg-normalize":"warn","pkg-property-order":"error","pkg-schema":"error","pkg-shorthand-repository":"error","pkg-user-order":"error","readme":"error","test-script":"error","use-travis":"off","valid-version":"error","ava":"off","gitignore":"error","xo":"off"}},"reveal":true,"gitHead":"1bf969e56fe5ae297b82e69d57d5230da914e057","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@2.0.0-alpha.1","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-VlonDiARWCqKpVuaMms2mBS9EUU27wb/IPQLD7abf3vEp+1FsF/7XQM5FzmHuLbeGLDjheXUi2Ap6m0BzklqVg==","shasum":"2bb3363b2191ab21431f59f77570e047eaa1742c","tarball":"https://registry.npmjs.org/handrail/-/handrail-2.0.0-alpha.1.tgz","fileCount":8,"unpackedSize":78800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg82MuCRA9TVsSAnZWagAAK0cQAJzfq2KqYsKHh9fwAzqn\nlB/2biVYfBpWJycaxKAMVA+gofSgLmEzMnw8qPXDBPKXXbOGbwAXLvmpVyXR\n+vT4Fzi73ts5QTcthczC0wMziQpbPy2CPIP6xDpyxZBqvnEIeHrzuZrSK6rK\ns4nbM2Xp7gUcQuiDOk9xzlnh2ii6eKsOenttAnWuPV8VUBC0ktQxzlyAswvr\nihQ+j6oxayJ/2Nb+6Yj5NBnpZBGkFx3E8EALUooWny/zEu+cLbzJkhUeadqh\nQc1WZvR7085zUiIE68iU3drptzR9kt8+mLYVq6TavToI/K693gN+Q7F+1e0t\ngLFuwA/QX1VaViJpoVCnZ9/k1OSuT5pgpe2TdGjPdxUtuCV6YtvQEjPx443d\n56VlkYZMKiP95DRj74tXqxZgI/JpZBMYD20CrAnbKaWufHUv58+Wp1ymxh+l\nq63/4AjHZ5SYVttGg6oWZ63V+M/3rMg0FqEfpiUhe2nuiCGkvyDlNSfVxOar\nNhXv/DzFyESLTjoXhm1N+6nBaKd4go4T6i+FyJVmI+SInrWBVxi1nr3eChhL\nq5f71x5j2w+EseA+aEnsNuq8Xu90sMGcwoAlm00JQu3f5mfP334LDw9HtLwS\nQd9f9K8M5hUkIGfnsjBN7YJxhImv4BasrgUgpaJNcQh1ZCnFDAeZUT/FHd20\n0dt3\r\n=ox3o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICZYt58P4DmfZJxBBubsmHdfn7V4mr35Mwx+dzOLMiELAiEA3shRxOkQ0rzagLeo3RwQ/GJs552yJGwaVrnm2tt8fSc="}]},"_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"directories":{},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail_2.0.0-alpha.1_1626563374129_0.8731515796814882"},"_hasShrinkwrap":false},"2.0.0":{"name":"handrail","version":"2.0.0","description":"a toolset for logical disjunctions / safety for your functional pipelines","license":"ISC","repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"author":{"name":"brekk"},"main":"handrail.js","scripts":{"lint":"nps lint","rollup":"nps rollup","build":"nps build","bundle":"nps bundle","test":"nps test","test-snapshot":"nps test.snapshot","test-coverage":"nps test.coverage","care":"nps care"},"keywords":["safety","monad","either","or","logical","disjunction","encapsulate"],"dependencies":{"easy-street":"^0.0.0","ramda":"^0.27.1"},"devDependencies":{"@babel/core":"^7.0.0-0","@babel/eslint-parser":"^7.13.14","@babel/plugin-proposal-object-rest-spread":"^7.13.8","@babel/plugin-transform-destructuring":"^7.13.0","@babel/preset-env":"^7.13.15","@rollup/plugin-alias":"^3.1.2","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","eslint":"^7.24.0","eslint-config-sorcerers":"^0.0.7","nps":"^5.10.0","prettier":"^2.2.1","prettier-eslint":"^12.0.0","ripjam":"^0.0.9","rollup":"^2.45.2"},"browser":"handrail.umd.js","clinton":{"inherit":false,"rules":{"cli":"error","editorconfig":"off","filename-case":["error",{"case":"kebabCase"}],"gulp":["error","optional"],"keywords":"error","license":"ISC","max-depth":"warn","no-callback":"error","no-dup-keywords":"error","no-empty-keywords":"error","no-git-merge-conflict":"error","pkg-dependency-order":"error","pkg-description":"off","pkg-engine":"off","pkg-main":"error","pkg-name":"error","pkg-normalize":"warn","pkg-property-order":"error","pkg-schema":"error","pkg-shorthand-repository":"error","pkg-user-order":"error","readme":"error","test-script":"error","use-travis":"off","valid-version":"error","ava":"off","gitignore":"error","xo":"off"}},"reveal":true,"gitHead":"8a3228223935c9bb8f14ccaf092e3e46eb2288a5","bugs":{"url":"https://github.com/brekk/handrail/issues"},"homepage":"https://github.com/brekk/handrail#readme","_id":"handrail@2.0.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-iNHsgo2LU0ePOuPPicS9Mwb11bBF02vFFPm78lYkZUN6ajJLncWmo3aM+M++uNjkN2TM2TdNXum/2JJbh/qlmg==","shasum":"bde3ff0c82c65842218390b41611b31bc6b6d023","tarball":"https://registry.npmjs.org/handrail/-/handrail-2.0.0.tgz","fileCount":8,"unpackedSize":78792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg82RACRA9TVsSAnZWagAAI5YP/R9OE4ZtEbk9REZajXbY\nhibvuy6do1Yiz8is6w1Z+iJxfo+muoedxjq9A13ywRM49x3L+PaYf1iKK5Xf\nQUEae6SfwlOncV2RH9CLGxxBdstzxB0CbyjbMpUIyc35tBZuqLixwf+ghiCo\n6y2jEIhWMuKPDFnrGUzQokVb1qlDyu8oX4L7JOQ6zCkQDVgM/BrOzi/UDRgz\nQa1AdJhG9ZKVgIrlSXGeQCWNa3Nw4XAUTXEN+KeI7YETWZY9eD74Jjy1CZ7V\nIDY9HNMRLYeLJaimkcrfmTHVKUviaVR2nnJtDe/UObpB1unFoy/6A+1KGE1/\n3ttFHNr9YM4VP9bm7fm4KnZCefG99Ux4J6poMakyDKgHffH4EDRg84qD4FJG\nyZcDkvyzvKgrgJlaOHS8j3DPDA0xrAW9+XW4gjvtHlx60YX8/0ZxKymITbmj\n2uktGGhtiGO6xGyJLRFuaG4CqGN2XVyWSBuH2wvkGpVy0yQgkAKn9u01j/RS\npCu/rtnzrm6sWYwCkQQMPtL5zh/IjAEiub+k4Ud4rWbc6R+3Iw9lh+VsU+t2\nb3ONrKxnlK/dNRDD7DZEcR/hT2FT91K90i7zAqldfOR8kaj1We5wM98sbPMQ\n7reUb2fwZnadaVfK/1V1BSaw6tQbY6lEV0BnAg3kE7tHhsfeNyxerNUuwhW2\nRbms\r\n=Yh0+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVd/qBrWslt3ASgRHGDbTfVG0vXMO+1nGf9LY7MMeWfAiEAi/Le3sG9lmKK6GRnTrDbJ4VTipIj1uc8iVKb/8qEmgA="}]},"_npmUser":{"name":"brekk","email":"brekk@brekkbockrath.com"},"directories":{},"maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/handrail_2.0.0_1626563648579_0.08895062062339831"},"_hasShrinkwrap":false}},"readme":"![handrail](https://cdn.rawgit.com/brekk/handrail/56db4bd/logo.svg)\n\na toolset for adding safety to your functional pipelines\n\nPlease read the [accompanying post](https://codepen.io/brekk/post/3c7f65946d644e17ef37d30a9ba4cd15/visual-function-composition) for more in depth explanation.\n\nThis utility adds [logical disjunction](https://en.wikipedia.org/wiki/Logical_disjunction) / [railway-oriented programming](https://fsharpforfunandprofit.com/rop) to your functional pipelines.\n\n_NB: See this file in a runnable form here: [example.literate.js](https://cdn.rawgit.com/brekk/handrail/56db4bd/example.literate.js)_\n\n## Install\n\n    yarn add handrail -S\n\nor\n\n    npm i handrail -S\n\n## Use\n\nHere's an all-in-one example where we can make an unsafe function safer while not modifying the original:\n\n```js\nimport {guideRail, fold} from 'handrail'\nimport pipe from 'ramda/src/pipe'\n\n// here are two potential error cases\nconst over21 = ({age}) => age > 20\nconst hasMoney = ({cash}) => cash - 5 >= 0\n\n// and these are the cases we pass to the end, before folding\nconst growUp = (user) => `Expected ${user.name} to be 21!`\nconst getAJob = (user) => `Expected ${user.name} to have at least 5 dollars!`\n\n// here's our original function, which has some errors in its assumptions\nconst bartenderOfIllRepute = (user) => {\n  user.cash -= 5\n  user.beverages = user.beverages || []\n  user.beverages.push(`beer`)\n  return user\n}\n\n// here's how we fix it with `guideRail`\nconst bartenderOfGoodRepute = pipe(\n  guideRail(\n    [\n      // add safety for age!\n      [over21, growUp],\n      // add safety for cash!\n      [hasMoney, getAJob]\n      // add more!\n    ],\n    // alter the Either value\n    bartenderOfIllRepute\n  ),\n  // this just pulls our value out from the Either (see the [fold API](https://github.com/brekk/handrail#fold) below)\n  fold(I, I)\n)\n```\n\n## Example\n\nHere's a contrived problem that `handrail` can help us solve:\n\n1.  Jimmy and Alice want to go drinking, but Jimmy isn't of legal drinking age.\n\n\n    ```js\n    const resetUsers = () => ({\n      alice: {name: `alice`, cash: 15, age: 22},\n      jimmy: {name: `jimmy`, cash: 20, age: 20}\n    })\n\n    let {alice, jimmy} = resetUsers()\n\n2.  There's an unscrupulous bartender (in the form of a function) who doesn't enforce the rules.\n\n```js\nconst unscrupulousBartender = (user) => {\n  user.cash -= 5\n  user.beverages = user.beverages || []\n  user.beverages.push(`beer`)\n  return user\n}\n\nconsole.log(`=== example one ===`)\nconsole.log(`alice goes to the bar`, unscrupulousBartender(alice))\n// {name: `alice`, cash: 10, beverages: [`beer`], age: 22}\nconsole.log(`jimmy goes to the bar`, unscrupulousBartender(jimmy))\n// {name: `jimmy`, cash: 15, beverages: [`beer`], age: 20}\n```\n\n3.  But we're part of a team that's trying to crack down on unscrupulous bartenders, and we'd like to use `handrail` to solve this problem.\n\n```js\n// import {handrail} from \"handrail\"\nconst {handrail} = require(`./handrail`)\n\nconst ageAttentiveBartender = handrail(\n  (user) => user.age > 20,\n  (user) => `Expected ${user.name} - (age: ${user.age}) to be at least 21.`,\n  unscrupulousBartender\n)\n\nconsole.log(`=== example two ===`)\nconsole.log(`alice goes to the bar behaving legally`, ageAttentiveBartender(alice))\n// { r: { name: 'alice', cash: 5, age: 22, beverages: [ 'beer', 'beer' ] } }\nconsole.log(`jimmy goes to the bar behaving legally`, ageAttentiveBartender(jimmy))\n// { l: 'Expected jimmy - (age: 20) to be at least 21.' }\n```\n\nHey, now we're seeing an altered behavior, but why is this `{r/l}` object wrapped around our values?\n\nThis is an `Either`; it's either a Left or a Right. In either case, when we wanna grab a value out of the result, we simply have to use `fold` from 'handrail' to get a resolving value.\n\n```js\n// import {fold} from 'handrail'\nconst {fold} = require(`./handrail`)\n```\n\n`fold` takes three parameters. The first two are functions, the first is invoked when the value is a Left, and the other is invoked when the value is a Right. Finally, the last parameter is an Either (Left / Right). This is a curried function, so you can specify what to do as a resolution well before you have an Either.\n\n```js\n// here's a simple one\nconst logOrWarn = fold(console.error, console.log)\n```\n\nNow we can tack on this resolution value to our previously-error producing function using `pipe`\n\n```js\nconst pipe = require(`ramda/src/pipe`)\nconst ageAttentiveBartender2 = pipe(ageAttentiveBartender, logOrWarn)\n\nconsole.log(`=== example three ===`)\nconsole.log(`alice goes to the bar behaving legally, round 2`)\nageAttentiveBartender2(alice)\n/*\n{ name: 'alice',\n  cash: 0,\n  age: 22,\n  beverages: [ 'beer', 'beer', 'beer' ] }\n*/\nconsole.log(`jimmy goes to the bar behaving legally, round 2`)\nageAttentiveBartender2(jimmy)\n```\n\nOh! Now we've added age-safety to our bar!\n\nHowever, let's say that we've spotted another issue with our current function -- it doesn't care if the given user doesn't have cash to cover the beer.\n\n```js\nconsole.log(`=== example four ===`)\nconsole.log(`alice can go into debt with the bar!`)\nageAttentiveBartender2(alice)\n/*\n{ name: 'alice',\n  cash: -5,\n  age: 22,\n  beverages: [ 'beer', 'beer', 'beer', 'beer' ] }\n*/\n```\n\nSo, rather than continuing to make Alice more drunk and more in debt, let's call resetUsers:\n\n```js\nlet soberUsers = resetUsers()\nalice = soberUsers.alice\njimmy = soberUsers.jimmy\n```\n\nAnd let's see what we can do (relative to our original unscrupulousBartender implementation above) to add both age & cash safety to our function.\n\nWe'll use `rail` and `multiRail`, which will allow us to add more than one assertion / form of safety to our original bartending function:\n\n```js\n// import {rail, multiRail} from 'handrail'\nconst {rail, multiRail} = require(`./handrail`)\n```\n\n(NB: This example leans a little more heavily on an understanding of `pipe`, which is described in more detail [here](https://codepen.io/brekk/post/functional-workaholism#function-composition-7). Simple example: `pipe((x) => x + 5, (y) => y - 7)` is the same as a new function `(z) => z - 2`)\n\n```js\n/* for easier recall:\nconst unscrupulousBartender = (user) => {\n  user.cash -= 5\n  user.beverages = user.beverages || []\n  user.beverages.push(`beer`)\n  return user\n}\n*/\n\n// we need map so that we can alter things within the Either value\nconst map = require(`ramda/src/map`)\n\n// let's establish our basic expectations\nconst usersShouldBe21 = ({age}) => age > 20\nconst usersShouldHaveCashToCoverABeer = ({cash}) => cash - 5 >= 0\n\n// and the errors we have\nconst warnYoungsters = (user) => `Expected ${user.name} to be 21!`\nconst warnWouldBeDebtors = (user) => `Expected ${user.name} to have at least 5 dollars!`\n\nconst cashAndAgeSafeBartender = pipe(\n  // add safety for age!\n  rail(usersShouldBe21, warnYoungsters),\n  // add safety for cash!\n  // multiRail is identical to rail, but should only be used when rail is already being used\n  multiRail(usersShouldHaveCashToCoverABeer, warnWouldBeDebtors),\n  // alter the Either value, so wrap our original function in `map`\n  map(unscrupulousBartender),\n  // convert our Either value to a string and print it\n  logOrWarn\n)\n\nconsole.log(`=== example five ===`)\nconsole.log(`jimmy is rejected for being underage:`)\ncashAndAgeSafeBartender(jimmy)\n// Expected jimmy to be 21!\nconsole.log(`alice buys beer until she is broke:`)\ncashAndAgeSafeBartender(alice)\n// { name: 'alice', cash: 10, age: 22, beverages: [ 'beer' ] }\ncashAndAgeSafeBartender(alice)\n// { name: 'alice', cash: 5, age: 22, beverages: [ 'beer', 'beer' ] }\ncashAndAgeSafeBartender(alice)\n// { name: 'alice', cash: 0, age: 22, beverages: [ 'beer', 'beer', 'beer' ] }\ncashAndAgeSafeBartender(alice)\n// Expected alice to have at least 5 dollars!\n```\n\nFinally, to round it out, you can use `guideRail` to automate the above process:\n\n```js\nconst {guideRail} = require(`./handrail`)\n\nconst cashAndAgeSafeBartender2 = guideRail(\n  [\n    // add safety for age!\n    [usersShouldBe21, warnYoungsters],\n    // add safety for cash!\n    [usersShouldHaveCashToCoverABeer, warnWouldBeDebtors]\n    // add more!\n  ],\n  // alter the Either value\n  unscrupulousBartender\n)\n```\n\n### Changelog\n\n-   [1.0.0](https://github.com/brekk/handrail/tree/v1.0.0) - initial commit\n-   [1.0.3](https://github.com/brekk/handrail/tree/v1.0.3) - added null safety\n-   [1.0.4](https://github.com/brekk/handrail/tree/v1.0.4) - started using `katsu-curry`\n-   [1.0.5](https://github.com/brekk/handrail/tree/v1.0.5) - added `guideRail`\n-   [1.1.5](https://github.com/brekk/handrail/tree/v1.1.5) - reduced total size\n-   [1.2.0](https://github.com/brekk/handrail/tree/v1.2.0) - modularized codebase\n-   [1.3.0](https://github.com/brekk/handrail/tree/v1.3.0) - updated dependencies\n-   [1.3.3](https://github.com/brekk/handrail/tree/v1.3.3) - fix exports\n-   [1.3.4](https://github.com/brekk/handrail/tree/v1.3.4) - swap to jest, update speeds\n\n### API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### handrail\n\n**Parameters**\n\n-   `assertion` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** a function to test the input with\n-   `wrongPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** a function to prepare data before it passes into the Left path\n-   `rightPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** a function to modify after it passes into the Right path\n-   `input` **any** any input\n\nReturns **(GuidedLeft | GuidedRight)** an Either\n\n#### rail\n\nAdd safety to your pipelines!\n\n**Parameters**\n\n-   `assertion` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** boolean-returning function\n-   `wrongPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** function invoked if the inputs are bad\n-   `input` **any** any input\n\n**Examples**\n\n```javascript\nimport {rail} from 'handrail'\nimport pipe from 'ramda/src/pipe'\nconst divide = (a, b) => a / b\nconst safeDivide = curry((a, b) => pipe(\n  rail(() => b !== 0, () => `Expected ${b} to not be zero!`),\n  divide(a)\n)(b)\n```\n\nReturns **(GuidedRight | GuidedLeft)** Left / Right -wrapped value\n\n#### multiRail\n\n`multiRail` is nearly-identical to `rail`, but should only be used if `rail` is already in use\nThis is a useful function if you need very granular control of your pipe. If not, you should\nprobably use `guideRail` instead.\n\n**Parameters**\n\n-   `assertion` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** boolean-returning function\n-   `wrongPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** function invoked if the inputs are bad\n-   `input` **any** any input\n\n**Examples**\n\n```javascript\nimport {rail, multiRail} from 'handrail'\nimport pipe from 'ramda/src/pipe'\nconst divide = (a, b) => a / b\nconst safeDivide = curry((a, b) => pipe(\n  rail(() => (typeof a === `number`), () => `Expected ${a} to be a number!`),\n  multiRail(() => (typeof b === `number`), () => `Expected ${b} to be a number!`)\n  multiRail(() => b !== 0, () => `Expected ${b} to not be zero!`),\n  divide(a)\n)(b)\n```\n\nReturns **(GuidedRight | GuidedLeft)** Left / Right -wrapped value\n\n#### guideRail\n\nEncapsulate error states in a simple structure that returns a Left on error or Right on success\n\n**Parameters**\n\n-   `rails` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;functions>** an array of [assertion, failCase] pairs\n-   `goodPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** what to do if things go well\n-   `input` **any** whatever\n\n**Examples**\n\n```javascript\nimport pipe from 'ramda/src/pipe'\nimport {guideRail, fold} from 'handrail'\nconst identity = (x) => x\nconst rails = [\n  [({age}) => age > 20, ({name}) => `Expected ${name} to be 21.`],\n  [({cash}) => cash - 5 >= 0, ({name}) => `Expected ${name} to have cash.`],\n]\nconst bartender = (user) => {\n  user.cash -= 5\n  user.beverages = user.beverages || []\n  user.beverages.push(`beer`)\n  return user\n}\nconst cashAndAgeSafeBartender = pipe(\n  guideRail(rails, bartender),\n  fold(identity, identity)\n)\n```\n\nReturns **(GuidedLeft | GuidedRight)** an Either\n\n#### bimap\n\n**Parameters**\n\n-   `leftPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** do something if function receives a Left\n-   `rightPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** do something if function receives a Right\n-   `either` **Either** either a Left or a Right\n\nReturns **Either** the original Either, mapped over, but like, with handed-ness\n\n#### fold\n\n**Parameters**\n\n-   `leftPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** do something if function receives a Left\n-   `rightPath` **[function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** do something if function receives a Right\n-   `either` **Either** either a Left or a Right\n\nReturns **any** the value from within an Either, pulled out of the monadic box\n","maintainers":[{"name":"brekk","email":"brekk@brekkbockrath.com"}],"time":{"modified":"2022-06-18T18:55:57.855Z","created":"2017-05-29T21:47:00.913Z","1.0.0":"2017-05-29T21:47:00.913Z","1.0.1":"2017-05-30T04:29:31.801Z","1.0.2":"2017-06-05T23:49:18.469Z","1.0.3":"2017-06-15T01:16:57.865Z","1.0.4":"2017-07-09T13:57:14.763Z","1.1.0":"2017-07-09T20:13:36.550Z","1.1.1":"2017-07-09T20:45:29.204Z","1.1.2":"2017-07-10T03:05:30.086Z","1.1.3":"2017-07-10T03:13:05.188Z","1.1.4":"2017-07-10T04:44:36.533Z","1.1.5":"2017-07-13T01:31:37.864Z","1.1.6":"2017-07-13T01:44:30.533Z","1.1.7":"2017-07-13T17:06:40.905Z","1.1.8":"2017-07-13T17:11:47.092Z","1.2.0":"2017-07-20T01:59:13.674Z","1.3.0":"2017-07-24T18:29:12.201Z","1.3.1":"2017-08-04T16:08:53.183Z","1.3.2":"2017-08-05T16:59:37.585Z","1.3.3":"2017-08-05T17:10:51.450Z","1.3.4":"2017-08-11T03:52:26.312Z","1.3.5":"2017-10-02T02:39:24.972Z","1.3.6":"2018-01-26T16:41:34.282Z","1.3.7":"2018-02-12T03:50:49.222Z","1.3.8":"2018-02-16T10:09:25.382Z","1.4.0-alpha.1":"2021-07-17T23:02:43.866Z","2.0.0-alpha.1":"2021-07-17T23:09:34.299Z","2.0.0":"2021-07-17T23:14:08.751Z"},"author":{"name":"brekk"},"license":"ISC","readmeFilename":"README.md","repository":{"type":"git","url":"git+https://github.com/brekk/handrail.git"},"keywords":["safety","monad","either","or","logical","disjunction","encapsulate"],"homepage":"https://github.com/brekk/handrail#readme","bugs":{"url":"https://github.com/brekk/handrail/issues"}}