{"_id":"@elmish-ts/tagged-union","_rev":"7-e12ee415d119b8399b3297c21f2ef2fd","name":"@elmish-ts/tagged-union","dist-tags":{"latest":"2.0.2"},"versions":{"1.0.0":{"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"description":"Helpers for defining tagged union types (+ pattern matching!)","devDependencies":{"@commitlint/cli":"^7.1.2","@commitlint/config-conventional":"^7.1.2","@types/jest":"^24.0.19","@types/node":"^12.7.12","colors":"^1.3.2","commitizen":"^3.0.0","coveralls":"^3.0.2","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","fp-ts":"^2.1.0","husky":"^1.0.1","jest":"^24.9.0","jest-config":"^24.9.0","lint-staged":"^8.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.14.3","prompt":"^1.0.0","replace-in-file":"^3.4.2","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript2":"^0.24.3","semantic-release":"^15.13.24","shelljs":"^0.8.3","travis-deploy-once":"^5.0.9","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typelevel-ts":"^0.3.5","typescript":"^3.7.0-beta"},"engines":{"node":">=6.0.0"},"jest":{"collectCoverageFrom":["src/*.{js,ts}"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}},"moduleFileExtensions":["ts","tsx","js"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","transform":{".(ts|tsx)":"ts-jest"}},"keywords":[],"license":"MIT","lint-staged":{"{src,test}/**/*.ts":["prettier --write","git add"]},"main":"dist/tagged-union.umd.js","module":"dist/tagged-union.es5.js","name":"@elmish-ts/tagged-union","prettier":{"semi":false,"singleQuote":true},"repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"resolutions":{"typescript":"^3.7.0-beta"},"scripts":{"build":"npm run prebuild && tsc --module commonjs && rollup -c rollup.config.ts && npm run build:docs","build:docs":"rimraf docs && typedoc --options typedoc.js src","commit":"git-cz","deploy-docs":"ts-node tools/gh-pages-publish","lint":"tslint  --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'","prebuild":"rimraf dist","precommit":"npm run test && lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release","semantic-release-prepare":"ts-node tools/semantic-release-prepare","start":"rollup -c rollup.config.ts -w","test":"jest --coverage","test:prod":"npm run lint && npm run test -- --no-cache","test:watch":"jest --coverage --watch","travis-deploy-once":"travis-deploy-once"},"sideEffects":false,"types":"dist/types/tagged-union.d.ts","version":"1.0.0","gitHead":"db44c615e62fe5610ac256143dac9846b5dd198e","bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"homepage":"https://github.com/elmish-ts/tagged-union#readme","_id":"@elmish-ts/tagged-union@1.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.12.0","dist":{"integrity":"sha512-pKr+4G3N5HF2tUhaC8icrk1uJ+OwqhCsyFaOPVXW6T8/hd0qJUBTcRbbQ8vnpWjt4G3DnGJ+WqV1WxAY6I/Mpg==","shasum":"97e04496bfcd5d587d3a895fe2f1b03409a7a264","tarball":"https://registry.npmjs.org/@elmish-ts/tagged-union/-/tagged-union-1.0.0.tgz","fileCount":10,"unpackedSize":41698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdql0+CRA9TVsSAnZWagAATy0P/RSZavnYZkrloh1ucxph\nuxWn7J3oi7cmMqOvW0CzAbYCl2T1RC6BE8Tt4v3DR1c55Vc1B8TGsQ4LfM+w\nyhZ2vFscV/Bqv3TBIC8LGU/dTltuuUZgcsGx2cLAGNj/Ip45JB/IhK/nsXU4\nUEr2PtK5dzdkLCi3Aul4JXKjoXsEelPKpAVfqvBWBUplZ6x+2+fBctCC0CW9\nqV31qalhxfdlHcAfwDaGSgpmdvYtv0o4dKDl0dvRuCUhviNcO5eTAE8r1GpL\ncHxeKIEoU1zosR9vNqp99BVxQFdaTz5OlB5m2Xn1IrE+oqg1I7HAdBLEmhuj\nqGMZgQDTE11g0g0kyw5PBIjG6fpdR3vgXnp9wOnYRe8C2FwfoDf8XkJWlolr\nZFw5eoLr/0apDr7Sklv9whYWrPM0aiqUfC6lz1akrvVUyKEDq+zaDsC9u8IJ\n/PNmNQ8EJUvGpwOICkvWdptIhtYwCVEN6goOu9tfoqsdzNe2yQOdENEOlObU\ntZd0UAbi2ylFNmvg82CotYH1m042EggnJ9zu9En+SUvqyETOgXsSZaPJlXGv\nbqHqNEXa5UpFVTbeElg9peA+kNs0IXkLWYxu4iNeUJPO7FEJ90MxmVDkWKag\nRk48h8Kcfl2xNwf3OMkR92lPsiBuICskm98+AiuvntsyaxlNjXpTMspL8BU0\nZULi\r\n=nMQL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG4/QmeLixaV1HQ2gaIlOCPM3PWKCsw7yRAXOnGEpWfRAiABFIEBaAaf5UMzajZOYE+pzur5NqJBktoFadoCF+9fIw=="}]},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"_npmUser":{"name":"derrickbeining","email":"derrick.beining@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tagged-union_1.0.0_1571446078236_0.0372432952277062"},"_hasShrinkwrap":false},"1.0.1":{"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"description":"Helpers for defining tagged union types (+ pattern matching!)","devDependencies":{"@commitlint/cli":"^7.1.2","@commitlint/config-conventional":"^7.1.2","@types/jest":"^24.0.19","@types/node":"^12.7.12","colors":"^1.3.2","commitizen":"^3.0.0","coveralls":"^3.0.2","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","fp-ts":"^2.1.0","husky":"^1.0.1","jest":"^24.9.0","jest-config":"^24.9.0","lint-staged":"^8.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.14.3","prompt":"^1.0.0","replace-in-file":"^3.4.2","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript2":"^0.24.3","semantic-release":"^15.13.24","shelljs":"^0.8.3","travis-deploy-once":"^5.0.9","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typelevel-ts":"^0.3.5","typescript":"^3.6.4"},"engines":{"node":">=6.0.0"},"jest":{"collectCoverageFrom":["src/*.{js,ts}"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}},"globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"moduleFileExtensions":["ts","tsx","js"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","transform":{".(ts|tsx)":"ts-jest"}},"keywords":[],"license":"MIT","lint-staged":{"{src,test}/**/*.ts":["prettier --write","git add"]},"main":"dist/tagged-union.umd.js","module":"dist/tagged-union.es5.js","name":"@elmish-ts/tagged-union","prettier":{"semi":false,"singleQuote":true},"repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"scripts":{"build":"npm run prebuild && tsc --module commonjs && rollup -c rollup.config.ts && npm run build:docs","build:docs":"rimraf docs && typedoc --options typedoc.js src","commit":"git-cz","deploy-docs":"ts-node tools/gh-pages-publish","lint":"tslint  --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'","prebuild":"rimraf dist","precommit":"npm run test && lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release","semantic-release-prepare":"ts-node tools/semantic-release-prepare","start":"rollup -c rollup.config.ts -w","test":"jest --coverage","test:prod":"npm run lint && npm run test -- --no-cache","test:watch":"jest --coverage --watch","travis-deploy-once":"travis-deploy-once"},"sideEffects":false,"types":"dist/types/tagged-union.d.ts","version":"1.0.1","dependencies":{},"gitHead":"e31af043d872c2bff73722bd423d5180e872241c","bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"homepage":"https://github.com/elmish-ts/tagged-union#readme","_id":"@elmish-ts/tagged-union@1.0.1","_nodeVersion":"10.16.3","_npmVersion":"6.12.0","dist":{"integrity":"sha512-BqE4qvpaJKN9NWDE4ACHpRKKmOUtggsd/P6yG3GQljvel8rf+7HwZuuqGFXiHBr5qPMxK34VqU/vPb0I0Tz7Ow==","shasum":"e34cef576bc62dae88bc8b04fa93c2c8cd739f5e","tarball":"https://registry.npmjs.org/@elmish-ts/tagged-union/-/tagged-union-1.0.1.tgz","fileCount":10,"unpackedSize":43588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdq+yfCRA9TVsSAnZWagAA0iYP/ia7DZv6hbLc5T9QBDD2\nRo4B2QtcjoB0fnAGtchTmhni5cnrf4dzb1G15BJC+O2AYe8TwOt8F62Wg81i\ns3s2P+ZFfJ4HGHwqJHfZ4Ktg0EiJVdbjaAlJPR7YdyVCtwCkHrSlgm5YXdoa\nahDaad7RgyUcWFtLe76k44PEdJ/iMsLhwf2pkUk21AeYxOPvDjr+wXcYpYdd\navg4SUEDbCCWl87mnjQ3FG/rN6K05gnEwH6E1W5Aw1YC0LCV9i8/OXiT31tj\nuCqhbEdTsZWUAU8rh8VuSC+FKx2JhLXyLf14tb8+i8zv5NZYFoGKTXrwDCH/\nO0ar2Y1CpMBcy+nZzepHx/XZNuwv/cr/Z8BQ3Ph7E9iynCtZ8PwllsJObSwr\nPUeUYVzpFNhjcuTlR3Tg0HcsqPY6ouwTWDBKRLwhBRurXFH+DmiBS43nXppN\nMiKqnae9fzdTdSceuULGwYbYJScmTXi9APURMRMV83HTcdzyXksuNu9i+WuL\nS1gSLOjSXHcHtEdpRoP/6WJkeL3gUELMFh6hSm/nO3vZaF4FckK3x65AxHNo\nMkIo5yyqq2GijSP45w4rDu5DAzIysbJ/XmmXQPwEv0olyib0SNHmio+NAs+k\nxvWd6sYZptKoKMzwTQAbnxr+QM8FC9/8x4cp1HqSzNxtlNzKHoai6oMeHRog\nRMj5\r\n=/7zI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5ZXYi9IQ+nFnDdGqDaYmPQ6+SnwcqCphpCrsQNnYZ6gIgSTDtA+NNZJ8u/bmZcvZClvVprzQCqL7a2XHS1Qk1+dI="}]},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"_npmUser":{"name":"derrickbeining","email":"derrick.beining@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tagged-union_1.0.1_1571548318684_0.49386267874372525"},"_hasShrinkwrap":false},"1.0.2":{"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{},"description":"Utilities for defining tagged sum types and pattern matching in TypeScript","devDependencies":{"@commitlint/cli":"^7.1.2","@commitlint/config-conventional":"^7.1.2","@types/jest":"^24.0.19","@types/node":"^12.7.12","colors":"^1.3.2","commitizen":"^3.0.0","coveralls":"^3.0.2","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","fp-ts":"^2.1.0","husky":"^1.0.1","jest":"^24.9.0","jest-config":"^24.9.0","lint-staged":"^8.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.14.3","prompt":"^1.0.0","replace-in-file":"^3.4.2","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript2":"^0.24.3","semantic-release":"^15.13.24","shelljs":"^0.8.3","travis-deploy-once":"^5.0.9","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typelevel-ts":"^0.3.5","typescript":"^3.5.1"},"engines":{"node":">=6.0.0"},"jest":{"collectCoverageFrom":["src/*.{js,ts}"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}},"globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"moduleFileExtensions":["ts","tsx","js"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","transform":{".(ts|tsx)":"ts-jest"}},"keywords":["adt","algebraic data types","discriminated union","functional programming","pattern matching","tagged sum type","tagged union","TypeScript"],"license":"MIT","lint-staged":{"{src,test}/**/*.ts":["prettier --write","git add"]},"main":"dist/tagged-union.umd.js","module":"dist/tagged-union.es5.js","name":"@elmish-ts/tagged-union","prettier":{"semi":false,"singleQuote":true},"repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"scripts":{"build":"npm run prebuild && tsc --module commonjs && rollup -c rollup.config.ts && npm run build:docs","build:docs":"rimraf docs && typedoc --options typedoc.js src","commit":"git-cz","deploy-docs":"ts-node tools/gh-pages-publish","lint":"tslint  --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'","prebuild":"rimraf dist","precommit":"npm run test && lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release","semantic-release-prepare":"ts-node tools/semantic-release-prepare","start":"rollup -c rollup.config.ts -w","test":"jest --coverage","test:prod":"npm run lint && npm run test -- --no-cache","test:watch":"jest --coverage --watch","travis-deploy-once":"travis-deploy-once"},"sideEffects":false,"types":"dist/types/tagged-union.d.ts","version":"1.0.2","gitHead":"1610541a13cbb0aed134b32e5c940cba3a0eda65","bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"homepage":"https://github.com/elmish-ts/tagged-union#readme","_id":"@elmish-ts/tagged-union@1.0.2","_nodeVersion":"10.16.3","_npmVersion":"6.12.0","dist":{"integrity":"sha512-qHxKJPMXmLPZ1PT4nBs/LsqnJFRraKhGczuBr5nxCQ1H2twf7MFRzF1naUUcRGCMji7sDxyAkov90n208uLxAQ==","shasum":"04626dc9be61e0f4fdfeae27b8c43886893b8caf","tarball":"https://registry.npmjs.org/@elmish-ts/tagged-union/-/tagged-union-1.0.2.tgz","fileCount":13,"unpackedSize":45443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrBtrCRA9TVsSAnZWagAANSAP/1cx/O4A+vx3f5XSZHkf\n1uojMuR3Kg5l/xZS30xs5+Abv4X3ZcC5tO1KedM0/THVpVgYWQ5iC8gkBAk/\nesHqsGMMsNkY/Qb9QggXKVuwyIyoEHT7Hio8TlTTyC7YToNQXmYjYCsyfRBh\n2w9kOAuXH+xy2EuXHNur46RhQzJ7ku+NyYL2GFTQm5rbxn1YmUtU3yBC8Crc\n7Z0TM24e+5rPUYnvUa6g2NHRe6iwTuLSgpaEKIwsdYR40ugYmdX6dNHmoFGv\nRwAF4Zs74cF62uyC3Q/RusJHt9PIG0lFyZeOQge9Uk3HzgoPGVJoEuWwpXW5\n6/bvBmvsFx4JhYOkJCrMd3zH6LN/gJePJbhNtYHjqB4UYmg6fzuCOfWTgJtJ\nLTEBvXgcE9G1cQH4M1tywfJTFHBeca4CrJf4c90ztAFwLZ1ri8wD+r+d0m31\nGY7Z8S2nhZVybXTUPaivmU7/Olu5u7p3f5szQxfSIoNj1ZGH9StF6BKuGclI\niuwtJAkylomqub66e2Y1mBZ2/RmKDYmBBttzqnndSy4lxlhltoxbPg+r4skz\nUz3ulhBctiwbsOQM2kRUetlrm2BEs818XP0sN3ilbPmFS0E7gaC7/VpDferf\nyx+fniwTeroB5QyQTD50zNGRYTp2lm0Gc+CoYoNXAMEMa6vKeVslL5wQI7B3\nT8ZJ\r\n=xyJa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHEfQ7rzFM+dTtSl4I3XaBMMrZu3HKcd87CN8LVDxJ29AiAj50RVleUgZpcRdOIqc4/tLgoDRa2rKmAUMTvGLE72ow=="}]},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"_npmUser":{"name":"derrickbeining","email":"derrick.beining@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tagged-union_1.0.2_1571560298788_0.2537973289771258"},"_hasShrinkwrap":false},"1.0.3":{"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{},"description":"Utilities for defining tagged sum types and pattern matching in TypeScript","devDependencies":{"@commitlint/cli":"^7.1.2","@commitlint/config-conventional":"^7.1.2","@types/jest":"^24.0.19","@types/node":"^12.7.12","colors":"^1.3.2","commitizen":"^3.0.0","coveralls":"^3.0.2","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","fp-ts":"^2.1.0","husky":"^1.0.1","jest":"^24.9.0","jest-config":"^24.9.0","lint-staged":"^8.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.14.3","prompt":"^1.0.0","replace-in-file":"^3.4.2","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript2":"^0.24.3","semantic-release":"^15.13.24","shelljs":"^0.8.3","travis-deploy-once":"^5.0.9","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typelevel-ts":"^0.3.5","typescript":"^3.5.1"},"engines":{"node":">=6.0.0"},"jest":{"collectCoverageFrom":["src/*.{js,ts}"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}},"globals":{"ts-jest":{"diagnostics":{"warnOnly":true}}},"moduleFileExtensions":["ts","tsx","js"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","transform":{".(ts|tsx)":"ts-jest"}},"keywords":["adt","algebraic data types","discriminated union","functional programming","pattern matching","tagged sum type","tagged union","TypeScript"],"license":"MIT","lint-staged":{"{src,test}/**/*.ts":["prettier --write","git add"]},"main":"dist/tagged-union.umd.js","module":"dist/tagged-union.es5.js","name":"@elmish-ts/tagged-union","prettier":{"semi":false,"singleQuote":true},"repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"scripts":{"build":"npm run prebuild && tsc --module commonjs && rollup -c rollup.config.ts && npm run build:docs","build:docs":"rimraf docs && typedoc --options typedoc.js src","commit":"git-cz","deploy-docs":"ts-node tools/gh-pages-publish","lint":"tslint  --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'","prebuild":"rimraf dist","precommit":"npm run test && lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release","semantic-release-prepare":"ts-node tools/semantic-release-prepare","start":"rollup -c rollup.config.ts -w","test":"jest --coverage","test:prod":"npm run lint && npm run test -- --no-cache","test:watch":"jest --coverage --watch","travis-deploy-once":"travis-deploy-once"},"sideEffects":false,"types":"dist/types/tagged-union.d.ts","version":"1.0.3","gitHead":"29da39a2eda2d5fcca845c088eb2505c3b18137e","bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"homepage":"https://github.com/elmish-ts/tagged-union#readme","_id":"@elmish-ts/tagged-union@1.0.3","_nodeVersion":"10.16.3","_npmVersion":"6.12.0","dist":{"integrity":"sha512-V24ZS/5qujUZFs+d7pecAzjM12LqHlLF6J2QItHZ7N3ri2T/n9mtcYBHgWUyzHBrdiQlcJ61A+56oCCdimQ5WA==","shasum":"47620f0a7e61c3ce5cef59e04b5ee1e3c1a1dd9e","tarball":"https://registry.npmjs.org/@elmish-ts/tagged-union/-/tagged-union-1.0.3.tgz","fileCount":13,"unpackedSize":45287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrJ/OCRA9TVsSAnZWagAAZ78P/3aM1yL0yXEqL9KSt+OP\nA8ZAB+j++AFUF/Y2Ek3oGuEyocTEZSYJgSmzeptrzz8Rug5kBsnoxktlV6Jf\ntxA7D+26AgiTOVipypThNNbo+5w2HJGVAcbdIHS/lNqYFCPwsGD6Pq3un6wF\nHw2N2bCeODUAtPP3PjJq3U0w3cSDHGGoD7ZHFspL/2V9L97qrt9asWRxnuyq\nVbHjA4Uk4GY8AxzvJ7zNxGVamJCqMMqtKaunzv1IMNgJItV54riNtjc+ulCI\nLK+QhkDSAUTv4gA8/oEM9SmGQCQan7tH3zVVfYn70bJU8elvWPMoexVRXUL0\nzzocwpC6gQxDRWlMhHwMPlk9bAJZBU0zEm0upv6Rc4bFgw6x3LCl+0TH+Qc3\nEBPj6Z6nEMdD27U+XqGX4GIgV4eHLCS1kxTBDG+wHX19L/Bvk+AgeBYwb6nL\natMdcZvfPN9gPS5JvVXQhj51gYXo6K73lpd+sfGEN+rSBqyLh09dSKj8yxRR\nmTFM8v3P1/TTQKvr+BoCBx+8BEK+lba5Xt7kEx9OoUW4VztSiAYMm4RcJQkg\n3UhllMnDfrBsfYHzh3lohNvwzKxbBxgkCBWI8/Hw8PifNNLWZoi8aJsw9mOM\nPSYSm2dtlN2Ow4ZFLuaLTwLDjFkQ7Mtmx8SKCohvPoJgWjZ8xR/HHDlEUkpr\n/9Z3\r\n=0RoX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzwudedKdpROaTPak2y51Q5Qk+3xfHU4pcM3CLqzOFFAiEAgEsnIDRBBNYSA7s63Yt59AYgZ2fzM6/GqmTISoRDV9U="}]},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"_npmUser":{"name":"derrickbeining","email":"derrick.beining@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tagged-union_1.0.3_1571594189864_0.1256336032594927"},"_hasShrinkwrap":false},"2.0.0":{"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{},"description":"Utilities for defining tagged sum types and pattern matching in TypeScript","devDependencies":{"@commitlint/cli":"^7.1.2","@commitlint/config-conventional":"^7.1.2","@types/jest":"^24.0.19","@types/node":"^12.7.12","colors":"^1.3.2","commitizen":"^3.0.0","coveralls":"^3.0.2","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","fp-ts":"^2.1.0","husky":"^1.0.1","jest":"^24.9.0","jest-config":"^24.9.0","lint-staged":"^8.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.14.3","prompt":"^1.0.0","replace-in-file":"^3.4.2","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript2":"^0.24.3","semantic-release":"^15.13.24","shelljs":"^0.8.3","travis-deploy-once":"^5.0.9","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typelevel-ts":"^0.3.5","typescript":"^3.5.1"},"engines":{"node":">=6.0.0"},"jest":{"collectCoverageFrom":["src/*.{js,ts}"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}},"globals":{"ts-jest":{"diagnostics":{"warnOnly":false}}},"moduleFileExtensions":["ts","tsx","js"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","transform":{".(ts|tsx)":"ts-jest"}},"keywords":["adt","algebraic data types","discriminated union","functional programming","pattern matching","tagged sum type","tagged union","TypeScript"],"license":"MIT","lint-staged":{"{src,test}/**/*.ts":["prettier --write","git add"]},"main":"dist/tagged-union.umd.js","module":"dist/tagged-union.es5.js","name":"@elmish-ts/tagged-union","repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"scripts":{"build":"npm run prebuild && tsc --module commonjs && rollup -c rollup.config.ts && npm run build:docs","build:docs":"rimraf docs && typedoc --options typedoc.js src","commit":"git-cz","deploy-docs":"ts-node tools/gh-pages-publish","lint":"tslint  --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'","prebuild":"rimraf dist","precommit":"npm run test && lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release","semantic-release-prepare":"ts-node tools/semantic-release-prepare","start":"rollup -c rollup.config.ts -w","test":"jest --coverage","test:prod":"npm run lint && npm run test -- --no-cache","test:watch":"jest --coverage --watch","travis-deploy-once":"travis-deploy-once"},"sideEffects":false,"types":"dist/types/tagged-union.d.ts","version":"2.0.0","gitHead":"8bd713d886ac09cd551673cb849532f82ec64a84","bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"homepage":"https://github.com/elmish-ts/tagged-union#readme","_id":"@elmish-ts/tagged-union@2.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.12.0","dist":{"integrity":"sha512-LPxlZs0xlbmQQShfcBB8DIUHqhRf4LKJMlzkj1dyI0eVZfkEDKZjAty2WMvNjW6BJ6yEmzo2dsZhVhVDMTX2nw==","shasum":"bc4d2a400f00545633fa2e2f669bb524d1df83d8","tarball":"https://registry.npmjs.org/@elmish-ts/tagged-union/-/tagged-union-2.0.0.tgz","fileCount":13,"unpackedSize":54885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrNpbCRA9TVsSAnZWagAAh0IP/2Gj7KGNChUoKX5pcrHv\nMOiQk4nqn/5QAbXeIRQJFXKm9+vKS+N315h5MnqXm7cskWv0F4EAHXRJ36sg\nTtZedD8lGOFGzO7F/hqxn8Gjl1q/PXQHhEijZhp1XA6xROaU18G9pIH089J4\nHorhIKCfhwg9cIb3ouOYe7loJnyUMqxZT4JqIfR7xM4b2I4FqKPi4n0tnNuV\naPdhw7vhKTiW9Ym5jOY3/D6vuWNudVg35rBNUP8n9ozPXTAA9PXFPLlinC1N\nrceMoZlFXHW7KkHLnHWAtTGofUUQQH9aCxLp07qvEWk2movzPp7bU9WuIXr+\ndUc+y4A6rkhFX+NxPHKFA647nrzmL0l8lz/4DKzlEoqtGAfRE1/HXBiXW3Js\nGBd7PO4lLmVDybqBg97ZRF1I0gkQ66yTFVXVH2XdYunaCN9lWZB8qe0TPrX7\nixBM7n8V+pH5kA8O9ImEqS7w+Gmua3ZXrmPwrtksq1VkJG8LtmwbH5+eIIRc\nXJomAjKTYV+2rRKoY5Dxsz2QWJr9HiGZFCDVqzLOkyTFrXdKuhDicMfm8Zf3\nWCiQb12Q/0pezwaMw46WSPbHXsShfu+fRJ+JzrIz+nKVtq5hHjkkibOXIu95\nWGCYjuX1YsS5KjqMIUx6KPjS3Lpi9P5INUBiuFWfe2nffRti7nx8ehOY476W\nERty\r\n=Dbwv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDTSSkLKy/Pv/jEnPM4PjptJsmxYCBKNVNLn/BdWhSy1AiABU3OfDf20v5bg3jEY05skaV35UDMF9ea4nAzWBnE4Ow=="}]},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"_npmUser":{"name":"derrickbeining","email":"derrick.beining@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tagged-union_2.0.0_1571609179169_0.014310317991734545"},"_hasShrinkwrap":false},"2.0.1":{"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"typelevel-ts":"^0.3.5"},"description":"Utilities for defining tagged sum types and pattern matching in TypeScript","devDependencies":{"@commitlint/cli":"^7.1.2","@commitlint/config-conventional":"^7.1.2","@types/jest":"^24.0.19","@types/node":"^12.7.12","colors":"^1.3.2","commitizen":"^3.0.0","coveralls":"^3.0.2","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","fp-ts":"^2.1.0","husky":"^1.0.1","jest":"^24.9.0","jest-config":"^24.9.0","lint-staged":"^8.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.14.3","prompt":"^1.0.0","replace-in-file":"^3.4.2","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript2":"^0.24.3","semantic-release":"^15.13.24","shelljs":"^0.8.3","travis-deploy-once":"^5.0.9","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typescript":"^3.5.1"},"engines":{"node":">=6.0.0"},"jest":{"collectCoverageFrom":["src/*.{js,ts}"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}},"globals":{"ts-jest":{"diagnostics":{"warnOnly":false}}},"moduleFileExtensions":["ts","tsx","js"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","transform":{".(ts|tsx)":"ts-jest"}},"keywords":["adt","algebraic data types","discriminated union","functional programming","pattern matching","tagged sum type","tagged union","TypeScript"],"license":"MIT","lint-staged":{"{src,test}/**/*.ts":["prettier --write","git add"]},"main":"dist/tagged-union.umd.js","module":"dist/tagged-union.es5.js","name":"@elmish-ts/tagged-union","repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"scripts":{"build":"npm run prebuild && tsc --module commonjs && rollup -c rollup.config.ts && npm run build:docs","build:docs":"rimraf docs && typedoc --options typedoc.js src","commit":"git-cz","deploy-docs":"ts-node tools/gh-pages-publish","lint":"tslint  --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'","prebuild":"rimraf dist","precommit":"npm run test && lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release","semantic-release-prepare":"ts-node tools/semantic-release-prepare","start":"rollup -c rollup.config.ts -w","test":"jest --coverage","test:prod":"npm run lint && npm run test -- --no-cache","test:watch":"jest --coverage --watch","travis-deploy-once":"travis-deploy-once"},"sideEffects":false,"types":"dist/types/tagged-union.d.ts","version":"2.0.1","gitHead":"c9c33fd4d40d516d457b70a47a5b5586aedc261c","bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"homepage":"https://github.com/elmish-ts/tagged-union#readme","_id":"@elmish-ts/tagged-union@2.0.1","_nodeVersion":"10.17.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-k59iZ43r0XtLeIcbWz0ipoC6bLi1eRpGQgJz24ZHoWp988bWhy2J9cX3B0CGZv8mggsmngw/5k0kAyskpP4vaw==","shasum":"e6b3c752727bb259753dc2b9ff277793bc61391b","tarball":"https://registry.npmjs.org/@elmish-ts/tagged-union/-/tagged-union-2.0.1.tgz","fileCount":13,"unpackedSize":55546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsf9NCRA9TVsSAnZWagAAnQ0QAJPv1J89SuZUZzwpheeL\n6rP28MUjMbQhzpqy81XABgU/AMvqs8PQFbMTMqvVnT/UlZEzXdI6YmNFjBs6\n4E2IofWxbKDAYtPaW6R3yJ2HIWdTFgYfSOGLpdwFeZjYr8i8X2MYDZG0x54F\nrbAzCIGs83Phun/s/xRBcMHXl4SiJq77zGlTqRgGaiCt+ILGvSG4KGS7yBEQ\nlZBsxTKeuoxC3e549mUS3Gohiw2tYwNht3bNSX5miBR1liBo2dZob2O6ER9+\noKeRjzduoz7bHmayxeVoAJd6fe568maRm+Utpb4ON4ektM05n0ObSzZJD9n4\nOSD8Cjhqza01EdEamaLFC2q2+FC2to2JKmDOImdfAWS4nNehJRpZibeM1Hzg\nYghZ3/N8NXa2ghb4EqeVgPDvVdNDWmp3TP0xQNwtTNKVa37s/Bb/5OeSwaX3\nrqgBbVA0a4f8EL54CvGJqhygVSOslXnnQISA8KdWg/4nW8DaXKYxc8d45Wno\nhsCQ3n3GgpXMy6zLiYIidTc7kB+8gRCESjZweFoIhCVaJgQ+j1lsckghDFZJ\nmY/VbpxfvPHTjgAEcQjEwISgbXoaqP7xhIrVp1PWBkD0kXOThBo2dI1WtXjR\nFPs8tARSfE2aC3Ldazsr55bgbhko2BFjah/R6PfzZp7J+fnRLX/niAbMGUND\nQGII\r\n=j59R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDk6XFYnpTmYXnLY0ElVhRpXKROMFz2fJXNnA4fE1nAogIhAJt+tjpNrAAdf9ofhsuxfB2KZV1OsCRDWW3wo032d7aD"}]},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"_npmUser":{"name":"derrickbeining","email":"derrick.beining@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tagged-union_2.0.1_1571946317336_0.32852364663662925"},"_hasShrinkwrap":false},"2.0.2":{"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"dependencies":{"typelevel-ts":"^0.3.5"},"description":"Utilities for defining tagged sum types and pattern matching in TypeScript","devDependencies":{"@commitlint/cli":"^7.1.2","@commitlint/config-conventional":"^7.1.2","@types/jest":"^24.0.19","@types/node":"^12.7.12","colors":"^1.3.2","commitizen":"^3.0.0","coveralls":"^3.0.2","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","fp-ts":"^2.1.0","husky":"^1.0.1","jest":"^24.9.0","jest-config":"^24.9.0","lint-staged":"^8.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.14.3","prompt":"^1.0.0","replace-in-file":"^3.4.2","rimraf":"^2.6.2","rollup":"^0.67.0","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-typescript2":"^0.24.3","semantic-release":"^15.13.24","shelljs":"^0.8.3","travis-deploy-once":"^5.0.9","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typescript":"^3.5.1"},"engines":{"node":">=6.0.0"},"jest":{"collectCoverageFrom":["src/*.{js,ts}"],"coveragePathIgnorePatterns":["/node_modules/","/test/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}},"globals":{"ts-jest":{"diagnostics":{"warnOnly":false}}},"moduleFileExtensions":["ts","tsx","js"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","transform":{".(ts|tsx)":"ts-jest"}},"keywords":["adt","algebraic data types","discriminated union","functional programming","pattern matching","tagged sum type","tagged union","TypeScript"],"license":"MIT","lint-staged":{"{src,test}/**/*.ts":["prettier --write","git add"]},"main":"dist/tagged-union.umd.js","module":"dist/tagged-union.es5.js","name":"@elmish-ts/tagged-union","repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"scripts":{"build":"npm run prebuild && tsc --module commonjs && rollup -c rollup.config.ts && npm run build:docs","build:docs":"rimraf docs && typedoc --options typedoc.js src","commit":"git-cz","deploy-docs":"ts-node tools/gh-pages-publish","lint":"tslint  --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'","prebuild":"rimraf dist","precommit":"npm run test && lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release","semantic-release-prepare":"ts-node tools/semantic-release-prepare","start":"rollup -c rollup.config.ts -w","test":"jest --coverage","test:prod":"npm run lint && npm run test -- --no-cache","test:watch":"jest --coverage --watch","travis-deploy-once":"travis-deploy-once"},"sideEffects":false,"types":"dist/types/tagged-union.d.ts","version":"2.0.2","gitHead":"538dadee75965c3e39529c7c950990cd70f29be5","bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"homepage":"https://github.com/elmish-ts/tagged-union#readme","_id":"@elmish-ts/tagged-union@2.0.2","_nodeVersion":"10.17.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-q+Mu4cowSGLeyfnfbHZK3qTD4A3OKb+2Sg/RZsOOzYvt/aUWxlIKV0Qw3I1Fcw8lj05CYyHkOqKDc4JQzHNLSQ==","shasum":"63431b5ddcc0da6391c72dace78fd1fedeaa39a4","tarball":"https://registry.npmjs.org/@elmish-ts/tagged-union/-/tagged-union-2.0.2.tgz","fileCount":13,"unpackedSize":55579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7Y3cCRA9TVsSAnZWagAAloIP/3qg+QqYfFi/0c1WvrIz\nvTzUmgOhffu9hS4ZGGTSR81lP3Olwrf3Ik6wVZZ83Yt14Ylq1WKgDtIXaJRM\noDUyy2MxUM4mXXNVBjOVH76I8X35op0cB+tNFBWP5WcSzP8dJjKQFKQUsPAz\noQzKjnbQFj4hPjjNW8YhcNCJGjBirsojXGLrZ8zns2Ga6TAUZbqB4kp4Zzs+\nIpkS0QVXQIcfRfa0JSctj3z+4ghQAsJXP+GcvNqTb3SKGGJFLHDMlE9weYP2\nq5Xs1/tPSEvAFcbRz2ojlrbPnTH7ZDhzHvYPaNanianlPwxsW/UolHvu+W7R\nH3u0tU60fiM7k+vw3fmxwht/7pKrXu8cC5kn4XT7qtQLneMwbmG1wMptLeNm\nmBjz7V3Cic6xlVDJZKzbCE72EcNgx6rN6zkSC6nIr0zaTkyj3EsNR9FN10mJ\ncH7v0ki8w2hUf1Gy9kKdq9ehO/J2OAbwPvof5HYfK/zU7+Io7q7opcqQURxC\ntfe4GnTktZb5MsuF9OTSpWnQu2WmIWgIyD9rdfaFnU7yr1uKjkuZ/tuIte8m\nhQ2Ceo4UDHqgO0YUzWHX1JRZWlVVCNgJl6oGrVqbKzxF+Gh9LKZO7rGSudUu\nvkDscfjKyoNMW8gmoSpbvfOEtRfCSrvK4Gdx8quqzlDl/D/hJtzTKLeFj7mV\n1YXU\r\n=uJcj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDleLepqilznvKSWtAoXslHeSzO8rFKyNezRPaRMYdunAIgGERWXwQJKHy0+n0ByeS3If94/BE05vOyiQRjGp3/8jQ="}]},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"_npmUser":{"name":"derrickbeining","email":"derrick.beining@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tagged-union_2.0.2_1575849435692_0.5626637462083404"},"_hasShrinkwrap":false}},"time":{"created":"2019-10-19T00:47:58.014Z","1.0.0":"2019-10-19T00:47:58.379Z","modified":"2022-04-05T07:22:07.526Z","1.0.1":"2019-10-20T05:11:58.861Z","1.0.2":"2019-10-20T08:31:38.894Z","1.0.3":"2019-10-20T17:56:30.052Z","2.0.0":"2019-10-20T22:06:19.299Z","2.0.1":"2019-10-24T19:45:17.464Z","2.0.2":"2019-12-08T23:57:15.796Z"},"maintainers":[{"name":"derrickbeining","email":"derrick.beining@gmail.com"}],"description":"Utilities for defining tagged sum types and pattern matching in TypeScript","homepage":"https://github.com/elmish-ts/tagged-union#readme","keywords":["adt","algebraic data types","discriminated union","functional programming","pattern matching","tagged sum type","tagged union","TypeScript"],"repository":{"type":"git","url":"git+https://github.com/elmish-ts/tagged-union.git"},"author":{"name":"Derrick Beining","email":"derrick.beining@gmail.com"},"bugs":{"url":"https://github.com/elmish-ts/tagged-union/issues"},"license":"MIT","readme":"# @elmish-ts/tagged-union\n\nDefine tagged unions a little more concisely and get pattern matching for free.\n\n![npm type definitions](https://img.shields.io/npm/types/@elmish-ts/tagged-union) ![npm (scoped with tag)](https://img.shields.io/npm/v/@elmish-ts/tagged-union/latest) [![Coverage Status](https://coveralls.io/repos/github/elmish-ts/tagged-union/badge.svg?branch=master)](https://coveralls.io/github/elmish-ts/tagged-union?branch=master) [![Build Status](https://travis-ci.com/elmish-ts/tagged-union.svg?branch=master)](https://travis-ci.com/elmish-ts/tagged-union) ![npm bundle size (scoped)](https://img.shields.io/bundlephobia/min/@elmish-ts/tagged-union) ![npm bundle size (scoped)](https://img.shields.io/bundlephobia/minzip/@elmish-ts/tagged-union)\n\n## Install\n\n```sh\nnpm install @elmish-ts/tagged-union\n```\n\n## Compatibility\n\nCurrently tested against TypeScript v3.5.1. Higher versions should be fine, lower versions may require you to provide more type annotations, or they may not work at all.\n\n## Docs\n\nDocumentation is built from `master` and hosted here:\nhttps://elmish-ts.github.io/tagged-union/\n\n## Description & Usage\n\nTypically defining and working with a tagged sum (a.k.a. \"discriminated union\") in TypeScript is done by defining unions of record/struct types directly, which requires you to think about some minutiae every time you want to define one:\n\n- what should the \"discriminant\" field be called?\n- what other fields should each variant have?\n- does it matter if multiple variants have any field names in common? (yes)\n\nAnd then when you want to start working with values that inhabit your tagged union, the most straightforward way to do so is to use `switch () {}` statements, switching on the discriminant field. Switch statements work fine, but you need make sure you take steps to ensure TypeScript enforces exhaustiveness checking so you handle all variants of the union. Also, folks who like functional programming tend to prefer expressions over statements, so it's a little irksome to use switch statements when handling tagged sums.\n\nHere's an example of defining the well know `Maybe<A>` type using the typical method:\n\n```ts\ntype Maybe<A> =\n  | { tag: 'Nothing' }\n  | { tag: 'Just', Just: A }\n\nconst Nothing: Maybe<never> = {\n  tag: 'Nothing'\n}\nconst Just = <A>(a: A): Maybe<A> =>\n  ({ tag: 'Just', Just: a })\n\nfunction map<A>(ma: Maybe<A>, fn: (a: A) => B): Maybe<B> {\n  switch (ma.tag) {\n    case \"Nothing\":\n      return Nothing\n\n    case 'Just':\n      return Just(fn(ma.Just))\n  }\n}\n```\n\nWith this library, we can do the same thing like this:\n\n```ts\nimport { Def, def, caseWhen } from '@elmish-ts/tagged-union'\n\ntype Maybe<A> =\n  | Def<'Nothing'>\n  | Def<'Just', [A]>\n\nconst Nothing: Maybe<never> = def('Nothing')\nconst Just = <A>(a: A): Maybe<A> => def('Just', a)\n\nfunction map<A>(ma: Maybe<A>, fn: (a: A) => B): Maybe<B> {\n  return caseWhen(ma, {\n    Nothing: () => Nothing\n    Just: a => Just(fn(a))\n  })\n}\n```\n\nAdditionally, you can use an underscore fallback pattern `_` if you want handle only some variants explicitly, and handle the rest with a fallback value.\n\n```ts\ntype These<A, B> = Def<'This', [A]> | Def<'That', [B]> | Def<'Both', [A, B]>\n\nconst This = <A, B = never>(a: A): These<A, B> => def('This', a)\nconst That = <A = never, B = unknown>(b: B): These<A, B> => def('That', b)\nconst Both = <A, B>(a: A, b: B): These<A, B> => def('Both', a, b)\n\nfunction getBothOr<A, B>(fallback: [A, B]): (these: These<A, B>) => [A, B] {\n  return caseOf({\n    Both: (a, b): [A, B] => [a, b],\n    _: () => fallback\n  })\n}\n```\n\nPattern matching is made possible by the functions `caseOf` and `caseWhen`. `caseOf` is curried and takes data last in order to be usable in a point-free fashion in functional pipelines. `caseWhen` takes the data first and is not curried. Otherwise, they work the same.\n\n## Other Examples\n\n### Lists\n\n```ts\ntype List<A> = Def<'Nil'> | Def<'Cons', [MoreList<A>]>\n\ninterface MoreList<A> {\n  head: A\n  tail: List<A>\n}\n\nconst Nil: List<never> = def('Nil')\nfunction Cons<A>(head: A): (tail: List<A>) => List<A> {\n  return tail => def('Cons', { head, tail })\n}\n\nfunction map<A, B>(f: (a: A) => B): (ls: List<A>) => List<B> {\n  return caseOf({\n    Nil: () => Nil,\n    Cons: ({ head, tail }) => Cons(f(head), map(f)(tail))\n  })\n}\n```\n\n### Either<L, R>\n\n```ts\ntype Either<L, R> = Def<'Left', [L]> | Def<'Right', [R]>\n\nfunction Left<L, R = never>(l: L): Either<L, R> {\n  return def('Left', l)\n}\n\nfunction Right<L = never, R = unknown>(r: R): Either<L, R> {\n  return def('Right', r)\n}\n\nfunction map<L, A, B>(f: (r: A) => B): (e: Either<L, A>): Either<L, B> {\n  return caseOf({\n    Left: l => Left(l),\n    Right: r => Right(f(r))\n  })\n}\n```\n","readmeFilename":"README.md"}