{"_id":"@arrows/composition","_rev":"16-b7aa1745f6dbb1710d106b4cd7d6fb35","name":"@arrows/composition","dist-tags":{"latest":"1.2.2"},"versions":{"0.1.0":{"name":"@arrows/composition","version":"0.1.0","main":"lib/index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","prepublish":"yarn build"},"devDependencies":{"@types/jest":"^24.0.18","jest":"^24.9.0","ts-jest":"^24.1.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.1.0"},"_id":"@arrows/composition@0.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-VZVDaRgpTIgKIu9zmLjbTZnhK5Gb2TBzLzmKYvas5iXFvtzw9aufwM5CKkB5TgoY8f5AjScpD1S7xfXRFF5CRA==","shasum":"6fa9314e857311bff28f177b6b46b19c052b0861","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.1.0.tgz","fileCount":12,"unpackedSize":4522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgDC0CRA9TVsSAnZWagAAZewP/2x3BBS/9bzXlNnQDBJq\n86Y5hkBbGUDShnoghrJb5cHWc4+9JwWdLP4owuQW7qLWWjMKiteUjoT2DlJd\nF9Pun/6Bj3DY9OLxI+PxDIK3pU4Bt3pLGgAapo7NxK2O2YJIJUTyto8zxoiP\nFL56bDU5ZJsDbbdEmKKnsxAXdUblKZU19exviTevAhvsPZOPaKyuy1+YoNj/\nnrFdyd9W/0pX4KKf2zE0HUzxyqhNyMbpuXsjX/0amjBfuTXkpdSxdGjAY2FH\niPaBdNnJTrdh9lw+j7PPpkVQH8/Zys59IajvZoHysA1qXA/t1SVai6c4CgYB\nTvVRwxJjK5iljr+axR8B9Rk0tJtOlH+LF2TIRUptiF04hyD7T1NAX4o0rPrK\no/qMhpZ9ASjSAymZgqcN+QoeClhE7OEwh5V8CKakbp774v0vHIHr5BdrWVa3\nP1Ogt7VfWHDKRRsARJjdY20mS7HirGSdK+442qPeUUOBAZReWrJyQABY5VuG\n/qwoJ1InWJbZx1KZLqtF9cmdrtSlHrHpmQe7SLyAWRK3/u8BGvkwN7/hEp0n\nuDE05TjacdKLITd0U/b4O4QsbVao8UWB4lDUkOenrwoFseYWRU7gBs955QjQ\ncFgvuXU8DvFeB7SCH2g5hs4crVJW56SVuy/7ac02NfvXT+rdbGXKn+gD7OCP\n+jvM\r\n=mKbi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCy2HoH/F9qIlPsulP7Oc7Ga2YHu1w5B0r/rVhlAJJ0EQIgVBKHGVJ/Q6Q0ULudIgJrPqQO1fiOy7jbZhOi+uTAXsc="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.1.0_1568682163790_0.39964000816356493"},"_hasShrinkwrap":false},"0.2.0":{"name":"@arrows/composition","version":"0.2.0","main":"lib/index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","coverage":"jest --coverage && codecov -F composition","prepublish":"yarn build"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.0","jest":"^24.9.0","ts-jest":"^24.1.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.0"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition)","_id":"@arrows/composition@0.2.0","_nodeVersion":"10.16.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-RheDym2PPY5WBVgbKjeEv0MSBgq4RZQJzK0smikBcREwT2uFjQ8jlTqa9LDwQJ/u5vjFXYd/UkFuBueNqZb4KQ==","shasum":"11c4fc6ab204c97fe6c79d1d8394831eca411ea3","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.2.0.tgz","fileCount":36,"unpackedSize":13436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhY4cCRA9TVsSAnZWagAAlPIP/R6hKy95DCDDwzJjaSLM\n1oysXLTI4bVzc+Dv39JhDHENzw0dmyi80KI4yQY2G8u53RWi7s10J7vZzu+V\nH9csRAB1OE9qgHc5WrUJcHbdhLVdQdvmsRT3uCTOIuYYebrVA4FLWTBy768r\nq0f3rlSPl00CTXRsymYVAXahxoTvoH9XdYPS4NKWM/kVFMVOhj4edquRoVRO\nvoLVuLyE+z6VbnrCipELGETFZmOrDe+CXI63uwmMh25bGq78ox3EpF+iDiG/\neXGLrxCr39hubkmrRvDG8qtmrfZeSEwNhba125jVgbmWmuvh9o1jyhxroYS4\nCrGbXOxJAFJ0kL2+3r7F6gFY0+JDnLbVg+iwOtaBGnLSbuBsqPhcAbpWH86T\n43CvQbI2tq/JWaJnlAveVy/3lMIXiNquNtt00o5CdQa4f837tINF/39498MO\ngCMTYv2ftIZYR0hh4l7qr4rRURDKg/pPrNemweuwXDhr5jDa2gHUOgWuUPKB\npmuwHG0JTQps6yrFP9uAENPvAW68EqgUGmN9pmwFBcYTjbG9OwGu/RVjTQM/\nQadLF7wL/8qYV9R/+kOonw33V64fNd4msQgL7aiUdhlouAUzN9exG/cVtIVT\ndXN34xmxXijHf8rDcL0fvZFJNHmtccxoD9XTQL0eUj/Qk3iTh4YkSjWdD1AI\ntAgs\r\n=MPAz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNnQasy78TrO1KvQsKgYvb7qINxk02wQFzVp1/dQMS8AIhAO9JNMrDJRLBNC2slVbG3jLzLsLp2nmtJChMUmZlnYmJ"}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.2.0_1569033755551_0.9021088180382717"},"_hasShrinkwrap":false},"0.2.1":{"name":"@arrows/composition","version":"0.2.1","main":"lib/index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","coverage":"jest --coverage && codecov -F composition","prepublish":"yarn build"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.1"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition)","_id":"@arrows/composition@0.2.1","_nodeVersion":"10.16.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-43FsRcesON9d+tLQsvM5Ac5ZIhqjsIaj1/1tXnPbQqf7X7est7vlKA7+pGSdxIZdmO/X0WJWtpHutzRH769xxw==","shasum":"4693333c01c7bf0f6bb507e590547ee7ecf0763d","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.2.1.tgz","fileCount":36,"unpackedSize":13436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhZYaCRA9TVsSAnZWagAAm3QP+gJeFsH5WRSfJRNgo878\nNmYsS6mkOfL/sNHUMan25f4MT3voEcUCRruw5xNcWS7Qcdj+rrAP+c1SrF7p\n+h8fMeszIBTXH0dw+IOp/RjAqXxu965qKLYVyy9b+HakRehFPdTTfgSZ1/r8\nZpfEX2KWZbwmRoLSR/1ujC4jpEutWhcHr8lou5rdQI94afbitDTr0KcHJDCU\ncKnohcIJHz6Ms1vpTVd1vn/EaHhWOrxM4Y3HGpHuaTRasWz00oTvX2M+SXEA\nxud+Y5ci1nep/jTAuazlgvJ+qRg/bgMJbGcB6ML3yawbAI8zj3vJCrVfMhZP\nLWJICrHF2/fmSwPV4t8p6QWgU9VsTBJO9HUmhG5g4P5bRGEo5ZLis9H5ywxc\n/kVUAjxWtSMbCMqkCXBUN8jJxOJOORhK1gxsc+vI8GSo9nr4ARyj36GhjVi1\njssH3Ha12C9idzaI61Ai0gicJ3ZYo4T1IpfV+aoLxtWHHeqXQYOLR5UwbEEd\noJTb/k+qMdtiRXlKKZ2rr0M9WPV7wrP8mAXwwUoqiyco/Dxp2wSdsyi5sYJ6\nPLOwtrgANQ2xIaUz3QUW7fduxiWkKuB8mhqagEeM8B8NS+NwUSBC7Rp0lm3B\nkEexmbEcxVbfbZyw4MVU4pm5XK17En92KJxZiC4Q8eIxGZLruS7OTPbO1Y8j\nHCqn\r\n=WfbH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFkXmecxEjUY5zJc3HF9sEsAhGfW0eFGYZvd2Bx9BLN0AiAe36erAU2jtPKm0AmXzD0J+r3heVR3sztYzjINd8/FjQ=="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.2.1_1569035802236_0.9889241642907454"},"_hasShrinkwrap":false},"0.2.2":{"name":"@arrows/composition","version":"0.2.2","main":"lib/index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","coverage":"jest --coverage && codecov -F composition","prepublish":"yarn build"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.6"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition)","_id":"@arrows/composition@0.2.2","_nodeVersion":"10.16.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-K076R6Y4esho+vPwYIUKCOTZr052IvBwazNcwYljqDMlqfWH1GwSeKGnbmHSfEHIHasonvK1y+23P8mBHR/XZw==","shasum":"51f3dd32f0dd0f104151a13b070a98dae7fced40","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.2.2.tgz","fileCount":36,"unpackedSize":13929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhlocCRA9TVsSAnZWagAAnV4P/1glmx/SG/l6eslxh215\nNuzpd+MHqtR2vfYk5x/wsaCAmUx3ta0GnyOy7hZjHUDWqy3S8l0ZJYRFfgIi\ntYLB3XC8kBAw58TCPxbJw8OretJ1kAEXXulKn6riDLE+DUwuMpOtxaClNsB7\n7j6wB4k1/WzQ1xZIs0CfUb+Oe9txL6TbPSQ+8Bto4YJd5woNWSMIbntlVsyo\n0TT0U+tiV8DavW9epEgO6ZnjY8UOyXkBEKuC7o1ytoAYOGKeWjFmHoH9zFAD\nBwwUvgvENB+ulOzMnMdWzqgsgt0+N7ABIwsZAO2wntBXQY4F0WLtl/AM8njM\n0TC5Pm3JVLSaCx8NSss5WLr8tnGtkuwpG5QIabBFmTP/4q37MFBfPW7m+oAX\nlRapX6Yfhg7VPI3MXrRx4glyf/i6oO5S2KyrV90sQzwtnwtVdKkmjIPID1c9\nIIGrTiyACRlOUiqf+ArmfK6Vov1ACeInj9eJzvRkXHmJCvHGFkkoUhth3/4j\nUgCNrn2zyC2IGbzUpsySOga2G1TupfybulQ84OYclUgMKnaPs69XerPWjSaN\nBzGLw57RsUbVojmH35g/XkpCM6Co6/Na8cmVcy4SerhOU3i88sNHvAvrtgt7\nqMHFNVvTyDbAH8dIFiusbOQxkNFpWdfFSu43ll24fog+WAR5HPLMlxRddTrd\n7LKc\r\n=fH1m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/j1CDzrQOaUS0YyNvkqgruqz5ORoipmASxpD1nQlVrAiA6HzR2koHOLxjo1rFEdqv1sfxDvH5LM+ng0vSae6Ygig=="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.2.2_1569085979468_0.5687704768748763"},"_hasShrinkwrap":false},"0.2.3":{"name":"@arrows/composition","version":"0.2.3","main":"index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","coverage":"jest --coverage && codecov -F composition","prepublish":"yarn build"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.7"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition) ![Codecov](https://img.shields.io/codecov/c/github/caderek/arrows?token=c6adb715d638431786fef","_id":"@arrows/composition@0.2.3","_nodeVersion":"10.16.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-pQz/XGHb8nDdhfIsUC7yXUcEou1mAHR4MYkntESnhp4s9G8oIzo/6Rul00dgApGF+BRw1p5Pol9HrAVanPtESA==","shasum":"11f3db2d6269cba08895a35914481974437b4be5","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.2.3.tgz","fileCount":54,"unpackedSize":18603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhmPnCRA9TVsSAnZWagAAEn0QAIHgyDjGShrf5Ey+Bh6v\nz8tL/wtJeAFDtzbt9fFAP7Rgd76slyvREQg1hCaDqrqvBMI4wUCRnbbVwULh\n3BPiUGLllOozhJ2vagqzD5mMKtsgsM0XD/azC8TtPtyxF6ikXmdJCkim08dj\nAxh9Jl+bW9G/JAES2hjGLrjp1QXBjPoDhmdIfEgIhmxek/LRgtx1q+d/cIXL\ntYg2pHkiVHIS/FDmLgIBJzOY1+LbPcq9y6q+FteohnLWEny0r3MDBS7Kx2vU\nwtxh8tPSUohr32tJFLeA009fC8HnCnMDs4nFAiI70DRREFFUSvfMoXf8JumQ\nJkFKrF9FQQc1V+dOybPreNQSQVKX4hUzCyeOclgMyihK1RK13XvIwyWV8dc/\n0PoBsVMSVxpETGZweQcpKf8tH2m51A4F6h5Q/Mffxfxvgkk7eppfvy1CrvWr\nS8AbCSjyphOvVzPh0AiaBhxTrVDb7MsppzBIISoLVx1IoGAs19f5NOZleUYI\nTbOonN/9U7Scbp9yYIJA60NzaobkvSEUuppna3RhHrJjMxXf+4GzMFnWP56y\n0vNAoewZNHjajutUWHFRA/gyOwkfjH3x+3ghKE1bzARBzHah8z+M9ai5lh2v\n8B13UaBlmHFTqnU5CbjjW7ozLLjZ//l6eLDrCpcDqNh8IGsY4UMidf0mqgEv\nCOdq\r\n=7dfb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKEJAnoFndKczbSzPvE8xJOPnA6kfLg8AAXthVIuDzkAiAPetdRPVS+ZcffRbpLHYaDzoCSrUd1jiHr1aa3WMw0JA=="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.2.3_1569088487250_0.8103020912558656"},"_hasShrinkwrap":false},"0.2.4":{"name":"@arrows/composition","version":"0.2.4","main":"index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","coverage":"jest --coverage && codecov -F composition"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.9"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition) ![Codecov](https://img.shields.io/codecov/c/github/caderek/arrows?token=c6adb715d638431786fef","_id":"@arrows/composition@0.2.4","_nodeVersion":"10.16.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-ObEDbuR0c8UF/92qMawhAREU+AG83GTSCEerQHVKF+HJ/jd9PlqanHymAwuTVebMfcstI6EwTjnmfYk0s5XdXg==","shasum":"329aeae54454cc52184fadaf9802b1073dda3c7a","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.2.4.tgz","fileCount":36,"unpackedSize":14091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhmXkCRA9TVsSAnZWagAAxqEQAJBMLyByWAF38x5ZJX7d\nXET1U9WY7eexDbCWH6eM3XRHTo9C+Qt1Jqxc1xQpzfIHEBs9Ii1plXwFJ5Nb\n3AMhZza3/dZC0nEzCGGlyVD4cvrP9rU/TVrgvdtuwGzFHgVwHrhqHCkl9peW\ngQ+Obeh/i1Rp54xhIBDWZnXCbGlY5v/yuMIS8O6xX8CtDKIuZ9P1qefz5Qbk\nwK29AkeIi0WaxBRCxYfQHrD3943mxEtbtV+WHUj7T7BqkeNnMQ+/8eswD0BX\nBvEtGNbIuVKwBd2DiPOc19YL/Kn7aPlz8Zd7XTGr0Y8+RPXa/+TcoAmQDVVu\nb42ZB46rWJEhZdq7ZEHHLNV3qqMZthuWpI254f3Mg7cgc/qySiGLL2Wbktwl\npX4QUAnQKc7AFHvAOBuitsj3qIPKoK8lpP7eWB/OBc16A2sqdM7HJ0sIiHQB\n+suFgaYHBnhhm53zHFkZG+w01BLHm2NAcb8/43M4MRXCxXvKrQsSMnc3L43c\n9vFeS/5xoGCk0UDZZCi/S8ry3V37QP8pJJXZtoPQm9bf39CrrcSMrx4fXI1c\ntduqF84D2oloXcwwpgq2qX6YCwWNr05/nmmPdmLXCmsN/yPIbBg+w721pLFF\njkj+y1mmWhdxBr1yvXa0rWQTUz5SHfr1swYXorb3z6m7cNMxzuKxgFdlkia9\nStw/\r\n=NgJq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBI8qx3l1pBufP/qjzIkc+YYGQrRGPojxSiAuES8xIX6AiEAxZvps5Q82ypiTJim1KY7Sku65OBhm4vX6iJrc4NiPzM="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.2.4_1569088995858_0.6829619652976331"},"_hasShrinkwrap":false},"0.2.5":{"name":"@arrows/composition","version":"0.2.5","main":"index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.9"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition) ![Codecov](https://img.shields.io/codecov/c/github/caderek/arrows?token=c6adb715d638431786fef","licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@0.2.5","dist":{"shasum":"246679fe2f23f144fa62452920642d46ce84392a","integrity":"sha512-ZJ2w5HPe+yIi0gx8qUKRPMYjoEf1TM0cY0eo073D12LnUuyRBGnfcsPOhIxa2sMcszP5iLr2vi865yO1gi646Q==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.2.5.tgz","fileCount":40,"unpackedSize":14278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdhtaPCRA9TVsSAnZWagAAxCEP/RGAqRCrcEyWt0oElDjB\nJMvNuDHDw9t/vqGbw1Fr+ngRDLrERTkapRkZFYnd2O3WKdwGZPh83SYxg6At\nph5NgIm7ikp0ndIBjg9sgC8MMz1zM8MXc3X++8LvC5SDAL0hZH4U2WNisyef\n688pbrEDJwKwUu6pQ9AcoSLo6Kz1uypn/Vld/ACgTAfiC4WupV1ldCBheZWz\naxYh3sm8Ifw6qnB6Y5yVCO/nplrfe1ZeL6q4hgk1uc8GSaGwlSwsP/193aKY\nr4BWhTwLUTHChbDLtNsym8zQfR6XEM8bQVLuG4gsa4lu8Z7v0b6XMXwm8oDg\nlPWta314Ic0XprgFuwaXumJmn890NI+Mbk6Dpc6ExyZVruOzF9PSOMiMbUFN\nivMbR1LZFX0xgUWfLe5QrO+AfCx8Z5uJyiI87ya1AlrxMFIsrASL/AzeCPIU\nvmE+BQnS8/Q5TpKzxoQtW8ABunsDngJTg6Zc8mp4YwDeoTJooVVprG9RGkC/\nrjXgDdMzUCKnXYCApHSeGMRf9pwC63D60Q21VFkenbKvmLSWQxUadcYBSc8j\nUNhfdl0TZ46PqX/2aW7UgiDjbwu4rNQ3qR1deNV/LcNZg0g0yRvJPg+YrXuB\nJYVc3EvfhdXFSM6rWCB+9RztJvTW+AR1LaNoyYDV/HhfGargtVMbFm5QQ6dj\nRJdj\r\n=KNzf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB48504/y4fHRog0R2z+QtGuMFxDYx16nOg+xRvCf4zcAiEAkCcUxuWSGcFP3/QfeI+FJhOzWL9aOYQ66X3b3Dlojpo="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.2.5_1569117838432_0.19900113273372022"},"_hasShrinkwrap":false},"0.3.0":{"name":"@arrows/composition","version":"0.3.0","main":"index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.9"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition) ![Codecov](https://img.shields.io/codecov/c/github/caderek/arrows?token=c6adb715d638431786fef","licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@0.3.0","dist":{"shasum":"b35f617366f3afc37e7cc7a81a8a8d8256a842d1","integrity":"sha512-JCbtF/z2SW2dsC5VodfhehUZuWZTJ1hNwcFATWuRMUhQt5GZd8ruz82AudBhf7Wu2V6L74/6UlBrzkynVmIoGQ==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.3.0.tgz","fileCount":46,"unpackedSize":17931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp5NmCRA9TVsSAnZWagAAgoQP/AwBh6SsZoYSIiFeCyVz\nNfn5ByiyQsHeXpWB2MGI4OPRxalCQ/I3b/DwKrpBszlqQbC3ExJaf89W643S\nH/ohBv4rNmhMyBX66S7vBSj9zdYNBgS52GlhX0QJNXd/xg6Tzh5x94+zpOwJ\nE4NAB9osUvlu3I6Hf5B02KzTT4pkaci98lxgxL/GSgsp2yuUf7//6j7odubg\nLEaGtcXXZUaCYR4OPLX3mylMyUx3qr0NQAiEpCS/t2D+tVMJOkfZjomotOAO\ne/xT9vbDDeL57oeTgHPQ4vfLyCds6BlqBWHaMZTu34ri1UuiwrBHC7rT/doX\ntzt5g/fqDcVQPuVkNm/t8uI5ZSk/AKopRzFXFewyeD2LvZOX/JlaZLw4Tlx9\ngg+o3hV3ume8apt7D20zgPrrQUgtxMVSCD8nq7idymjQRFQeKVBfjjVeBxuf\nxzJBJOu4ASdmhTwH4VZJSKkXJNtibP0hGOKUF2O9M8nx07xPUDoBGXM9hYis\nYQBmT1ud8ufeUywy2g6t0szjAvEgnGesVpYR+34kuRouhmjfV9Q8juEa0Ovl\nLdZSlh0HyGqrRgnFC6JgYD3gjuJogVHvyKY5edjtCMimha5aMIQN6xYFvVlX\nj7j+MLWnzR/xaU9KZjCqN3FN/d7q3FMMyggxtUlsUlWZxYBzjwWYjGU80zhJ\nh0JA\r\n=RTrq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUWjpNFqhioElEbmE9k7wcaQZI3JC2a6pA5iSir2dvoAiEAsUinHfom/6CUJR4RWt2zjgUjiM5wxDX7etePfKkULEQ="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.3.0_1571263333577_0.12806186898451322"},"_hasShrinkwrap":false},"0.3.1":{"name":"@arrows/composition","version":"0.3.1","main":"index.js","license":"ISC","scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"dependencies":{"@arrows/array":"^0.4.9"},"description":"![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows) ![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition) ![Codecov](https://img.shields.io/codecov/c/github/caderek/arrows?token=c6adb715d638431786fef","licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@0.3.1","dist":{"shasum":"6a50eff8b02acb5aea8adc280b41a022d9557f8c","integrity":"sha512-VJA/KIZhRl6Q3o0U4/32TE0Dt1KFND1cnB41U2e5NbpQRH3mBL/YquwmO7CqxnbiA2P+McWuezVLABDrGXVKQw==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-0.3.1.tgz","fileCount":46,"unpackedSize":18185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp9luCRA9TVsSAnZWagAAMWkP/RxV8ZkelI8mfNLelj0s\nQqI9Y3r7rizP/mnReDMOm4rElKqL2D9s9jZB/SnrDscYxxhlOZY5Rv0vajLk\nhdjAYbcThW8F99fWSyW7/0QuleIQVa5jJzWpvTtK7oaTHmXI7lwMeog4jodi\nvU+gPHyqge9YX7Z2WAHVR2aL6pG7lDK6IA/gYASWVor1MhtjweTQGtQ8UtV7\n28Nat0aL2cW4npon3oRvlaOn+Z9hNRzH179R8+PEivD7SYFz4T3+VsGWGwhi\nErGiG2x2wW+DFyG8YwpK4RZd9oiCHUJm5HER4/MgcMxPrktJAb2gNuqpiJnR\nmvYxVs6Yb7l2zo7YoEgO6HsaAAdGn2Ezsfwp4V+bBjzNb4z7D+lCeMnoiGV6\n+zGC7CcnG/DuHr7tdfczmMIVs2gn5AlSlyJaprcOBkoqB6QFtJfRR0b91rXN\np/JPEPJt3to62KuXtaEXoj21MtuPafWiA4pQuLcxxSBfQPC8qL8n7wnKKzI/\niiFU2PICcFh/ZLCdzxRPahK0rKuF5Rn5x44DFSjG8Her1zVYM8EeJaYp/H2+\nGjcMZpM1HAecM2PBvupAKrN7PxC1ccKrQzDgwxklUncdZrelOywgW9qP5LcC\nVCX8ELlMaKUA7sKFwhZl57jiuSLQOHDSwYMIExz7OpKfdCC2Evy2TR8nH1sH\nWddv\r\n=h2Hj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH7dHWNFkiisQQIgGHuTag9bzv8EPtDD3L8kZVqkXGGbAiBpbItzlR4DUvBrUE/UbNRZ1WgmaFN5rLqj5eBaLDJq4A=="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_0.3.1_1571281261415_0.05020029115014446"},"_hasShrinkwrap":false},"1.0.0":{"name":"@arrows/composition","version":"1.0.0","main":"index.js","license":"ISC","repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"homepage":"https://caderek.github.io/arrows/packages/composition/","description":"Functional composition library","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"author":{"name":"Maciej Cąderek"},"scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@1.0.0","dist":{"shasum":"8f285fbdd96d42229a0a7689da661b8b5ff52c14","integrity":"sha512-6Lzg41Pkwf2JrJfnMsgDH8tnJ/KL4yXuxPZr3qnCqMSF7cEWDjXBuBh+ShmNNb0O8Ou/Haf0wqIj9GwuVHwoaw==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-1.0.0.tgz","fileCount":78,"unpackedSize":42900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrTJKCRA9TVsSAnZWagAAKAEP/Ru7w/gy/xjQn76Au7DH\nV73WWNZrS/vsHKkuP4Kukm2l1z+tFXkCG0cFQBJtOFLcq9Aqm+TD3OYLeV5J\ns0vQ2iRZ1k8t5/fhSJpN4el+8nZdjX6EO1vHYODcRAoWgCSSg6KLvLvesFqR\nN0S9i2fLv3o8tVLtEvRSAOoYVaC3gNrCBGPYTvodGmA0TRmIgX7GmSDCqbaM\nhjzNE7JTmClJ9XsgEmD2wn6AUtA4bxpAAhsByyHMFcrCco3KS4rGOS14/UFh\nmdmX7M8tAtzGoDyfDd5DIJZCvRI1yL9q1+dhL5Qh1QhLIJINvLCRx20nkLCL\nKAzmLd3yIp/DwnZWNZef9/r+yh62x2fd/sW0Ql3FATIVf2VGhHZMyqoreg4F\n7lntRBU8ziOchnRWlOLuwBS0bjEonyOvp49YL7hVXEMZpUQ9U5MAkqbn3SZN\nSRGWe6abltWbYQNtyo/C8eez6dhjYQPljqg20fvh5d5b558Jg7ReHoCj+s9c\nEFR9xyjOTPBWE8KDyYoWh0vTL7WJHxl1nRwHd50Ir5kzfUaz3Xl3XoVizd/w\nxCpoUOgchAy9PvJVD9TbrVHg9PIEkdPQTiZfq729/usKzos3kQ3zykZJWHF2\nByd6sAYBDXQ2Dd6poop/Lb50nI8qpvc3FBO31UcFyjkTSGyXYYB3OrFjEtTD\nhEDU\r\n=JoJI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC4KFgTgl6Dk/NRMiRt2MgFzIyuYrL4AQstseJqQpfoWAiAzcPQDbMdJcHYOAUHcXCihubPJKNUnUC2lib+cfW6Beg=="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_1.0.0_1571631689441_0.9269114769052071"},"_hasShrinkwrap":false},"1.1.0":{"name":"@arrows/composition","version":"1.1.0","main":"index.js","license":"ISC","repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"homepage":"https://caderek.github.io/arrows/packages/composition/","description":"Functional composition library","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"author":{"name":"Maciej Cąderek"},"scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'","typecheck":"tsc --noEmit"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@1.1.0","dist":{"shasum":"e62761ab251eeb318b9d592994a0f963d1faceac","integrity":"sha512-oaFodsRQh4WJZP9yAgwd2oS8qp+mAIf79aUtftmQRMIxXZasr8ej7037KW+TZNn1N/dkSjrDcSthErMKL2nGIA==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-1.1.0.tgz","fileCount":78,"unpackedSize":44559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduOndCRA9TVsSAnZWagAAK9UP/33knyiu+KC64TmnixI1\nl4L8y7h1TyG289AxMsB10sBevdlfsyPXLscDUEQFTRhczdUgyyWdycAV007x\nDia/PW2Ucz+PUjlEPK5sfmeD2RyvaSQWCABWQd7oaxhpsYrk2QYMulOqL4MO\nBCCZNn5/w8P928EgonYDumZZ9eSF+MJWDp3DvTGkSyCD2+BdaghYxn6e5cYK\nmYlyBkuVdqsvhJg3x+HtEwWBHLvW5kUADOyEeq0XxI+qUPnr+5e2UDDE0LLD\ncxrYuNLXB302LCd8KUzip+CadnYq3DroQ+9UC39tz485MNgR4trweTdd9lCr\nIk5yES5F9qRvP3gZJ+OVHY4sr9/1QYwWpO8y5jhlk1pzd8XYgXmnNpeZZ0NB\nqhh63T5fF/bXOLbk7ejXY5V2l8nkDAS/V0Xi9ERFIYBGuakvfrzAfGA3gPvi\nh1HCGe+nD6h9cACITux628lJFz1VwPg1lo0MHuhFoIbRGCL/bTZzQEf2G81O\nCyHV2vBgL5ouZ05o2ph9utWTjpvK97Z0blIe894xHMuksgWZ9TqHkm/7WKeC\nPsyiduzIh7Sfvt2/Ij3YLkHNnt7W0zd6WWA1aO/QueNikSR3zdMerBjPySFu\n1FDsdoJlJQAkT/KfbJQu6px3g0kYgjLKaeiSAJZAZy5I4oQgCW5iT3dXsecY\nGRdi\r\n=FYm2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBOl+gDhHhOLegFldv/z421GEHyQyq7Kf5PctN6lG2eHAiB5ZLL02PcFpRuvrYesEGgqSd96nnVRj+/HngCO7i8btQ=="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_1.1.0_1572399580842_0.970597601965963"},"_hasShrinkwrap":false},"1.1.1":{"name":"@arrows/composition","version":"1.1.1","main":"index.js","license":"ISC","repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"homepage":"https://caderek.github.io/arrows/packages/composition/","description":"Functional composition library","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"author":{"name":"Maciej Cąderek"},"scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'","typecheck":"tsc --noEmit"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@1.1.1","dist":{"shasum":"d46f0c4e13219d7c862781e02fe3b1564458fad9","integrity":"sha512-W3/sVvpn0TtVRZNd0frK3IpJIIAxLaiCPLQlzItGdlti5XRAjoET7mfxhLCvnT/Qi5IE+O0KDq4p+cNkmHdCcg==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-1.1.1.tgz","fileCount":78,"unpackedSize":44615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduOtTCRA9TVsSAnZWagAAZTsP/i2DqMn13bHW4TERDzsg\nvN01NlHz1oO3ZTcSRyhoAcjzDZmszWeT+/CECjDi/iTHvlVm7uWTS9OgknKQ\nSoqgmfgFv07eLiqkLjc1uEHNQXDiD9WYaDfgTJLd25DBTQXguLQvzrcX/zhA\nX1NNAlBO2iCqKXjEWk24Wu/JJojAVTiWDwwVcUhIYEj5JHYUsJrnntF4lk2x\nawhuPZVBhnaABwLzSMUMqD2G/fbbmAd0T1nfFrWVZ01lSiaH3Jy2/a76f9Mj\nTl1lBw3Q9woh76ObTOuVR1lInCkqhjjeHU3utbkRLrtyETl/mTFX7fFneZcl\ndA2bL/WwjvopQb+mr3JEVyno02c9/D88PcQR65/V9TeBnbnykDwhymeIMtTl\nDEnSgLlIumf2hGCSv44gHtEwI14zqiLNjAseZn8R5LbgB7N5tplaMDBr6vBC\nmd/2eFP+K0aNDEaAgT1lUl0KdS53+e3Cx2xrN5edmjj4zxgGWmAPqvjm3z0D\nCTEiVrShcBmgUGFTLTS8GDxdhWzgijQUOwCqRrejA0fmM++9F60h/3BOOhVA\nveXLw3lShkaijWFUD2UEFw5ZszQyitlp/t5m7HMKPSa06a2gkWr+wOPdYZm0\nl5p41o1X18JJ1ZN3acw/W5yV8joY36R8lKlFdMpzYGwZiDiO+oVVsNx9Ykho\nC3gl\r\n=KrbY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3V96UzuDNv8emW8x9BKQKV+pZ84GbenoLOhWfq53q2gIgIpmh/ZJDrGKyuzuB9crT1Lby7uh1zv8tNLzbZbFmdMw="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_1.1.1_1572399954906_0.5525502648541616"},"_hasShrinkwrap":false},"1.1.2":{"name":"@arrows/composition","version":"1.1.2","main":"index.js","license":"ISC","repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"homepage":"https://caderek.github.io/arrows/packages/composition/","description":"Functional composition library","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"author":{"name":"Maciej Cąderek"},"scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'","typecheck":"tsc --noEmit"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@1.1.2","dist":{"shasum":"a284d1c802ffd5f7de55f3adc74c55ec95c29388","integrity":"sha512-0j7KOs6Ig58bQzjbxnU1mpnznMcxxvliXzTUIec+sGzCi3o7SY2TVi7VQyD2owTRmiwRYreTj+zTmX2rky9/LQ==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-1.1.2.tgz","fileCount":84,"unpackedSize":73325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvN2/CRA9TVsSAnZWagAApJMP/35jQRCa1S28r6RWTRx8\nVKhlwMiQ74ZQwv3/SCxsw06rI5vz+1DBk45l9APXccSMlHx0m14EQ72eVrd7\n18SZT3wDjq0ybqJpoHAc/ftU5fwoA5mqeTu9QjywsrDIFUGvgdH0Qg+949dk\nMKca4JJqhuThEzojGZUwixosVi9OcjmDABMTvTW8+xVjZF9pDr2s9gccC2dC\nm3NsKOYSiImlI2U0D56dUtkd2vYRKP+Ol2KFBuPIG4Ck6ery7EVwp69UnjSs\nDjYr9DArF7yqlLvYbwSNd04iWd/Bvy9owDbMQ2Hk/Qq1YRBsF3TZ3UaPEAjo\nPwClXcx0eyhvTqZTnapUEp+MFF0sh5HnmE8tEQMa/A8YFo5wf9Qr3OJ3rh3c\n509ZyRimxmJdHCh28VTJ27EWE+6cspOpN7RlrUizu3BJu6jvnlXQbTkJtKrv\naQui3aPjNjMKHHPBUopRpwCck5FtoM75zHM2ZcacfEZjSJA/o19gw8WTUnY8\nq2bnr6Zvc1kDfTs7fg6ivoK8PKckmorV6La+JPozQeLFLu1lTu5JXe+y3YIR\nIX3FEIOR0f575jwCVhSOD8plR4XjRP/zSM4D3cb8Aqg18reqMlMTYE4539ML\nYRUXdpY5GBMfiIQcaz87zzv+zIKZE/JQdhvDJdTbIHvRLAOiDaGZ4As6+OKq\nzYso\r\n=D4fn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBVIfh3OBOTvq/KJ8bRIZ/Q6llKK8L/S96629tuhbgPwAiEA0hEh0/a74/1EqdQZdL4V2mQnX787JOnFYFBs+pYx7O4="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_1.1.2_1572658622918_0.40174441338758426"},"_hasShrinkwrap":false},"1.2.0":{"name":"@arrows/composition","version":"1.2.0","main":"index.js","license":"ISC","repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"homepage":"https://caderek.github.io/arrows/packages/composition/","description":"Functional composition library","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"author":{"name":"Maciej Cąderek"},"scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'","typecheck":"tsc --noEmit"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@1.2.0","dist":{"shasum":"7e443ceee897f35e90710277296713e412483a8a","integrity":"sha512-AD2IdXTJFFyuJj13ecpglmwWGXP6dcfRstUtZnEAZDjaxX8jAAUGgsgQvxEq79vG/HAjLTJN39Kg/y7QS4KcbQ==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-1.2.0.tgz","fileCount":90,"unpackedSize":89630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwbYfCRA9TVsSAnZWagAASaYQAKDLK5xoOgb8OuNXxcTl\nlPsggwD90i9n9hyNklJ1ahRvRQCRa8QMY3jmOtTUygg5WrNCg9JFrpGXlCRj\n2gSJGozpMziSK+qAD/CjYANlw586aPniKzciFmsL3dzPbtu1ki1xBqOPC7Gz\nZNutYEmNG1cJ26wSA9ZzPJUuOkvryAj/x3yW5ftBaED1Anq1QbAg/sLC8H17\n/L4loZ0qxILYCv9qM+bfmgMOEIVJ+QnK7Q0IkPWPKNy1wdkymhYnpfnT2BPV\nuyD7TtMZP9y0ZwM+RN7dbcXdpx2A/rjQYetTCPVO8mwZOAM+gqqeDnAUlnfJ\nbg4dM0h/MXB2L2FVDACdbbvuuSbLQ3NLfU83MbcH1VtJGHsmbzRCQNi5C/IT\nNXcNWA6GiuCW7/PCwQLa1EFK2KFoj118x8rL75++WHUQ5GUDMI/fiEh/1omW\nRWcwt+kwUkde+0v60TrcwTlwOy18ao0C5OAhTCdQOeDWxjFdL2b55RkGiJqE\ngW6ZiyAeIIz0Mq5lIj/qPqeVt3Y45QASVP/2K6jvnvDYcO4w0ThpyvjLYvxx\nn1yAY4bAb3giEu9DKPxGo60L3CmMrzDOTzWIieQw5KeGF/2z1+55oPTrMeYh\nOeDqfksj6IhyLwFcYllxY0SwimqqTEmJoVUS+XbIM3fkeTa5nUok2wYKfUzf\nmQGs\r\n=qszc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbuXdUU8QgCyyuGNpsC+Bn1nk0/gAit5zTPNjLB5DEJQIgNPjuxeTFSRVXL8MkHwSdB1jZWM36jjTiwl25AS6OZGc="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_1.2.0_1572976158584_0.6355550932632514"},"_hasShrinkwrap":false},"1.2.1":{"name":"@arrows/composition","version":"1.2.1","main":"index.js","license":"ISC","repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"homepage":"https://caderek.github.io/arrows/packages/composition/","description":"Functional composition library","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"author":{"name":"Maciej Cąderek"},"scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'","typecheck":"tsc --noEmit"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^24.9.0","ts-jest":"^24.1.0","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","typescript":"^3.6.3"},"licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@1.2.1","dist":{"shasum":"6b386ae7a5d7f66f0d473e89a64c180b701823ce","integrity":"sha512-dLO+ZnvbtU55eIO+m9nRMpzM8ZQuawOp1qaSNlZnjHNQlbLfetdb1kxXYI33JIliE8Sf3vSFWX+JTYvEI3TKmA==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-1.2.1.tgz","fileCount":90,"unpackedSize":89694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwbjPCRA9TVsSAnZWagAA0z8QAJLJ1OXiA8pje8n5deHC\ndxkDsDJod358rJcDrxOMbv0DGPcp/YlgTXzuSTa4X2jdPJDYB6PxeFnhyjZM\ndX8yPI59QiVks4RVCFj4bwOMOXd+Bu65Lt0Gw+eepW2Qxp7PH0hjlntdpKSP\nfKG8jnI158Oz3UsoI9WItPycd2wNBrjeswPo4qZnjLlOqUeCDRwtaCHXCQ3M\nbIBhrgAqfdFCRNnS2Ebxc3UE0F+L5qP56LKyjr+FYcoCo7P6Rb8GLUUDd83S\nu0vE6s9GQdzHUX7ZJlDV1LGyxoWQ2v+m8VggfV00kCmyLG3w/Q/4/DCMN5ie\n8lYfZKNvqHlaYoaXS21NTLfg7vL0aW/+8mjEpnRE1lenGiA43LSFcnVbhdy4\ns+305pTCLMdJWWqmEYeiLM1HWhDA086DLVqh3F8IvTbRzK4pA4t1pT+BULMd\n3M7Ath0TtQTL52Bv53O8mmtOstSnb1XJhmz+kwz5m+/TyuFntaZQ9tEyWaC1\nNaKgGzsY76WfNgEwuqT9XYBOI/2Frulj1AexfKb8Ul56cQvYSXhqUgPUOglO\nrwZaur00r6h1LXP16npM2x+thfq9/KQNCxiAvEo1EuIowPNncyW/1HAPKnnM\nS1wtbfTO6MC5/fCVi2Lp1HII9+pVNUYE/1VCtQaVRNC2AhM+Bhw8iMSJt6gq\nT/j9\r\n=B3Rk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmu/qFkfnddaF+Am6ylOYSXxOeu6tk5Q1UGsTSr8N8OAiEA1UCpQJXiQcYNhge8hBWeu/QYe+m7rvEKfz6oXNaLLoY="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_1.2.1_1572976846845_0.6339936162679176"},"_hasShrinkwrap":false},"1.2.2":{"name":"@arrows/composition","version":"1.2.2","main":"index.js","license":"ISC","repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"homepage":"https://caderek.github.io/arrows/packages/composition/","description":"Functional composition library","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"author":{"name":"Maciej Cąderek"},"scripts":{"build":"tsc","test":"jest","prep":"node ../../scripts/prepare-lib.js","coverage":"jest --coverage && codecov -F composition","lint":"tslint -c tslint.json 'src/**/*.ts'","typecheck":"tsc --noEmit"},"devDependencies":{"@types/jest":"^24.0.18","codecov":"^3.6.1","jest":"^25.1.0","ts-jest":"^24.1.0","tslint":"^6.0.0","tslint-config-prettier":"^1.18.0","typescript":"^3.7.5"},"licenseText":"Copyright 2019 Maciej Cąderek\n\nPermission to use, copy, modify, and/or distribute this software\nfor any purpose with or without fee is hereby granted,\nprovided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,\nOR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\nDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\nNEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.","_id":"@arrows/composition@1.2.2","dist":{"shasum":"d0a213cac8f8c36c1c75856a1e6ed940c27e9169","integrity":"sha512-9fh1yHwrx32lundiB3SlZ/VwuStPB4QakPsSLrGJFH6rCXvdrd060ivAZ7/2vlqPnEjBkPRRXOcG1YOu19p2GQ==","tarball":"https://registry.npmjs.org/@arrows/composition/-/composition-1.2.2.tgz","fileCount":90,"unpackedSize":89727,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKKkWCRA9TVsSAnZWagAATiwP/02DnTf16b1flXQZJDxI\nQUXhjC0j+P6IUehP6W3EYMdA9ZnS1d/+P3g8XqLnrC99ofXM8ddqzVmucbfh\n2SbQysI1rKslEN8Ymcr8kOmKkEDz44L0/BJOd1ACngnRkewcO2AJt6HNwPcy\nZa1jUwYxRtUAjfHP1tOaaoqkq9hwd0y6erwJGUnIwj82he9IPDXz2CHnfIGJ\n3Ln610Z6D/TwQdTkBa/a/Tbzia8uQhIIc3eFJUfMgii0Cp8lN+T4QrtIgvV9\nBt57pbGp0lRtVJ0rx6ZVsBjevou0UUHPi6lSDMjgQb1w0O/NdwUt0EUNSkEx\nXZqtbRgvE+AZ7fK1fwC/89iYICVl+crtzTVwt+Y/v9Uv04gNoSrr8CIjVGSE\nRy84cgc98h1xPogSx8Tan0gY8yoaTe8MWQsvrVVAGEn6LeoApHPb0zRzSKiG\nNwAiISCxwT+qzdexx9r99gsph6rWW1NSplqkFIsIF0+eRJ7XtHw9w6DHmp1W\nrysDpwnD+EKAW9dO7maMAXIUNKbkwfHpAzg9u4tM0VWU2xBrloPArL+V9M6A\nxU4GC2sDBCgW6AQONlp1vGg0hUH+T0INrKk2YhK7Mm7BBWQxPA5EJwJxv8WH\nSzOIkThCydsOGKmcKgo75ONJk7DGf1LZ7mPPstcr0yG3WPZVykDFLU5KoLFc\nyC7z\r\n=UjoE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCE3KL0bYyiqDKWA51iYwYJVK52C2iVuSv60sR9jytLMAIgbE9iYWY3i9lGbJE2XW94D9hg7XamE7tYLrfQtP4OYuo="}]},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"_npmUser":{"name":"caderek","email":"maciej.caderek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/composition_1.2.2_1579723030287_0.43029195039910273"},"_hasShrinkwrap":false}},"time":{"created":"2019-09-17T01:02:43.565Z","0.1.0":"2019-09-17T01:02:43.939Z","modified":"2022-04-04T15:35:16.210Z","0.2.0":"2019-09-21T02:42:35.641Z","0.2.1":"2019-09-21T03:16:42.364Z","0.2.2":"2019-09-21T17:12:59.611Z","0.2.3":"2019-09-21T17:54:47.387Z","0.2.4":"2019-09-21T18:03:15.974Z","0.2.5":"2019-09-22T02:03:58.566Z","0.3.0":"2019-10-16T22:02:13.743Z","0.3.1":"2019-10-17T03:01:01.513Z","1.0.0":"2019-10-21T04:21:29.573Z","1.1.0":"2019-10-30T01:39:41.016Z","1.1.1":"2019-10-30T01:45:55.064Z","1.1.2":"2019-11-02T01:37:03.088Z","1.2.0":"2019-11-05T17:49:18.805Z","1.2.1":"2019-11-05T18:00:47.000Z","1.2.2":"2020-01-22T19:57:10.392Z"},"maintainers":[{"name":"caderek","email":"maciej.caderek@gmail.com"}],"license":"ISC","readme":"![arrows - composition](https://raw.githubusercontent.com/caderek/arrows/master/assets/arrows-composition.svg?sanitize=true)\n\n# @arrows/composition\n\n![npm (scoped)](https://img.shields.io/npm/v/@arrows/composition)\n![CircleCI](https://img.shields.io/circleci/build/github/caderek/arrows)\n![David (path)](https://img.shields.io/david/caderek/arrows?path=packages%2Fcomposition)\n![Codecov](https://img.shields.io/codecov/c/github/caderek/arrows?token=c6adb715d638431786fefe69ca08ab00)\n![npm bundle size (scoped)](https://img.shields.io/bundlephobia/minzip/@arrows/composition)\n![GitHub](https://img.shields.io/github/license/caderek/arrows)\n\n## Table of contents\n\n1. [Introduction](#introduction)\n2. [Installation](#installation)\n3. [API reference](#api-reference)\n   - [chain](#chain)\n   - [chainRight](#chainRight)\n   - [compose](#compose)\n   - [curry](#curry)\n   - [pipe](#pipe)\n   - [pipe.now](#pipenow)\n   - [rail](#rail)\n   - [rail.async](#rail.async)\n   - [railRight](#railRight)\n   - [railRight.async](#railRight.async)\n   - [tap](#tap)\n4. [License](#license)\n\n## Introduction\n\nThe library contains a collection of higher-order functions for composing your applications with reusable functions.\n\nAll chain-like functions are manually chunked (segmented). It is a deliberate decision (to not use automatic currying) to allow a function to accept a variadic number of arguments in a segment, which leads in my opinion to a nicer to use API (and is faster as a bonus).\n\nThe library has **built-in type definitions**, which provide an excellent IDE support.\n\n## Installation\n\nVia NPM:\n\n```sh\nnpm i @arrows/composition\n```\n\nVia Yarn:\n\n```sh\nyarn add @arrows/composition\n```\n\nAll modules can be imported independently (to reduce bundle size), here are some import methods (you can use either CommonJS or ES modules):\n\n```js\nimport composition from '@arrows/composition'\n```\n\n```js\nimport { pipe } from '@arrows/composition'\n```\n\n```js\nimport pipe from '@arrows/composition/pipe'\n```\n\n## API reference\n\n### chain\n\nAllows you to build your own, chain-like functions\n\nExecutes provided functions from left to right, passing the result from one function to the other. Accepts a wrapping function which can execute additional instructions before executing each passed function.\n\n#### Parameters\n\nArguments listed below have to be passed separately, as segments.\n\n- `wrappingFn` - two-argument function thats is responsible for executing each function in a chain.\n\n- `...fns` - an arbitrary number of one-argument functions to be executed in a chain\n\n- `initialArg` - initial argument, passed to the first function in a chain (through a wrapping function)\n\nArguments of a wrapping function:\n\n- `fn` - function in a chain\n\n- `input` - current value\n\n- `isLast` - boolean flag indicating if a function is a last one in a chain\n\n#### Returns\n\n- Returns a final value.\n\n#### Interface\n\n```\n(wrapping_function) => (fn, fn?, ..., fn?) => (initial_value) => result\n```\n\n#### Examples\n\n```javascript\nconst { chain } = require('@arrows/composition')\n\n// Create custom wrapping function:\nconst wrappingFn = (fn, input) => {\n  console.log(input)\n  return fn(input)\n}\n\n// Create reusable chain-like function:\nconst pipeWithLog = chain(wrappingFn)\n\n// Create concrete function\nconst calculate = pipeWithLog((x) => x + 1, (x) => x * 2)\n\nconsole.log(calculate(0))\n\n// -> 0\n// -> 1\n// -> 2 (final result)\n```\n\n---\n\n### chainRight\n\nWorks like [chain](#chain), but executes functions from right to left.\n\n#### Parameters\n\nArguments listed below have to be passed separately, as segments.\n\n- `wrappingFn` - two-argument function thats is responsible for executing each function in a chain.\n\n- `...fns` - an arbitrary number of one-argument functions to be executed in a chain\n\n- `initialArg` - initial argument, passed to the first function in a chain (through a wrapping function)\n\nArguments of a wrapping function:\n\n- `fn` - function in a chain\n\n- `input` - current value\n\n- `isLast` - boolean flag indicating if a function is a last one in a chain\n\n#### Returns\n\n- Returns a final value.\n\n#### Interface\n\n```\n(wrapping_function) => (fn, fn?, ..., fn?) => (initial_value) => result\n```\n\n#### Example\n\n```javascript\nconst { chainRight } = require('@arrows/composition')\n\n// Create custom wrapping function:\nconst wrappingFn = (fn, input) => {\n  console.log(input)\n  return fn(input)\n}\n\n// Create reusable chain-like function:\nconst composeWithLog = chainRight(wrappingFn)\n\n// Create concrete function\nconst calculateRight = composeWithLog((x) => x + 1, (x) => x * 2)\n\nconsole.log(calculateRight(0))\n\n// -> 0\n// -> 0\n// -> 1 (final result)\n```\n\n---\n\n### compose\n\nChains provided functions from right to left.\n\n#### Parameters\n\nArguments listed below have to be passed separately, as segments.\n\n- `...fns` - an arbitrary number of one-argument functions to be executed in a chain\n\n- `initialArg` - initial argument, passed to the first function in a chain\n\n#### Returns\n\n- Returns a final value.\n\n#### Interface\n\n```\n(fn, fn?, ..., fn?) => (initial_value) => result\n```\n\n#### Example\n\n```javascript\nconst { compose } = require('@arrows/composition')\n\nconst addPrefixes = compose(\n  (text) => `prefix1-${text}`,\n  (text) => `prefix2-${text}`,\n)\n\naddPrefixes('arrows') // -> \"prefix1-prefix2-arrows\"\n```\n\n---\n\n### curry\n\nWraps function as an automatically curried one.\n\n#### Parameters\n\n- `fn` - an arbitrary function\n\n#### Returns\n\n- Returns a curried version of the function.\n\n#### Interface\n\n```\n(fn) =>  curried_fn\n```\n\n#### Example\n\n```javascript\nconst { curry } = require('@arrows/composition')\n\nconst rawAdd = (a, b) => a + b\n\nconst add = curry(rawAdd)\n\nadd(1, 2) // -> 3\nadd(1)(2) // -> 3\n```\n\n---\n\n### pipe\n\nChains provided functions from left to right.\n\n#### Parameters\n\nArguments listed below have to be passed separately, as segments.\n\n- `...fns` - an arbitrary number of one-argument functions to be executed in a chain\n\n- `initialArg` - initial argument, passed to the first function in a chain\n\n#### Returns\n\n- Returns a final value.\n\n#### Interface\n\n```\n(fn, fn?, ..., fn?) => (initial_value) => result\n```\n\n#### Example\n\n```javascript\nconst { pipe } = require('@arrows/composition')\n\nconst addSuffixes = pipe(\n  (text) => `${text}-suffix1`,\n  (text) => `${text}-suffix2`,\n)\n\naddSuffixes('arrows') // -> \"arrows-suffix1-suffix2\"\n```\n\n---\n\n### pipe.now\n\nChains provided functions from left to right, takes an initial value as a first argument.\n\nProvides an alternative API with better type inference for immediately evaluated calculations.\n\n#### Parameters\n\n- `initialArg` - initial argument, passed to the first function in a chain\n- `...fns` - an arbitrary number of one-argument functions to be executed in a chain\n\n#### Returns\n\n- Returns a final value.\n\n#### Interface\n\n```\n(initial_value, fn, fn?, ..., fn?) => result\n```\n\n#### Example\n\n```javascript\nconst { pipe } = require('@arrows/composition')\n\nconst result = pipe.now(\n  'arrows',\n  (text) => `${text}-suffix1`,\n  (text) => `${text}-suffix2`,\n) // -> \"arrows-suffix1-suffix2\"\n```\n\n---\n\n### rail\n\nWorks like [pipe](#pipe), but additionally:\n\n- if one of the functions throws or returns an error - returns that error,\n- if one of the functions returns undefined - passes previous argument to the next function.\n\n#### Parameters\n\nArguments listed below have to be passed separately, as segments.\n\n- `...fns` - an arbitrary number of one-argument functions to be executed in a chain\n\n- `initialArg` - initial argument, passed to the first function in a chain\n\n#### Returns\n\n- Returns a final value.\n\n#### Interface\n\n```\n(fn, fn?, ..., fn?) => (initial_value) => result\n```\n\n#### Examples\n\nAutomatically passing down an error:\n\n```javascript\nconst { rail } = require('@arrows/composition')\nconst { filter, map, reduce } = require('@arrows/array')\n\nconst sumDogsAge = rail(\n  filter((pet) => pet.specie === 'dog'),\n  map((pet) => {\n    if (pet.age < 0) {\n      throw new Error('Wrong age!')\n    }\n    return pet.age\n  }),\n  reduce((a, b) => a + b, 0),\n)\n\nconst pets = [\n  { specie: 'dog', name: 'Charlie', age: 4 },\n  { specie: 'cat', name: 'Luna', age: 6 },\n  { specie: 'dog', name: 'Ollie', age: -10 },\n]\n\nconst result = sumDogsAge(pets)\n\nif (result instanceof Error) {\n  console.log('Oops!')\n} else {\n  console.log(`Sum: ${result}`)\n}\n\n// -> \"Oops!\"\n```\n\nAutomatically passing previous argument, if function returns `undefined`:\n\n```js\nconst { rail } = require('../../lib/index')\n\nconst addUser = rail(\n  (user) => ({ type: 'user', data: user }),\n  (entry) => {\n    console.log(`Saving ${entry.data.name} to the database.`)\n    // Returns undefined, argument will be automatically\n    // passed to the next function.\n  },\n  (entry) => `Saved user: ${entry.data.name}`,\n)\n\nconst user = { name: 'Joe' }\n\nconsole.log(addUser(user))\n\n/* Output:\nSaving Joe to the database.\nSaved user: Joe\n*/\n```\n\n---\n\n### rail.async\n\nWorks similar to [rail](#rail), but additionally, if argument is a promise - resolves that promise before passing to the next function.\n\n#### Parameters\n\nArguments listed below have to be passed separately, as segments.\n\n- `...fns` - an arbitrary number of one-argument functions to be executed in a chain\n\n- `initialArg` - initial argument, passed to the first function in a chain\n\n#### Returns\n\n- Returns a final value wrapped in a promise.\n\n#### Interface\n\n```\n(fn, fn?, ..., fn?) => (initial_value) => result\n```\n\n#### Example\n\nAutomatically passing down an error:\n\n```javascript\nconst { railAsync } = require('../../lib/index')\n\nconst dbFake = {\n  id: 0,\n  save() {\n    const result = Promise.resolve(this.id)\n    this.id++\n    return result\n  },\n}\n\nconst addArticle = railAsync(\n  (article) => ({ type: 'article', data: article }),\n  (entry) => dbFake.save(entry),\n  (id) => `Article id: ${id}`,\n)\n\nconst main = async () => {\n  const article = {\n    title: 'Railway oriented programming',\n    content: 'Lorem ipsum...',\n  }\n\n  const result = await addArticle(article)\n  console.log(result)\n}\n\nmain() // -> \"Article id: 0\"\n```\n\n### railRight\n\nWorks like [rail](#rail), but executes functions from right to left.\n\n### railRight.async\n\nWorks like [railAsync](#railAsync), but executes functions from right to left.\n\n### tap\n\nExecutes provided function with provided argument and returns an argument without changes.\n\nUseful for executing void functions without breaking the chain.\n\n_Note: `rail*` functions handle this automatically, so you can use void functions directly._\n\n#### Parameters\n\n- `fn` - an arbitrary function\n\n- `arg` - any value\n\n#### Returns\n\n- Returns argument as-is.\n\n#### Interface\n\n```\n(fn, arg) => arg\n```\n\nExample:\n\n```js\nconst { pipe, tap } = require('../../lib/index')\nconst { sort, reduce, _rest, _butLast } = require('@arrows/array')\n\nconst sumNotes = pipe(\n  sort((a, b) => a - b),\n  tap(console.log),\n  _rest,\n  tap(console.log),\n  _butLast,\n  tap(console.log),\n  reduce((a, b) => a + b, 0),\n)\n\nconst notes = [16, 17.5, 19, 15, 18]\n\nconsole.log(sumNotes(notes))\n\n/* Output:\n[ 15, 16, 17.5, 18, 19 ]\n[ 16, 17.5, 18, 19 ]\n[ 16, 17.5, 18 ]\n51.5\n*/\n```\n\n## License\n\nProject is under open, non-restrictive [ISC license](LICENSE).\n","readmeFilename":"README.md","description":"Functional composition library","homepage":"https://caderek.github.io/arrows/packages/composition/","keywords":["arrows","functional","fp","composition","compose","pipe","rail","tap","railway oriented programming","curry","currying","function","functions","types","ts","typescript"],"repository":{"type":"git","url":"https://github.com/caderek/arrows/tree/master/packages/composition"},"author":{"name":"Maciej Cąderek"}}