{"_id":"newtype-ts","_rev":"18-f328a574af9c195b0b66ac72d4d15175","name":"newtype-ts","description":"Implementation of newtypes in TypeScript","dist-tags":{"latest":"0.3.5","next":"0.1.3-rc"},"versions":{"0.0.1":{"name":"newtype-ts","version":"0.0.1","description":"Implementation of newtypes in TypeScript","files":["lib"],"main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","mocha":"mocha -r ts-node/register test/*.ts","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run mocha","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^0.5.1","monocle-ts":"^0.4.1"},"devDependencies":{"@types/mocha":"2.2.38","@types/node":"8.0.19","mocha":"3.2.0","prettier":"1.5.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^2.5.2","typings-checker":"1.1.2"},"tags":[],"keywords":[],"gitHead":"c5b435cda8086779727eef8b2a4f010ae650b400","_id":"newtype-ts@0.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.1.2","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-uQ5zg8CeTZS/EiYmh9M+7HSHDGyiOUXVcUag6cggRmcYhc7cbdPmcKeiqeim8HhMqXBVmQUnNLiUIPsZ2spBXg==","shasum":"9d37342c5f7948b0c0037b198e9852730c916ac5","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAuylWprSTW3HClvDJ3rnIRMrJwvP7eD3Sg/EE/zihRMAiEA4nY3JHoJr++aVjkyvIBDBa4dlBi9NsCFbAum3ctSfMY="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts-0.0.1.tgz_1504286384377_0.5835898739751428"},"directories":{}},"0.1.0":{"name":"newtype-ts","version":"0.1.0","description":"Implementation of newtypes in TypeScript","files":["lib"],"main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","mocha":"mocha -r ts-node/register test/*.ts","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run mocha","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^0.6.0","monocle-ts":"^0.5.0"},"devDependencies":{"@types/mocha":"2.2.38","@types/node":"8.0.19","mocha":"3.2.0","prettier":"1.5.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"2.6.0-rc","typings-checker":"1.1.2"},"tags":[],"keywords":[],"gitHead":"83708b2cfe36e55674230d1b0f324ac55e22e2cd","_id":"newtype-ts@0.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.1.2","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-+LZiS5Soa9nEfZIBJwhFLBGtJc9AZIvTfqVmpXVhxtMzM3ljJlpRlNymXEOFdfPCDpkm1VdR2yzBPx81oiOcXg==","shasum":"68c7df8f2e65fb20e602c0e3dad082b25db885b2","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcvoPzDlJDCxEuau3aLr3ywvKwPA28/Vk46uO5nijWLAIgPUiD7PWvjSWCzW0lCLLjE+9KuQCIP7URbaBuNJHipTs="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts-0.1.0.tgz_1508859742060_0.4123786485288292"},"directories":{}},"0.1.1":{"name":"newtype-ts","version":"0.1.1","description":"Implementation of newtypes in TypeScript","files":["lib"],"main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","mocha":"mocha -r ts-node/register test/*.ts","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run mocha","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^0.6.0","monocle-ts":"^0.5.0"},"devDependencies":{"@types/benchmark":"^1.0.31","@types/mocha":"2.2.38","@types/node":"8.0.19","benchmark":"^2.1.4","mocha":"3.2.0","prettier":"1.9.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"2.6.2","typings-checker":"1.1.2"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"gitHead":"dda8867208b6b9c5c87ba365b026e5a389200a75","_id":"newtype-ts@0.1.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-E6EC5XvS4JPHuT/Q/rPHkvAf7zr3Bett79NsxLQMJYmAVuyct/1SGVldBUnokmYjGxI+ED2V7ZLGOfgb+R7BFA==","shasum":"dd442ac1ef4a78329458db77fef464008b7b14f2","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHTcbtU7UZvtcIVnAU/WNfygNXlB6ZBepjFWEzewpS3+AiEAjw1jAaoiRWzuL2nvjB5n6O21ySTpWikf8izXhPbkE84="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts-0.1.1.tgz_1513604476112_0.2937093630898744"},"directories":{}},"0.1.2":{"name":"newtype-ts","version":"0.1.2","description":"Implementation of newtypes in TypeScript","files":["lib"],"main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","mocha":"mocha -r ts-node/register test/*.ts","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run mocha","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^0.6.0","monocle-ts":"^0.5.0"},"devDependencies":{"@types/benchmark":"^1.0.31","@types/mocha":"2.2.38","@types/node":"8.0.19","benchmark":"^2.1.4","mocha":"3.2.0","prettier":"1.9.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"2.6.2","typings-checker":"1.1.2"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"gitHead":"2a5bbbc938aabd1353c0a7dabc993ccde49d5a38","_id":"newtype-ts@0.1.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-R17592JTsJvMO/5Yk/+bXejmzMDo/KRlYkHGBk6Va1QGi0yF1+jEqJGbj5zijBQiJ9i+CaEVJhgCWC9Itco2zA==","shasum":"096050a4481932802e8c174ab6c0a80105c4eb44","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGfjjK1CwxScJUBH6HnVeueCk3mEbrYfgeEI6hXsfj+kAiEAu/qT/j9PmbioeOmnY5VD+EAe7NKxEFtG4E5uOCdHQ8I="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts-0.1.2.tgz_1514047512205_0.9283754928037524"},"directories":{}},"0.1.3-rc":{"name":"newtype-ts","version":"0.1.3-rc","description":"Implementation of newtypes in TypeScript","files":["lib"],"main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","mocha":"TS_NODE_CACHE=false mocha -r ts-node/register test/*.ts","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run mocha","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^1.0.0-rc","monocle-ts":"^0.5.3-rc"},"devDependencies":{"@types/benchmark":"^1.0.31","@types/mocha":"2.2.38","@types/node":"8.0.19","benchmark":"^2.1.4","mocha":"3.2.0","prettier":"1.9.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"2.6.2","typings-checker":"1.1.2"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"readme":"# Usage\n\n```ts\nimport { Newtype, iso } from 'newtype-ts'\n\ninterface EUR extends Newtype<'EUR', number> {}\n\n// eurIso: Iso<EUR, number>\nconst eurIso = iso<EUR>()\n\n// eur: EUR\nconst eur = eurIso.wrap(2)\n\n// n: number\nexport const n = eurIso.unwrap(eur)\n\ndeclare function f(eur: EUR): void\n\nf(2) // Argument of type '2' is not assignable to parameter of type 'EUR'\nf(eur) // ok\n```\n\nFor the `Iso` type, see [monocle-ts](https://github.com/gcanti/monocle-ts) documentation.\n\n## Lift a function\n\n```ts\nconst double = (n: number): number => n * 2\n\n// doubleEUR: (s: EUR) => EUR\nconst doubleEUR = eurIso.modify(double)\n```\n\n## Operate over newtypes\n\n```ts\nimport { over } from 'newtype-ts'\n\ninterface USD extends Newtype<'USD', number> {}\n\nconst USDFromEUR = (n: number): number => n * 1.18\n\n// getter: Getter<EUR, USD>\nconst getter = over<EUR, USD>(USDFromEUR)\n\n// usd: USD\nconst usd = getter.get(eur)\n```\n\nFor the `Getter` type, see [monocle-ts](https://github.com/gcanti/monocle-ts) documentation.\n","readmeFilename":"README.md","gitHead":"3837eba38d96bfd427cf4c35a4315f8622a1b62d","_id":"newtype-ts@0.1.3-rc","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-ijN5ifWjCoshQ2ZWXq5Ne9qjB//ymPEyZZuOIk5GhmEWW09YFu2eEqEVxXtcB3GrZ5f/tA/Vk6AneKGMbeMlzA==","shasum":"4c824531b2ecf3f84fba4f01d343a425924d1184","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.1.3-rc.tgz","fileCount":7,"unpackedSize":7567,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFjRZ2JB/dKNHZF/D+SWNCevg5O5vJtZGjEnnzRUY8vqAiEA3/izsfsA2wq5hZavXG+qEJMkiTKlmtWD3wGbWScNfgk="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.1.3-rc_1518015442701_0.5856711687714566"},"_hasShrinkwrap":false},"0.2.0":{"name":"newtype-ts","version":"0.2.0","description":"Implementation of newtypes in TypeScript","files":["lib"],"main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","mocha":"TS_NODE_CACHE=false mocha -r ts-node/register test/*.ts","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run mocha","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^1.0.0","monocle-ts":"^1.0.0"},"devDependencies":{"@types/benchmark":"^1.0.31","@types/mocha":"2.2.38","@types/node":"8.0.19","benchmark":"^2.1.4","mocha":"3.2.0","prettier":"1.9.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"2.7.1","typings-checker":"1.1.2"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"gitHead":"6e9f7f038fa717febcfbe5b03fa1e7034a600dbd","_id":"newtype-ts@0.2.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-SpXwI1Q0D3ST4MZw70G/Mwl1JAtNyL8Yg4l9wmAeEn13ndhRfVKi5toYsqZienDzjWgBLGWmhUHtnYvaX2+1+w==","shasum":"8306c9bdf73d54bf92c2fda6cb59e31d259a43e1","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.2.0.tgz","fileCount":7,"unpackedSize":7649,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIApGVftp4A6SB6Zgh2jAtE4fz0iKnEa3ZLC1Zk5c+D22AiA2fLwCMOZJtT/Y8Z/iiVGF4SxrBgdtoISBFBueGANu/g=="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.2.0_1518448399843_0.13763242048485824"},"_hasShrinkwrap":false},"0.2.1":{"name":"newtype-ts","version":"0.2.1","description":"Implementation of newtypes in TypeScript","files":["lib"],"main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^1.0.0","monocle-ts":"^1.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"8.0.19","benchmark":"^2.1.4","jest":"^22.4.3","prettier":"^1.13.5","ts-jest":"^22.4.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^2.9.2","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"jest":{"globals":{"ts-jest":{"skipBabel":true}},"collectCoverage":true,"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"test","moduleFileExtensions":["ts","js"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":0}}},"gitHead":"beed4834fd966ae9b0e325f29e427d92295b9c68","_id":"newtype-ts@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-Gnch+o9P/7RgKdkwx5mqWr3iR+Sxxvk2mykPaH93Y9WDhnVQ/ojdOoAGb9O/qHjnYMqJYW0xee9uNebdfpyCLg==","shasum":"9a88a721b2bf3bb4f2ab34db733be359190a634d","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.2.1.tgz","fileCount":40,"unpackedSize":22102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRi9QCRA9TVsSAnZWagAACggP/AxphGUv0UsPNJTc2RFI\nyehDKOmXl90fXTaWMAqtvrRKcGI3shVxokAVFQ0cV17O6w7CeziP2bx50JrR\nKsVtfpQ8JQbzH3t2IdePv1+DACdYgHDqnJoMlbcb79XBSkeBnaP0jqgnAl0S\nWq+oobarB2Nt4Cz5tks7NPmIhM7a9BVY9EZlAdz2fGW4E7v7RlGNnML/csk4\nXbdO7X9E29UzqnB8d91hSFj7QXdjvSCxXUtJY9fesURh20/zIyORPPzDsBlS\nJRnblINNLqdas7ElsFRivOOp+Q2XKhI3DnOr40tx8yDrNULWn1nyeoXlRG57\nRiveynKJH99l6MqGMX3DWuJEba0lQTw6CItZD0zaAtUnSPW7UrLI4OaZJMy9\n480L2u5XiiqBr+t0FXmXEiVWAKl6vSRGU80d0ztiMByAum0GZ2DIt3UPjun9\noksBo8PnUaoO1f5KH6wxMr8dkJavKV0wrNHvr6JXhzp4WhM7yRoPkhRgrq/0\nfbFjZjYks6dnveSuh0ekfPwtPuZIi8FNgn1+RO3URHqJ+Az++iboVf+ZA+SA\nM8yE2ykr4XyuRD2IOWQiELdf2bjkpvwEULqsxfboZMe933+rbXivO3kQ1c4C\nNEyA3Xj91FWiR9kY55K15+rjpCYCE+2PGoDWjaqPL3gAbCHEzjp69+Rmgn8C\nLC5G\r\n=jodq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRh3GootWkWUmkwrhQ8Wcpp/QbojmOyeCSIoE5EMG3ZAIhAKl0GdG3/qyMtbmLmVnpnARzkO6Eeee0p2oafEiicSkt"}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.2.1_1531326288601_0.9960630968402757"},"_hasShrinkwrap":false},"0.2.2":{"name":"newtype-ts","version":"0.2.2","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^1.0.0","monocle-ts":"^1.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"8.0.19","benchmark":"^2.1.4","jest":"^22.4.3","prettier":"^1.13.5","ts-jest":"^22.4.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^3.1.6","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"jest":{"globals":{"ts-jest":{"skipBabel":true}},"collectCoverage":true,"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"test","moduleFileExtensions":["ts","js"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":0}}},"gitHead":"bd06202cb4ea76f300f77c13d9155046296d05d3","_id":"newtype-ts@0.2.2","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-6nBxHcagj6hNbloFYcLqImY6sO5G8jg+009GSzpi415usQ4R0qIUSUsk8JH7wwKI/cZOdURWDCeIiQ9F8qCa4Q==","shasum":"43522960469d7c12675aaeb0523dd139e8653b9f","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.2.2.tgz","fileCount":46,"unpackedSize":24960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4GEnCRA9TVsSAnZWagAAcMUP/2ngFI5mbSl0/kNTJEtI\nVY72a+KXwKE0pP2FUHd/Co2M1m5u3ZUMuDihBMrbYtJUQx8HUalQqvfqfgUW\nb5Er4EK0yxbqhVjycm6A5HdO19KshzuFA9bvnULhlB4djJK3OPNGmhVcvApv\nbxcFqlBNz1V5su0tlYWBHBXJ53UKy4q8/5c4ky26c+VOULSkKCgSL+hr0hef\nob+vtNKkpv7qzJ9CVZS6+QZJi9G2ippLOsNLCMINGia35rDKYLX+OzqRBpqY\nhul7pxkphUIOcHe28jUAgzerRrUlDVzkbgeeZn/TfAWlGqBcF8a1A4Ze4BiG\nEBn3eonpIRa/ZQqka8LFuREO6wIK8DHplDqpKirdIuahi6LWxPDJitVlofDS\n5/lHoT/Rfjb7G4r5kjWzq3EaYPIIXHQt6UQdj/B2wkaPePPoIF3dlbb3kMOa\nEDvW5NronxuDFUFi5s0pp9kUsenOssmiZxT3sAskxAM8Vp4u80ddY3D40vqM\np6PtwfBBkI6HvhKmcdqkO6+t4Jc2F2lSipLOoR8sIKkv7sJHEV/v9znCSGOB\nqPCbBsVFsqNfYpJoMF0wUjU+vGxwWrtq2Oj5Fhl0ufdWk1QyYdck7SCpuUaF\nYS8x+ZSO8k0w8oJBjhtDN4wbV+Gca4U4HHd3mkC7Y0rax/JnKYoG2gj3jQCV\nY+Tr\r\n=KN9S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQKa1Pu78USb0rbdFtTcVB7FdTylIYj6Bta2S0fppXrAIgRXpEs7GZ81jle5LrGvTdwARq3s6UO8R67hhxrp2AzkY="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.2.2_1541431591076_0.14563846372078992"},"_hasShrinkwrap":false},"0.2.3":{"name":"newtype-ts","version":"0.2.3","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^1.0.0","monocle-ts":"^1.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"8.0.19","benchmark":"^2.1.4","jest":"^22.4.3","prettier":"^1.13.5","ts-jest":"^22.4.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^3.1.6","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"jest":{"globals":{"ts-jest":{"skipBabel":true}},"collectCoverage":true,"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"test","moduleFileExtensions":["ts","js"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":0}}},"gitHead":"57686b80b34fe35c0a83fa6f3a182ef772c9d68a","_id":"newtype-ts@0.2.3","_npmVersion":"5.6.0","_nodeVersion":"10.1.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-KeBauCvtReTRca1eHVmtgWRCjExDJM7R44P/hDy6j3pEWdUtNP00L3kMoP4xy52+EU9yKMdC6kUxowUIdPPg6A==","shasum":"6beb9aaa89bb22b6c2334edea6b0a77055eac5ce","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.2.3.tgz","fileCount":46,"unpackedSize":25037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6Yl2CRA9TVsSAnZWagAALhwP/j0fff/Ui2ZuRtTzyrCI\nZh0z4I8CDvRvF/XIbsR+d6fHK6oIFRoA2Uxj/YFmoxN+lrdMbrdAiHBxLC4l\nPfDLAHBo4wS+PWYqqB7lW7s0z2bS8ltS1qNPWcOALPaIggmPpsHCc1t4SrUL\ntEB2WLZFrkb/nBCvWKhFgYG/D+HYBkricSoEBIkkssP7uuqIbyQo100dpVQ8\npe86GgN3kRFvWtqC+FGOaYOTfrYe+4hNu5HigwNxG1TD3Wlc3703PFH2dPPx\nkFV1L2N4nxJFbBkVA/sXyT4Tr7m9H2h6U1E5sfoxaaIrtMnZFSvZpjdeJXAU\ncwmFYLJ6xI1HeAy608wUYX9pmg9ON0S08Db+rXR36dmXCmSeolxZ2Z3Ny+5j\nh/JU/F2nbDXevUcnrzpacFGMZ6RrXCwKWfi/2lwEz8OoAFsgPUFEPeBsuMi3\naNFAtLjpr+YbHtiR+Zq9aF0FAV07XuD2yOW3uJamCpevAl3PGZ7JpVshgBfb\nA03T6nJdOArouoZpNttXqH/lDG/SssdrS3ESbr2X47LVi86qUMao7+GGOOJO\nep0vsr2psCYf0woy0Prjkt6DUkzNspw4yXVJVeVzGlnXKw/BEyxe8SiPdjuK\nk8ojWQmsJqeJj0sfZ+btgqzC/O4PPR+/wp9Tbhct5/EJxJ7CCuNJFYuUJhfG\n2uoC\r\n=HXq1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYCJa5hwOMbhkFdb4NIE2w3sJzd16p8sgxjVCB3A9nOQIhAI619UM9PG+9gaT+JZwzdf5h5Kkc0Nysv00hWCe7/HCy"}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.2.3_1542031734065_0.41604090742391553"},"_hasShrinkwrap":false},"0.2.4":{"name":"newtype-ts","version":"0.2.4","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest","clean":"rm -rf lib/*","build":"npm run clean && tsc"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","dependencies":{"fp-ts":"^1.0.0","monocle-ts":"^1.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"8.0.19","benchmark":"^2.1.4","jest":"^22.4.3","prettier":"^1.13.5","ts-jest":"^22.4.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^3.1.6","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"jest":{"globals":{"ts-jest":{"skipBabel":true}},"collectCoverage":true,"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"test","moduleFileExtensions":["ts","js"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":0}}},"gitHead":"6e6cfefa80947a52c96e70ad76564678037d9acc","_id":"newtype-ts@0.2.4","_npmVersion":"6.4.1","_nodeVersion":"10.1.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-HrzPdG0+0FK1qHbc3ld/HXu252OYgmN993bFxUtZ6NFCLUk1eq+yKwdvP07BblXQibGqMWNXBUrNoLUq23Ma2Q==","shasum":"a02a8f160a3d179f871848d687a93de73a964a41","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.2.4.tgz","fileCount":46,"unpackedSize":25142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWTlSCRA9TVsSAnZWagAAqZgQAJvYI1UJzttc09ng+tHd\ntosoP8Tn8QiihgetpGVQfQMbbgGvGkvJzQlFpNza7QjAVqcF/rE/EIJXqsXg\n1egitvMngKfFgrYTdrcpbK5/nqWJMZOvDhZ/qMsgSf3//OTtgPwYlSvqUj1E\nv96Sdcn6nxShydmvhsbDfqKi6/liZyV7feYrVtm4WFfAPG+BiuRrSF7YshWD\n+OXwskOXIYgd9E6XSvAHbuzDewaPG7wKQDuFZLf7NzEnby3c97yDXw+Hppph\nRyNY//brstN67vLlR036bOOckIalXWwwA9nmxi1tr4ap0MvV1ELPer8wSwHj\nNXbjPHb96ZSfmKgISPEw21m3MDftBVwp1HRlQWrZ2yY9Mz1VsSRTvI4z+08M\nXAZ25RsTxAILaYthTPAE2oS4aREOP7Hd5yhoKu+YbhshSNkAG5k9K4V6KDkc\nUUB1m+uaqfJCqR2C7YG2JvFzvEh/k/GpLoCJ9YwGwXYhzmBD4sP9bf6Xn02H\nNZdpnC5Zk6Lykj4lQovgO6LaX4VB+Fv7jUW0+wplzK2pEUPfXWSsI3GCKBrQ\nYA+e8+Uv14KKR2N5Usm8arRSkY7V1jIFQ/Z0uM9UP4PoRRftnTog88T+DQKY\nuQNFCX0N8U3EFBH0Xg9v7HgetM+qAmx+tLuvTWEMiRLKPOJjGuIbpSYOOUy2\ndfLT\r\n=iPcb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDjpv5E7EQMpr5ad1DMOUv3Zb412Z8sMc3JY7OR44VvFAiAX9B0jaQ3jXT4sVidHcyA9dXPPOqZtqrBZ50ev8m6Itg=="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.2.4_1549351249308_0.14339283849549878"},"_hasShrinkwrap":false},"0.3.0":{"name":"newtype-ts","version":"0.3.0","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","typings":"lib/index.d.ts","scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest && npm run docs","clean":"rm -rf lib/*","build":"npm run clean && tsc && tsc -p tsconfig.es6.json","prepublish":"npm run build","docs":"docs-ts"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","peerDependencies":{"fp-ts":"^2.0.0-rc.6","monocle-ts":"^2.0.0-rc.1"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"^10.12.21","docs-ts":"0.0.1","fp-ts":"^2.0.0-rc.7","jest":"^22.4.3","monocle-ts":"^2.0.0-rc.1","prettier":"^1.13.5","ts-jest":"^22.4.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^3.5.1","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"jest":{"globals":{"ts-jest":{"skipBabel":true}},"collectCoverage":true,"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"test","moduleFileExtensions":["ts","js"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":0}}},"gitHead":"cd132d82cc542875427fc3303a4c3c416b07f942","_id":"newtype-ts@0.3.0","_npmVersion":"6.4.1","_nodeVersion":"10.1.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-5X4guDVw6xwLyGJwIaZyizU6mlhCDVjw5KSU4gT6WrTCMov2ajnYT0AWAMaDSyf2vn3GzZq+EMVmKUgxQlgaxw==","shasum":"8cdf1f070bd47bc0e9b53fd8a004562f558e8970","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.0.tgz","fileCount":88,"unpackedSize":45428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdC68LCRA9TVsSAnZWagAApOgP/10o1kc4JMwn5R8tcY7r\neRHXgrOD7H/dHpAOlGjbcgv6mCFp+e0ZG77byQ5LRyiQsi1m9x7IQBVoNI2g\nxeLe48WhVEJcr2DAndwLmdQiIhDgnWe+jJaNTYp5FCow3PBfShEikSp8n6FD\nsWU7euLej4is8cOY0moMj90iraK0QFVJxb8jW6iEgLVll2bMutyab6taIhQ7\n1FW0CvzKuEGDvJpBeI41qU9e8rgYMtAswR+yucwllbtN6XmHHJQ92gu9KbXL\npulk59lTYUOcZbwC4hpyJFMPKlIlifpdrwnLR3C/V2yiXshpzsJKfm9tB45H\nuOs9dF0rFFTLcuZyMsb8Y4GfSaQMNrp7VoidmQP7Tk8gwxAPXhXL55NhVpRa\nC0ZxPbk/ik6QhkI98wfmH0pWgpz9UuDMLWkacmHGFDsVA8RGP8re32bvegIZ\nyuT7+Xd4unbh9WOMiuVMJGgr0I6xB7ETsspankW9UbfM1m63MgL6sskDVM1e\n2d7p3HvqX7/UBGQgPVTAOCVt6dttPhu5XR8lsVc7cy4k6Q42BiEgXXiYXdPm\nwPXQC8S7crOlkzTHlsa5xapQUbE1l9PR1/dHplVHfyDF0oHXFwtfh2fVhZ3X\n7r4YmOOYDW5YDINc4HwxAfNdL3DvltS1x3neGLRcmnnHFo51V+PAosEZTThT\nel7Z\r\n=XfDx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBwi84gMcT6teum3imuwjzk7fI3mbB+zzjIJwWlO7dToAiAtRY7XKmLycA+B911DCRBGQfV18D/W/UT35Y9qfG2ZOA=="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.3.0_1561046794697_0.7295408683496112"},"_hasShrinkwrap":false},"0.3.1":{"name":"newtype-ts","version":"0.3.1","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","module":"es6/index.js","typings":"lib/index.d.ts","sideEffects":false,"scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest && npm run docs","clean":"rm -rf lib/*","build":"npm run clean && tsc && tsc -p tsconfig.es6.json","prepublish":"npm run build","docs":"docs-ts"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","peerDependencies":{"fp-ts":"^2.0.0-rc.6","monocle-ts":"^2.0.0-rc.1"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"^10.12.21","docs-ts":"0.0.1","fp-ts":"^2.0.0-rc.7","jest":"^22.4.3","monocle-ts":"^2.0.0-rc.1","prettier":"^1.13.5","ts-jest":"^22.4.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^3.5.1","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"jest":{"globals":{"ts-jest":{"skipBabel":true}},"collectCoverage":true,"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"test","moduleFileExtensions":["ts","js"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":0}}},"gitHead":"bcbce8b5fdab408e25be00dd3ce40cc9c530bdbf","_id":"newtype-ts@0.3.1","_npmVersion":"6.4.1","_nodeVersion":"10.1.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-Meat28GdnlYxtVJD3+3Z2xv+tXws99qG1QT2VrCqxfPpnay/MilRuVAOtDSi8d8xp1gOl7rny5JmXOUs3aJlXg==","shasum":"6a74f178ac1297679c22d4de525e380503b82c3d","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.1.tgz","fileCount":88,"unpackedSize":45737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDG42CRA9TVsSAnZWagAAm44P/AuZ6KmRAB2tZX/xIN9U\nwLHT+MDHP9pCqGJAwMGZ/CoUDl2y+ajY1q40dZA3lnktFXYsFwUpyYCzqrhz\n3F60HMSZnm9jceHEYEBY1PAQs9rOIZrwYCo5qgBWrIpcgUkCsEV+N9RRqp0+\nbbxmvdrUxZDP02Ju4wCf3SRM8qDpmeKy8+nQ/9jfwACKaVx/8UDLhWohl9lw\nJfHfsbCWQMHaQuU+Uz0PNMGNE4Z+s6/3qL4D/P08rodQGLYUfU7ZOel7y67W\ngU7EimlUXeY+SD4Ybx/+LeScckVvTx9+tKbpyyNkOQcOq/8uyndBBCIils04\n/dzSD6mjwREZG9X9170cwH5hV0AWE2IA2+ydCjVhrTP0Fc7NHpiUOj3pq1GA\ncRjndG9Utx97dwSLgt2rzNRfPeUDu7a456/XzY5zGa53NJ7MajHMGWqo6n55\nW7WeehAwKT8FRZH5arEC7xPDaJoG7vVo1Vet1GxZ+9j2yyxjfHBzrCVVco7h\nIv8faN0dLMJ+YXwQ9KYQjmPi0otgS7RpekJY8Nkfwx7sLPphQohwOzgJ1yGg\nPFkZHLww9DHFoq+pOwuFH9bxdJyHyStc4y/G2Va3tS3vZJETQVoRzhAJIQ6H\n2jUeAXIsXMoovN9Z6BPTgEXrbyPVhV+dS8v26qNosxyIaKgf2qVZjxo+j9xq\nT36i\r\n=ymB0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKhOHmNNR16iLkKRI+ZKen20g67BYYSIijYPYJo8cQsAiBKwBpR/JxkXPwpaR9U5C44jTzGMReiyAaLNRfAiRlLaQ=="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.3.1_1561095733828_0.4190090226301806"},"_hasShrinkwrap":false},"0.3.2":{"name":"newtype-ts","version":"0.3.2","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","module":"es6/index.js","typings":"lib/index.d.ts","sideEffects":false,"scripts":{"lint":"tslint src/**/*.ts test/**/*.ts","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest && npm run docs","clean":"rm -rf lib/*","build":"npm run clean && tsc && tsc -p tsconfig.es6.json","prepublish":"npm run build","docs":"docs-ts"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","peerDependencies":{"fp-ts":"^2.0.0","monocle-ts":"^2.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"^10.12.21","docs-ts":"0.0.1","fp-ts":"^2.0.0","jest":"^22.4.3","monocle-ts":"^2.0.0","prettier":"^1.13.5","ts-jest":"^22.4.2","ts-node":"3.3.0","tslint":"4.4.2","tslint-config-standard":"4.0.0","typescript":"^3.5.1","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"jest":{"globals":{"ts-jest":{"skipBabel":true}},"collectCoverage":true,"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"test","moduleFileExtensions":["ts","js"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":0}}},"gitHead":"7f86bf4f35f6fe76323639a939fa9860dbc9f9fb","_id":"newtype-ts@0.3.2","_npmVersion":"6.4.1","_nodeVersion":"10.1.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-1F5ff8LdXtMgcuy+t2F0q6b8VCt26YiXCw/YCSLacBBGH5N+fkFzNoRzvvP6JAjmFCb1Zcfyn0ZyJOCJIpTkKQ==","shasum":"a25db880f9c601b4ea8fc61658ffa399d60f62e2","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.2.tgz","fileCount":88,"unpackedSize":45802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGyGTCRA9TVsSAnZWagAAZ5QP/3YJrN4Ag997kWdDZ5JK\nHQAWuASMaIBBJQD89UUE5k3vQ20KmBRgan3dIvaNl5zDN+SSgLlAjVd5OpHr\nKWSctxw6esj8dTjqdQa/eo7Ko97TJd2mXqEaWdiHGtC9eyIxwkcNKwn+CLKv\nz1e3cQgK08ryofTwc+RBenTgyNbs4E8bpvAHFawsZzcHhoKfk5TmAd2WBFN1\n/g9DSk32djpUedThphTDodxTXjhPAcZI+wZC7l7pHVbGVaU2IHSOILQ7mSh6\nbIqBZtUqHaQmqpD746qkygz+rQ3JCti27RKWfqZY/3e9p0ngLs3MRujDG3D9\nGL7vdK5cvD5Y9PSPwWvsey9U/SMhuxC2fFy2xtvNNvAJpf8RTeKDsLgVCnyv\nBcy+yW/Krd81WrBvjYQ9SwntyHuObuE9A9xGvu0CHjq+nWp4a4chhivgEM8a\nxsgo1AlFO69wfuHEVUsyp2lsdvl3b7nUFWsICJRezn9KYEjUfe7LunVgCkLQ\nzfc9MRt3d7aWmTSawPfXRXsu8sHLyCSrgHVkBw5b0grIh3b8hnvBbhGFjZSI\njJgSfiKL07B+bJ76PUxLo2YKBPjBW03gAOZgcUQjhtR55schS6qosJaCCAeB\nz7x25EH/YG7keaNhqE/MOikI6FwUQWjpQ15cgBx9+vzBr9LB6dZ3bpwrb+2K\nDkFF\r\n=TcdG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+HSogye2N7Arw6sAOPzw8GwjxE4R3xn5JWCyiZgIgNAiAjtxZ9qmK0ouMMMYbHKZFM9T8G/O34IzccExyEzodOHQ=="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.3.2_1562059154331_0.1711999889901934"},"_hasShrinkwrap":false},"0.3.3":{"name":"newtype-ts","version":"0.3.3","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","module":"es6/index.js","typings":"lib/index.d.ts","sideEffects":false,"scripts":{"lint":"tslint -p .","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest && npm run docs","clean":"rm -rf lib/* es6/*","prebuild":"npm run clean","build":"tsc -p ./tsconfig.build.json && tsc -p ./tsconfig.build-es6.json","prepublish":"npm run build","docs":"docs-ts","postbuild":"import-path-rewrite"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","peerDependencies":{"fp-ts":"^2.0.0","monocle-ts":"^2.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"^10.12.21","docs-ts":"^0.3.0","fp-ts":"^2.0.0","import-path-rewrite":"github:gcanti/import-path-rewrite","jest":"^24.8.0","monocle-ts":"^2.0.0","prettier":"^1.13.5","ts-jest":"^24.0.2","ts-node":"3.3.0","tslint":"^5.9.1","tslint-config-standard":"^7.0.0","typescript":"^3.5.1","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"gitHead":"8bc6015cb03bd09876fbe5b7cf6260227adec445","_id":"newtype-ts@0.3.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-BF8z20WjY0KXbeMeWwmcA/w4Ul2TMa7c79oBDpSeGulnlWTlehC55VfrsZ02rUtKymC6ewWaAJzVIn+Fg98A3A==","shasum":"e6a7cd7f831bef69129c735da966c4a880f9c02b","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.3.tgz","fileCount":60,"unpackedSize":34276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF1mCCRA9TVsSAnZWagAAA3wP/36wqlmkja6XfqMU3Mjn\nOgVbH9lBa5/DCzsJ/RbjQ3LsD4fJpw9R1KSg5ne8R14BzHXvILdixFEUcgDO\nQzuQFpTLL+wXfC8JJufWty8ehFKQzLdc35Nu9jmH37amYYOFUULyURZyrC9d\nIZhYpgMTFVOuvmK7JUObx1+hDpAwhPjCS03gnWNEpV6OjiD9ho9l5EH3o+OT\nyIje1KA3RAs+EWgvnBL2VlQnl+eXK03QuQyon2w8DCv1XQrNifE7Y2UU5t9I\nSnmPjDATlEx2HEdW+GgFDS2+pCdXpz0J3YyFV0k0dcG34gNM1IW7+YC863J4\nUXawIo8bcsMwTibfN9LJUnHEdBYtkPyxED7tEp8Lp58H+1kN5xPVs2anTqX/\nhuX6yYQEw510JwbMPDSwisEORmbBw2iXz/4g1K+5+SmuZH4WnEK+xFVjuKpF\nV6lBbeVMkr5iRY71ujOVB/juncy9M1JHupCGk3N6BXaq7IEIx/+HzfmxkGTO\nbNqNIe1Jf7pu7FzFMN9lwDpLKoMKWHz2XvDa4ipCex4g+F3SkpQGfPr8YzVq\nBcfLLJBI0excrx0hudRfPsQd6YIIxcLOhiwSnooF2fi2yR9TlZ8DCJlEvvbd\n0voCM1fnV7uFh25KyF/QdC+5ap1N5O5va66KldVkuk4pwJ2qgtr1xyGiGr6I\nn8De\r\n=VoFB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8bHdZ/LFt+6qSTPPb9qwn95ITpI+JZaOJRkXoxZ6TbAiAyPTSTRDS7xFtjK7A1f6aeUqCkjqPT9NKYHN9UX+uOOw=="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.3.3_1578588545535_0.9913474042335255"},"_hasShrinkwrap":false},"0.3.4":{"name":"newtype-ts","version":"0.3.4","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","module":"es6/index.js","typings":"lib/index.d.ts","sideEffects":false,"scripts":{"lint":"tslint -p .","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest && npm run docs","clean":"rm -rf lib/* es6/*","prebuild":"npm run clean","build":"tsc -p ./tsconfig.build.json && tsc -p ./tsconfig.build-es6.json","prepublish":"npm run build","docs":"docs-ts","postbuild":"import-path-rewrite"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","peerDependencies":{"fp-ts":"^2.0.0","monocle-ts":"^2.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"^10.12.21","docs-ts":"^0.3.4","fp-ts":"^2.0.0","import-path-rewrite":"github:gcanti/import-path-rewrite","jest":"^24.8.0","monocle-ts":"^2.0.0","prettier":"^1.13.5","ts-jest":"^24.0.2","ts-node":"3.3.0","tslint":"^5.9.1","tslint-config-standard":"^7.0.0","typescript":"^3.5.1","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"gitHead":"4c4c94c4f21664871b2a8e3f031fa052f71157e0","_id":"newtype-ts@0.3.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-lFJnWAt0oXX1j1ErNy9RU5+FPNtVyzugHW2MchaaMiOeeS9LEmqAAOqyHPFQ0Uw895jStSYGSCslrByzYxFJYQ==","shasum":"65c74b7d5195edaa9abfcdba6549a33a5c0e298d","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.4.tgz","fileCount":60,"unpackedSize":34736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOoBQCRA9TVsSAnZWagAA41MP/RqTuCkbyDH9f8X6CfVe\nuVBe75ShXSx01KF4nFXHNkfvpphWBTUmvwXtIJKR1ZyKh1dd0ATbZvy1IPI+\ncmi2LvMyCLHoSaGdIDqsOm5jXlw8ke4obMAy+i38wclQ9g6Xi4txHl97Wc5H\nYgFMPxWX5JslTAuXReWJnDRmPwOYnRDR/SbB/y0OmcKRotoE4wUJH6HHc+hm\nWao/j/X8Ma5OS4Is1pMZNga4AaxmazWfdGM+aoPsXgsH8r0DmVdiTZZykdg9\nHj2hyIh3gw6HYm8V5D7MygW+RdKi5rSL/sF1Gqw2i1dqEYeLrJ0mPDmrUPU1\nDFK45aipftcKvEMzYhOUAvL24N2CZAba2gaWk6nnZlJrbfgKUGpI8oTc58wG\nL93xAIACieZPWonImmryXDjdkOTPWHaR0fIn3mifAV2oIrD+BiakNYMGIlrm\nrfWCCxKNKVQnbldljLPAARBZTchTvpOgVHkXXzTOhq+GxY3nCejtdNkwZ33u\neBoOLATM5K3tDBlFZvb2Rq/eYyCKOSevdM3Na7UqSsu/vmf+QfiYCRUew6iX\nHgRPEmWktbmct5kV1VaXUApDJctaBcs164VQYzJRL9euyy67ICBe1GiKUEIU\ntQ+lV2ZrL667HxqmKwiNzQbiYf0CYfT3EVnMDOiHvNBqwhEVxN3G6KN2ykPA\nswB6\r\n=dqKt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZ20vjfgpvOUqmNq/5K991PT7X0z735fw2ouI1Ydb8IAiB2gzZFak/drfc+jwzBrnTOjXUUHt/wH7kTAGRgmnvOxg=="}]},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.3.4_1580892240543_0.18730076003788465"},"_hasShrinkwrap":false},"0.3.5":{"name":"newtype-ts","version":"0.3.5","description":"Implementation of newtypes in TypeScript","main":"lib/index.js","module":"es6/index.js","typings":"lib/index.d.ts","sideEffects":false,"scripts":{"lint":"tslint -p .","typings-checker":"typings-checker --allow-expect-error --project typings-checker/tsconfig.json typings-checker/index.ts","jest":"jest","prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --list-different \"{src,test}/**/*.ts\"","fix-prettier":"prettier --no-semi --single-quote --print-width 120 --parser typescript --write \"{src,test}/**/*.ts\"","test":"npm run prettier && npm run lint && npm run typings-checker && npm run jest && npm run docs","clean":"rm -rf lib/* es6/*","prebuild":"npm run clean","build":"tsc -p ./tsconfig.build.json && tsc -p ./tsconfig.build-es6.json","prepublish":"npm run build","docs":"docs-ts","postbuild":"import-path-rewrite"},"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"homepage":"https://github.com/gcanti/newtype-ts","peerDependencies":{"fp-ts":"^2.0.0","monocle-ts":"^2.0.0"},"devDependencies":{"@types/jest":"^22.2.2","@types/node":"^10.12.21","docs-ts":"^0.3.4","fp-ts":"^2.0.0","import-path-rewrite":"github:gcanti/import-path-rewrite","jest":"^24.8.0","monocle-ts":"^2.0.0","prettier":"^1.13.5","ts-jest":"^24.0.2","ts-node":"3.3.0","tslint":"^5.9.1","tslint-config-standard":"^7.0.0","typescript":"^3.5.1","typings-checker":"^2.0.0"},"tags":["typescript","newtype","functional-programming"],"keywords":["typescript","newtype","functional-programming"],"gitHead":"04b8f4ed9b47dcff2c485693678105821f156e52","_id":"newtype-ts@0.3.5","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","_npmUser":{"name":"gcanti","email":"giulio.canti@gmail.com"},"dist":{"integrity":"sha512-v83UEQMlVR75yf1OUdoSFssjitxzjZlqBAjiGQ4WJaML8Jdc68LJ+BaSAXUmKY4bNzp7hygkKLYTsDi14PxI2g==","shasum":"5c113d34a04938d9e90061437638260ea965c490","tarball":"https://registry.npmjs.org/newtype-ts/-/newtype-ts-0.3.5.tgz","fileCount":60,"unpackedSize":34841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5ZtaCRA9TVsSAnZWagAAb3YQAJOA7Qs881PyhqeOTPOt\nj76O6DDRz4k3o05EqJ+Pp4Z6+Lu2nYh1L79dWRII/XHdm5G0mmHtDU7QAgOE\nUe6idyfQu+2vhH9feAoUdARj9ZGi00HVMP3uk8aOYF9Cruq09K2UJbMQB2Sy\n74/WVONmbO2G1qYOr5GfeHkgMcecTZG8sIHHdjaufvR/+zwSyohAK07+57zj\nKpgTHvzBBZ8OboQVN11nmxcx9bXLxq3DqIXgYVHrL6wTOH/ovqPbm3FhXHZZ\neDljbdO5MryG8BF4JQjrE9HrIUeIjgBavzIPxoQG0Tf08BjzQxTceyHYw8/K\ntas+bm3Mi9HfWjVBTEhwZ1YcSdqNt/hyPCL423WK0miu/PLAtC3gKDRpvQjN\niyGALyD8C3frH+ZprkRQPU12CoKy3i4EH2xJEEqvNRp+HhBbJHtbMRGg96Kb\nROB0GQwW0EyJPgVnNvao6wpQmiC1zuy8z8gpf9Qq17B1DC1BoASIaawbEjLm\nJk4gLl6QjD7+OD7nY9TyodYKV/ku8yHAqbO+ettiBLUsDbc3NH0z9qlQOFVD\nU35LccrH3TdI7DOd/Nz7llV6kOD+oPlpEqOH4p12aq8ZoxFm62mMbU5QWKRD\nX3IVbi2GaWG2EI2uFhzMSRQ5MRxYSi5c7/5l/OY9V0K8PWTpTXBbW53qzMI5\nySuA\r\n=W+cy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/HXwgo86T+8Z0wGJdEJBYtp9eAQO2/Nt5w2gB9I2gEAiAHmEieH3jGGSxRtnXtKYQ3E/L0HRHA1SSaEGOSf9XEyg=="}]},"directories":{},"maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/newtype-ts_0.3.5_1642437466470_0.4367081639179107"},"_hasShrinkwrap":false}},"readme":"[![build status](https://img.shields.io/travis/gcanti/newtype-ts/master.svg?style=flat-square)](https://travis-ci.org/gcanti/newtype-ts)\n![npm downloads](https://img.shields.io/npm/dm/newtype-ts.svg)\n\n# Installation\n\nTo install the stable version:\n\n```sh\nnpm i newtype-ts\n```\n\n**Note**. `newtype-ts` depends on [`fp-ts`](https://github.com/gcanti/fp-ts) and [`monocle-ts`](https://github.com/gcanti/monocle-ts), starting from `0.3.0` you must install both `fp-ts` and `monocle-ts` manually (`fp-ts` and `monocle-ts` are listed in `peerDependency`)\n\n# Motivation\n\nA common programming practice is to define a type whose representation is identical to an existing one but which has a separate identity in the type system.\n\n```ts\ntype USD = number\ntype EUR = number\n\nconst myamount: USD = 1\n\ndeclare function change(usd: USD): EUR\ndeclare function saveAmount(eur: EUR): void\n\nsaveAmount(change(myamount)) // ok\nsaveAmount(myamount) // opss... this is also ok because both EUR and USD are type alias of number!\n```\n\n# Usage\n\n## Newtypes\n\nLet's define a newtype for the EUR currency\n\n```ts\nimport { Newtype, iso } from 'newtype-ts'\n\ninterface EUR extends Newtype<{ readonly EUR: unique symbol }, number> {}\n\n// isoEUR: Iso<EUR, number>\nconst isoEUR = iso<EUR>()\n\n// myamount: EUR\nconst myamount = isoEUR.wrap(0.85)\n\n// n: number = 0.85\nconst n = isoEUR.unwrap(myamount)\n\ndeclare function saveAmount(eur: EUR): void\n\nsaveAmount(0.85) // static error: Argument of type '0.85' is not assignable to parameter of type 'EUR'\nsaveAmount(myamount) // ok\n```\n\nBy definition a \"newtype\" must have the **exact same runtime representation** as the value that it stores, e.g. a value of type `EUR` is just a `number` at runtime.\n\nFor the `Iso` type, see the [monocle-ts](https://github.com/gcanti/monocle-ts) documentation.\n\n## Refinements\n\nAn `Integer` is a refinement of `number`\n\n```ts\nimport { Newtype, prism } from 'newtype-ts'\n\ninterface Integer extends Newtype<{ readonly Integer: unique symbol }, number> {}\n\nconst isInteger = (n: number) => Number.isInteger(n)\n\n// prismInteger: Prism<number, Integer>\nconst prismInteger = prism<Integer>(isInteger)\n\n// oi: Option<Integer>\nconst oi = prismInteger.getOption(2)\n\ndeclare function f(i: Integer): void\n\nf(2) // static error: Argument of type '2' is not assignable to parameter of type 'Integer'\noi.map(f) // ok\n```\n\nFor the `Prism` type, see the [monocle-ts](https://github.com/gcanti/monocle-ts) documentation.\n\n## Builtin refinements\n\n- `Char`\n- `Integer`\n- `Negative`\n- `NegativeInteger`\n- `NonNegative`\n- `NonNegativeInteger`\n- `NonPositive`\n- `NonPositiveInteger`\n- `NonEmptyString`\n- `NonZero`\n- `NonZeroInteger`\n- `Positive`\n- `PositiveInteger`\n\n```ts\nimport { NonZero, prismNonZero } from 'newtype-ts/lib/NonZero'\n\n// a total function\nconst safeDivide = (numerator: number, denominator: NonZero): number => {\n  return numerator / prismNonZero.reverseGet(denominator)\n}\n\n// result: Option<number>\nconst result = prismNonZero.getOption(2).map(denominator => safeDivide(2, denominator))\n```\n\n# TypeScript compatibility\n\nThe stable version is tested against TypeScript 3.5.1\n\n| `newtype-ts` version | required `typescript` version | required `fp-ts` version | required `monocle-ts` version |\n| -------------------- | ----------------------------- | ------------------------ | ----------------------------- |\n| 0.3                  | 3.5.1+                        | 2.0.0-rc.6+              | 2.0.0-rc.1+                   |\n| <= 0.2.4             | 2.8+                          | 1.0.0+                   | 1.0.0+                        |\n\n# Performance\n\n```ts\nconst double = n => n * 2\nconst doubleEUR = eurIso.modify(double)\n```\n\nTest `double(2)` vs `doubleEUR(eurIso.wrap(2))`\n\nResults (`node v8.9.3`)\n\n```\ndouble x 538,301,203 ops/sec ±0.45% (87 runs sampled)\ndoubleEUR x 536,575,600 ops/sec ±0.27% (87 runs sampled)\n```\n\n# Recipes\n\n## How to lift a function\n\n```ts\nconst double = (n: number): number => n * 2\n\n// doubleEUR: (s: EUR) => EUR\nconst doubleEUR = eurIso.modify(double)\n```\n\n# Documentation\n\n- [API Reference](https://gcanti.github.io/newtype-ts)\n","maintainers":[{"name":"gcanti","email":"giulio.canti@gmail.com"}],"time":{"modified":"2022-05-10T14:32:12.574Z","created":"2017-09-01T17:19:45.308Z","0.0.1":"2017-09-01T17:19:45.308Z","0.1.0":"2017-10-24T15:42:22.967Z","0.1.1":"2017-12-18T13:41:17.045Z","0.1.2":"2017-12-23T16:45:13.152Z","0.1.3-rc":"2018-02-07T14:57:23.398Z","0.2.0":"2018-02-12T15:13:20.564Z","0.2.1":"2018-07-11T16:24:48.707Z","0.2.2":"2018-11-05T15:26:31.185Z","0.2.3":"2018-11-12T14:08:54.222Z","0.2.4":"2019-02-05T07:20:49.436Z","0.3.0":"2019-06-20T16:06:34.817Z","0.3.1":"2019-06-21T05:42:13.964Z","0.3.2":"2019-07-02T09:19:14.488Z","0.3.3":"2020-01-09T16:49:05.766Z","0.3.4":"2020-02-05T08:44:00.640Z","0.3.5":"2022-01-17T16:37:46.620Z"},"homepage":"https://github.com/gcanti/newtype-ts","keywords":["typescript","newtype","functional-programming"],"repository":{"type":"git","url":"git+https://github.com/gcanti/newtype-ts.git"},"author":{"name":"Giulio Canti","email":"giulio.canti@gmail.com"},"bugs":{"url":"https://github.com/gcanti/newtype-ts/issues"},"license":"MIT","readmeFilename":"README.md"}