{"_id":"ts-opaque","_rev":"19-27e7437a617c4a764c7887c97deb14fc","name":"ts-opaque","dist-tags":{"latest":"3.0.1"},"versions":{"0.1.0":{"name":"ts-opaque","version":"0.1.0","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach/com"},"engines":{"node":">=8"},"scripts":{"build":"tsc --project source/tsconfig.json","clean":"rm -rf dist","lint":"eslint source test-d --ext .ts","lint:fix":"eslint source test-d --ext .ts --fix","test":"npm run build && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/eslint-config-typescript":"^1.0.1","@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.22.0","@typescript-eslint/parser":"^2.22.0","dtslint":"^3.3.0","eslint":"^6.8.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsdoc":"^22.0.0","eslint-plugin-sort-class-members":"^1.6.0","tsd":"^0.11.0","typescript":"^3.8.3"},"gitHead":"cfeb73aa18bee37576a413681fe7381a9cac784b","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@0.1.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-puPQpkY9Pw+3pGBW1e1G8JY4qnxVUD3e3/EfDyqaFK8ARfhcq95zY9iaqrhVNAsc1zu+Q4hO6+8Q1LciaPqlJw==","shasum":"78b78e6d5e9b5940f1dae213f9d7b5999690312d","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-0.1.0.tgz","fileCount":20,"unpackedSize":14544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYaM8CRA9TVsSAnZWagAAVZ8P/0acThznu+giWIcQjisp\ntHZtEhMe7kVLK/Gj5jpdK/hDhXHHNFhP9xtYYVwASotd2+TpRB9ytG4HPFaS\nB5kvu8l1pVen7DVa/nEXzqA1+8Ipq/7qFsWepzaU17mI3qIWIv/uFXFIxOz7\nkYN8nhNszZh6nmhgugDx1EumQCKLLcKd5gYX5ni1JYHzUxPPgq9X1qNPuZu/\n88aWDQsMg3z+oFbCQnMtrPQf5AYQXhEot299huGiWvhul4lnI3+72HOaV8kD\nsiZItxma73MhCfOEUqyH8GEeCdGJ9BH+Ltu6h5LycKKuLoMFBDFrHTKaJe//\nzX08hQi6F62o/l5sCVK3pTJDVvqhBoj0lXrpmYATUjZFIsqkHHhLqbwtSj4K\nwC/IAYQ7J3xkBHcEs2WR88I0F3v8SbSeLnMs4s8PEfeGKwFqtLCsnkresfvO\n7LdSHMKrF4q8/mWk8vEgCTG/0aL8xVZNbvdNNx7eCsR21mTb/IHROfJpE3sD\ni4L8Tzk4ciZGm/x06Z5keBEsOuMz/h0hBON1mm0YoR29sed8JAFlLa+7H6Ji\nb7lIQdXF5cR0Sm7hi7WD5IgvGJJ1YMIkSrh9viGQudc2TcAM2kNBHO70rv0+\nm/mjkjPYj3UBF6nlguojLy4AxjBxIYt8HrNk1yk+Hka5e3upNZADG6NJo4aV\nTK+s\r\n=94HL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDqVybSes10YR60XP6Y4f2gahTxKrEZpN0g7RAzkMl3bAiEA3Aw+E3xzw075VTSdlH/KX3qhiwQeygxzcFi8C3GsPtQ="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_0.1.0_1583457084179_0.6151334536886344"},"_hasShrinkwrap":false},"1.0.0":{"name":"ts-opaque","version":"1.0.0","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach/com"},"engines":{"node":">=8"},"scripts":{"build":"tsc --project source/tsconfig.json","clean":"rm -rf dist","lint":"eslint source test-d --ext .ts","lint:fix":"eslint source test-d --ext .ts --fix","test":"npm run build && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/eslint-config-typescript":"^1.0.1","@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.22.0","@typescript-eslint/parser":"^2.22.0","dtslint":"^3.3.0","eslint":"^6.8.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsdoc":"^22.0.0","eslint-plugin-sort-class-members":"^1.6.0","tsd":"^0.11.0","typescript":"^3.8.3"},"gitHead":"ff4bc4a71f03c4a8d05b2e8f9934ab2a583b69d4","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@1.0.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-1BwL+w4j+SvI2QgYCVlLbnF28q9vR7RTHMxHr4syU3UhgY7Nvl8RwZUC3F+6ikgMglkg209j0jHKHxuPWuJEMQ==","shasum":"d02498e9f15670cd523542c2800964953ce92960","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-1.0.0.tgz","fileCount":20,"unpackedSize":14578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYaSlCRA9TVsSAnZWagAANo4QAKKhiRoARdeOsN1OW9nM\nQ+u1FuzUOjGsY23gO7fo05sn/SRWk3ouLjeek7F4Wrp0KXN+VWO4BtwrrAnT\nU48ZP99+UHMLWnkI08SdHkpg+49W0ZSFqeakFvE15FIvuBYRcNn4Ah2HXRJV\nLlYwFCMmoPnVKnATSFwgsHz9X8owGj4r9jAtwJ17I3dWbo3sUa3IjkBxeIbt\n5Lg/LBeyNfzucbjD6raDUoHtzqibU1irnmjhWMH0PNBILmqAa8Iad7RXVHON\n7rPO/aM1BUBnen9d8ELfiMQv9s+7q2SEA1GPiaV5thhgnQ8OB7tzBm8YzZOp\nx1SBTi/TWIHiMkKW+XciuWrvBoyHA1az9PT5nivrp6natQE5ZBCmlHxBsA7d\nI8gy8B99m+oBKr//z5/1/Svegz+cVv0wWzz88qm3jZ6fm9jTfR7wVUha+8+H\n3WkSljh+f1fffr1DXSyfXWQBjbutt2PN066+Bkqi5+AoHqZjDHXbp8DBrL5Q\ngeIzjBSziCR9b583ylfHkoZr7p5TtawpRpYv7u+h3Xx+4n9BnTp0c78zRLt5\nX7k1SYwxR1HthlOb/ExJ+lgNv7CcSZLoFGZP9c4f3VjnpC2i6HJg6QZnS4hD\nVuw+/XKUGylH8ScU7f2qgtEdjJAovVJ7Ed0u17JluP4tAv8KF7Nt5WaN9hcb\nPxTi\r\n=50rT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYuVw/AHeHhSzh09Hfud+Akr4B6SgqT84jBDKYyj9NxAIhAIc0Vr3FYNlEM25RwnKAi0Suj8T3GGcIu+NfWV8IHLq/"}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_1.0.0_1583457444591_0.4039282287447059"},"_hasShrinkwrap":false},"1.0.1":{"name":"ts-opaque","version":"1.0.1","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach/com"},"engines":{"node":">=8"},"scripts":{"build":"tsc --project source/tsconfig.json","clean":"rm -rf dist","lint":"eslint source test-d --ext .ts","lint:fix":"eslint source test-d --ext .ts --fix","test":"npm run lint && npm run build && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/eslint-config-typescript":"^1.0.1","@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.22.0","@typescript-eslint/parser":"^2.22.0","dtslint":"^3.3.0","eslint":"^6.8.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsdoc":"^22.0.0","eslint-plugin-sort-class-members":"^1.6.0","tsd":"^0.11.0","typescript":"^3.8.3"},"gitHead":"80be80ad234be1fb0f347d0364ca8cb4cd530b64","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@1.0.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-vFB5PKHeVbL5YKp7UIMY2gMFx1qJIqV6cOKOqwi7ftJsxoPwDu3XF+yko0ELkaBO7FNuj+L9Ze9nn+KxvRVceA==","shasum":"3e3868144269c078d17955f15eeb73ed76dd9b3d","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-1.0.1.tgz","fileCount":21,"unpackedSize":15662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZR9DCRA9TVsSAnZWagAAW2sP/32D8JM14DRwNdzqpesR\nIfaWQ6jAJ/aw0q/1G/WKXMdl5Za3VDs3DahQn6M9bkVOLMZluJI73bplezNz\n8w318/ksZtsKJmVejpI9aqvLbfWNPTMCEnIaMEg5vlyBbrQk+VVR4YKrNido\nFuw3uEwfkIQiqvvRTkDt06XIs/ttiHn6kkcIDCxLYBl8Jq9m3Xb5bnd0t0uU\noB64z/FL0UZNNbHZvZYwXhh/6N6wPF9cTYsCJ/DFg5HS08S7MQpHifsb2T7y\nvgxXKWlH17aKPI8qopmf184kpY8H7h9BTUnWfEdTFoVbKX2CjkIq2RS2o4V1\noUNp3uFgyv4ovC8NlRNnWRT9oKlDGLy0fx/pu/XScbtixV4b7eyuuK3bxZ23\n6LXBuNnLwqkI3rk2V935NXHY5E99/y1o7Ff3zuc9TmsHtYERuGeHTFfNgxq2\nJ4GscY7EaVwjrd/AeeiJDSuKMadceQlyxJultcXxaa8qkcXkZ/Iw73reZwcR\nD8DFhu9xp1Qh2zk1Vp+UEpb7Xqyw6/aPNlVs5iJO0tNKc9QaffJ+zCRWmduT\nKW2uUTSxEk2ZUA8x4ZU3eBNHTCt156ahnuYyESeYcaiwnLe18q1BsHsc91bT\na/TYce2ihUB2Bm3P653aKF4nGCgum0fYgEzpOypmx57eS9xGp46hbwGnWgTd\nAUzk\r\n=GRID\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDC/axbbrEcwZk9xM0MYGJyNuMU3TAHyipb2999jm5Q/QIhAIwmi+5LUHuxd07GapQQcycKlmM0hPusLxZXgn/harGV"}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_1.0.1_1583685443317_0.7197387774408714"},"_hasShrinkwrap":false},"2.0.0":{"name":"ts-opaque","version":"2.0.0","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:tests","test:tests":"ava --verbose","test:type-tests":"npm run build && tsd"},"main":"build/index.js","types":"build/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"gitHead":"5cf82e35ec04ac01c7db47e79a0f5c69c5ad9646","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@2.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zgcTr2SeDJ6ZjaAIj9xIpyFPF9ZGj6R0qDvMXey1mLeDlclCJM2S04YVwI8pagsLgoZngPTEPDbHlM1HDop3qw==","shasum":"f5c837cb1c160e45781aec89ece54d1192d7b0ca","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.0.tgz","fileCount":29,"unpackedSize":16324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegTI2CRA9TVsSAnZWagAAhnMP/iCCnXnKvI2tBxPQL7E3\nN8qc6DhsieiWhAie5Gv3uhjwoZ1byLXbw2ghW3W5Cbk3FZcXQpp6nCtOSY0y\nPEeZoIYLx8DR27eRdK9DIsHwLlcO8vo3mvF7FoX0T2Skl94zcLkcI+xf+IqV\n1eLPRZR3+R/o7mQiH7UCYJPQ/eb4eehpMXvhDTrHv79IJ4lg1tIYqPPWWD7G\nV42+eJi/K0nfIxqDp8vQvZ0UAOS9FE3BhnMlvLRDD+5X+K/+qb/VWl1+56Vf\napwRM+5QZdAE9C+vmYccq0yJTb/MkLoNiWUgi4fo2DeRnlOzuutfwj74uJ2H\n+Xg9bDAqs8nh18Q9L9vUE+uY2R39+tcPACJZZtwyIruzCNNaMf+rekSUty4i\ncsJfq+JoJl85drOrad4Dib01GV/UM+mW9DJnzxnETBNl+JAKn3Ll2SDxH336\nntH5zV0PHPVH3OW8DTX+Ovrq4qf3rQYGigugHvvN4Ji5hgm1KVB/G25cY7Iu\n/aSeiUzGIpTTL11YUj9XLz0SaBOL3u65h+mPN9vz0jxsFDemCJCwjo9nKsXA\nvZYIRJ1RTMDeciU1nq6ZR5K1w1ZGGbojYTBUoiqfCuLPpcdPvoNR3mi0esMK\nnYD0do7J8YVo9BMsKMiR23DL36CKSZtXp0yu3coAaQiEODZ8mav8Wz0H5XP1\na+ap\r\n=NNyO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3ZOnEtZLKXNLfm4zswaH5eolvemebsUf/HgxHXEExLQIhAOOj6bC9n+Gd3w3+WL+St5jre2xNJOmhMRwPQhEKfZp8"}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.0_1585525301766_0.22409737530237384"},"_hasShrinkwrap":false},"2.0.1":{"name":"ts-opaque","version":"2.0.1","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:tests","test:tests":"ava --verbose","test:type-tests":"npm run build && tsd"},"main":"build/index.js","types":"build/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"gitHead":"8b80fa9a292cecb182129d85f06d2ff1c2488bcd","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@2.0.1","_nodeVersion":"12.16.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-EXshJEQQcWGpDM3yNf/UHH2hMOBrfIynhdj55Vz9FA1vHAHs0ATzhz3U3lyq2id7wxHCd8GUN4XXo1q0DO1qNQ==","shasum":"475d464a75af31af352c48f11e80052350861325","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.1.tgz","fileCount":29,"unpackedSize":16333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegTMVCRA9TVsSAnZWagAA5xcP/2ymmhUcTpFcq7bwHl2X\nwpeeI1cQATPOCI6nJdPF4O8P4uuhvNHh9Bh+zfulTvwz3f6yE8Wlbg79xAYC\n5XZ5ntWM8XzyjKiVhBsL8cTcJcQOBL0blhWILLImVntSvcbsRLmGmI2wToTM\nS74AzFhbLh6KuNCLNODOKYQOIhCwB/0O1Htxa9YptfwejnXgDKDa2APu1PIq\n9pdD+E7IaBb1n9HUyjKPvAlL9kd3+IfoTPT+P/WnNSlQlSlcni5PzZSZyjRM\nMgZMJFLifW9aGovuGXCvYctXXjCZAomzFaxcdoU50fRAewFiWQ/O4vBApq3d\nzoZBQ7D1oYzjJ6dtF/p1KBdhu5uzTENA/h/LJzaZ7QvP/Oc7UVgeYZf2OK6D\nw1fRkf92/5ru54xmrgcrVzziG8PPB9s7e2wXisiCJd2WD2Exnu8qCdlv39Hz\nf8qI78DclLT0f2Rzsj+DaFbjhYv3EohVpn7c5zw0HT3YAa9Mk+NUSKVXCWS+\nr1heI8XODbxfJxjwn+s1Nf1mgJ9SgF1/vYu3RU8DbBFmaatYxTfxRq5mO3b8\n65fZQIhal9DgoUxAsfvkOTj+tAQL2rWkkGnDhW/cIbqTRG9LfmZHBMbRD+QV\nMyDvHe4WOzP12//Q8a/Fl4Tt9bRUFIS+zZ3UY+iicjBbb18NuRzSsgbop2/p\nr5ss\r\n=+u9/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCW0t8UZIEmAG3btkXeCw44FxwY2TwicOoePbwIuCkIBQIgV6nEy8o34qqwh5BH+BtWq4ladZM+u8+409qcdjSpfac="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.1_1585525525048_0.11321949333533543"},"_hasShrinkwrap":false},"2.0.2":{"name":"ts-opaque","version":"2.0.2","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:tests","test:tests":"ava --verbose","test:type-tests":"npm run build && tsd"},"main":"build/index.js","types":"build/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"gitHead":"6560a0e1b4b74359461c931b3075e7878a7056cf","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"_id":"ts-opaque@2.0.2","_nodeVersion":"12.16.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-8VgQzV2bDDEfvJkb7hkMPzI2F1Vw9zeAcgWBI8ot6++TCmdyIfej49zKbO8NUP136lG+N51TyFZolDibs0PJXA==","shasum":"e199fbb6026efeb03980272e4e3153daded19161","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.2.tgz","fileCount":29,"unpackedSize":16399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegTOvCRA9TVsSAnZWagAAOysP/R3nY4KBqxCGxUa7jNiV\ndoNLzd+x733Vbhjzm9y33WZ0GyPfrJVsk1Il1PTsDLLFYvy6lMjg7cpGKRA4\nr1fIr4CpzVukzbwHY+zKmAcNegQK2Aku34O+MLngTfVYrcrooxi40rOYWf9L\nFTgh/IhFPgVDOx4Pmqw1fWydA3nrEZdYIrdsFLjIkW25GEiClI9C0GesSTF8\nNEc/CAgDhLTr4hIE55pW9dezQuiivp3OEGA4aBc/Kn969y+VkNPFGDyCmcSM\n+STbAclSqmdiSAVuGeb5Mc8p9/+ajoFgBATxVEULHrG/w9whZemqAoW5E3LU\n7XMR+cJYbOoywgT85igNNuX+BzP+fRNAlpXvz8mQH8Ccj/hhH/3hqAA8VV6e\nkWXEjmoxr/kiESLj1E9o3WhbuBvzdUsSmUoWFHhitbjM+qI8Tmhc5/9T1rH0\n74PSdhEetPl+OhVc1frc+C58oqwvUR0ZfvlETCH0ldrG8Tt/1HECv1jNCDcO\n88YVmVbgAWjuj0fh1Ulmaiar8N/6NEQo6NmlpQLeTDWLye1mkbTjZX+2GRjf\nm8wMspSxohpjMO5SYDD/whuppa23Y/eX7c3V628Zq/JrA7Hyo4uBfOmqJ+Z8\nh1+i+Vff5bex+DBwBZdyFSu2CN4k50ZEMEHbz0I7jYmBvSkWCSOYdOhyX+ud\nJtQv\r\n=YL89\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5oLMG7ASAP6hhlNhE5ecDbu2+yGBj9vYaLRlfR620owIhAMq9Aqm/LpyoflII1LBBWr4GZvuccZV72/KIvnANqtpi"}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.2_1585525679217_0.04476114992778912"},"_hasShrinkwrap":false},"2.0.3":{"name":"ts-opaque","version":"2.0.3","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:tests","test:tests":"ava --verbose","test:type-tests":"npm run build && tsd"},"main":"build/index.js","types":"build/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"gitHead":"a62209aae29880ce5667e6a4ce724d370b862a38","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"_id":"ts-opaque@2.0.3","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-69CLFLxd5OYuTrOK/GXsKnDyvJnT/OlyXs27mZXPxWS1E+kgw5U6P/ERLmus6rN0PiZEpAvIhdX84FfJHruAHA==","shasum":"6323f0f7dd447bf63241c013e49691c7d4081842","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.3.tgz","fileCount":29,"unpackedSize":16399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqG8UCRA9TVsSAnZWagAAfo4P/2l8Qya9DsO+5cCD9YfQ\nsnR2AiSTcmiHNTqn9DBmhf0MGGWk6DS1J+9iQkHkbwcB9UFd/ZQ2sygnx/ht\nYeWqOmvJqffl9RssuDIANdICXNkGZjZeyYW2vEQSA+F7ny3Cwwbim8GqTYJw\nqKMfxIZL5+IeuGExHDPI2LCldGUr7L4NAKOmD/zwuws6kAHqs5nCN/D6I8sS\nZd0bU4i/0q1bUNeubxoq4NpJDyBRzFL2cyJwaBWxojz3IYol1CoLX9M7jlm6\nIppoxPRZ6i/fq5n66aGlcr0QSFeAcYgmtgook3mpbDW9WJdpJn6eW+hlNNio\nXoOTtKT9Ls6bUBjy/A6U9Pzav6oMPWBO4N60iBCp2RBIZ/hqFN5GzzujafE1\ngEts4LUaOfJk5kzZGIrNEVM9rsHLb83jQeczPjKyxiTroU9Xznc2+B825J5h\ne+QxKayC+Ncje+QmoiAQxYZyik2kEgi92jLtMwVMC/j9OVvr16ef/J16Etsi\n3vzNSjQnUTpVNgQE9oqL24Vue8nVF/raV8W1q+Xr4RE4PZhxUTeUxoGOHHJZ\nJbLKnpXW+bIVxREZkwo1GnJZd6gB9fsNhHQ5/HHBkgiKxsxqTN6I3gxvhsQe\nwOIUEscaVMWOfSe6Ab2h6mzhI1wJAmvbTXvzo+TqwlXgDjKJW8rpxDYvpeyf\n66mR\r\n=eve4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEejlPMZK693BB0JpyJ8WJAJx+QrloFDeZkzQsnO2uNLAiEA286nbHX9aYvieKnAEJ1PvJd4zCBClyWsmhMoYUSmKXE="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.3_1588096787898_0.17716411230950868"},"_hasShrinkwrap":false},"2.0.4":{"name":"ts-opaque","version":"2.0.4","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:unit-tests","test:unit-tests":"ava --verbose","test:type-tests":"npm run build:dist && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"gitHead":"f1b324d8856b1dd6b05be45e69c3db07be6660fc","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"_id":"ts-opaque@2.0.4","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-/tabX/ZVdCJ4uDsTwsdZ5ceH8ArzZTXfCOYWWF2+jbcjn7NkymVEbzASnlCvGBLPRjJNme+qZnyKoNfgcOYb5A==","shasum":"70ef4796cb495e137deb63bd85a9c3e9e1bba91a","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.4.tgz","fileCount":29,"unpackedSize":16582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqIP1CRA9TVsSAnZWagAA1K8P/3hQby0UXKygJsk/Iq7o\ncT7SR5w9f4zvXt/XhQ7alMO0bjwRZS2Q8uofxh8Ic5buF6U4hhdUfn950ohf\nsouI6qwvZ2Ql7x517JfzZdoQILLKPgZqjyLoqAtJIpbPqB84q7Wyx939xhFT\nT1hQsOsmE1N6r/ugDo64OWmmGShax6Vrz6kTltu1B+B2xyk0Ckrrml4M28e+\nc1PMuJDKWwuDhHaDlbt85cvYezO9HyRCd/AQt/uJOiDPZovIMss8gcEZktZu\ndge6hU1V4UPGGJi/G6BjqsHfd/K+5imxTDm+3Kd4+aXZU57lJFTul4aaGtKH\n8hKjYoaxeCo+/XBGwoYModj6ubTFUtiMQfUrYEsF8Q0j1f0RytM6H8Y7ULpf\n2roP9wAsho/l1YimrFumqWhsPokWGFhPRXI/r0ElGmLPuWefD/bznCCWS0D7\nfpFVtTJfMChBbksHsBgzqfswkeTKc7SNKdJJg3D57pYcCZNYlB7o/7GbrYuv\nRGS5AH8QWrtLvLb6GdvJSDCarxB+EMBk2ngkZBRRdsoL57hUJhXVI8RsblDO\nfhY+7YxEovScwJZt3ADLNvFBQPv/mkOE43PjwxKXVmxwS6GXFTnZWUfFZLtJ\nylyBc7dJgI9UwMsyeKJdwbi5glh5edoVqfK3D0W5UXAZygHgtU32WKQ6Z5+B\n5m7l\r\n=0zLL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCp5bAuHaDcosjrhr2y8aj0NbhJtWLmz36pHcWewVFr8wIgVyuASriuLWSCdJAthE5JGGzy6bTGdQETL282C7F0d0w="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.4_1588102133282_0.16360059576325447"},"_hasShrinkwrap":false},"2.0.5":{"name":"ts-opaque","version":"2.0.5","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:unit-tests","test:unit-tests":"ava --verbose","test:type-tests":"npm run build:dist && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"directories":{"doc":"docs","example":"examples","test":"tests"},"dependencies":{},"gitHead":"758a256651d6c0868245ae5b1071950cd08b91d7","_id":"ts-opaque@2.0.5","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2nyT/xnR02yIjjiFdsj71b4i8E3EfHn69s3w6wtA/BhQAiTYTQOgZ01Jp4yEmRPs9OKTjpeHoi27eEUS+bJlng==","shasum":"ee4cb9c4a25a83fc44912b6084b695fdd9263fbd","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.5.tgz","fileCount":29,"unpackedSize":16824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqJUKCRA9TVsSAnZWagAAsSgQAJMfuvIp7wvnlxALoB5C\nNbBNL/RISUH0NEZ5ZaSPVJh+EPnPFrvmu0w4rn6lNX7N3OniiEQAHtcRlSHG\nSYZ2+4rJXfq46+SuUm5M4YRValyKpmJR7H+2413O3XGZ7mCkTHHFTk/C/Weg\nhz9Oy3Z/axI6o7oTyO0hvKScJwuLfe/vcbBLZo8dwil1RzQeVImE4NnBDVDJ\ng9qYKNMWFJ0rMZrqm7V+K+wOuk0kdyaMY1pIRiAwd2i2do/vm3kRaODXrnMa\nxlkI8i1qxatPga3TEJ4JnMkIvTuy5ev37cx4z6AuHPEk4VlTf55mFeg3UCAZ\nyu0urva+ASWXF4B5nsNL2Nlo6LBPADoEaoJgbgtbu09GYs8+AF9wxvaHluXy\nFr5+WEmzNDCVmkixnp5rVLqS1AqPr8q7Yafp01YeOQ8ebyjpMxtNhkmSVhEE\nJ/CdgOoRCfBf37TXj4Ty8buZ7z87e40CKzrrlemHOzo3oeGX3mh7XegVX0g1\nVk5iHQaudRDemjVt3CUEtVunmVm2isI66rJFB0KHJfucF9dMp7eD4gFYc6Wn\nmzZejswPhelceEnXhz4bSL7qbIXbRFN9ov7RtFmMhGbmdt3TjZBILRre9v4/\nCT1dEh9Kf+o4znIRjWYcPEqstZHHTpSF164xwyhBZd3w91OJA5vnePKO36xS\nryLW\r\n=mWr4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDp08zQNLlIC6AO9v6Mcnjvt59rqx67WW9uwxdSXumO3AiB8Rm7N2MPYd22hTv/GgP2/Bb+QxFCdnJc/VSdY90+c/Q=="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.5_1588106505757_0.3189255631077874"},"_hasShrinkwrap":false},"2.0.8":{"name":"ts-opaque","version":"2.0.8","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:unit-tests","test:unit-tests":"ava --verbose","test:type-tests":"npm run build:dist && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"directories":{"doc":"docs","example":"examples","test":"tests"},"dependencies":{},"gitHead":"c620384ce9328189f21a1bfcabe50794c8cea715","_id":"ts-opaque@2.0.8","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-YCIAfry8oYfDFxk2xHHqSV7vhovoHjsPTjc8JzSOzbI+ZC0s+PS5DsCRnBbUAN9uZwq21H4bxAaoDJSOht+q1Q==","shasum":"fa2eb2cddcb1c0783a771f3178b8b5f2ed32618f","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.8.tgz","fileCount":29,"unpackedSize":16824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqJocCRA9TVsSAnZWagAAmGgP/Axx89ofVugDz5RL+4s/\n7AJj8sO5lgv3kTicxkvW1hlJJXBAujwN0ra3IrLd8RybXl0SdT+nWZlyAwYb\n4m1g9M/rqAJDVr8kMcaxes1H3xFYDL/eH5UueH27rNwHxNOneQmwzWN6dvu6\nzJ95J+PCTwdNZqQIuOVC6z57l3bvSEpYnDSEggkdGuKbEE45P5PumWfDqJI6\nOaLPqkBExZ5YxyL0tzOGh8Ken7H6QWWUL2Z/Zye4f0upJx60Zj8lIQ4mWBNn\nC1A2LX7MT1yEp1HpYFizTQqhBsJilOc8DLKM2o5XZ9DAYKFjakTI8ekSPJBr\nQDzq/xuzcHp8VhcWkdQQ3VYoOrC5ZhHDjiWlW3nu6qRUz9rXPn7CkLCEBwD/\nhHBNahEi6LBuu5k4ft7YrdZ2efm6GDi4akcEiNaGfv4Heg+Yx1c+OV+296DS\nxZ0b4bt25V952po5njQEQG6m3Q7p2uZrbV/Y9n4ExEcSSYVTBuqYTtaPMQZx\ngplowXZaUqY8d+1h3gLXdP+wGPATjAgYGi8Mdz/ar9QHTJ5SevPfCsmgF6vj\ntfvUcx19RK6+P64/GogcB0gMrZoSOYtgucqlN0aZJdLcr3RkBF+S226oycP1\npu7PhrGhQ2QsCkXevZbLliODu6tykELxFmYwq78+vSN57XRoA5FyRxNR53G+\n1Uai\r\n=6z8Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXDgDarpYFN7xZ/N1atX7e535ge+PTl9iu8iD7Wnd63AiEAwptxkxPaBFqef2u2bawne+546o7G7WV/EjbQokydYjI="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.8_1588107804086_0.31555573686143124"},"_hasShrinkwrap":false},"2.0.9":{"name":"ts-opaque","version":"2.0.9","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:unit-tests","test:unit-tests":"ava --verbose","test:type-tests":"npm run build:dist && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"directories":{"doc":"docs","example":"examples","test":"tests"},"dependencies":{},"gitHead":"8d551bea620a39331fb042477911e131f8e3b509","_id":"ts-opaque@2.0.9","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-BBw+XNkm4QxJHXf2Pxth+IzEeap1zprqjQ3hHwo7LePdAeQC/4m/MrmwCmdM0j78fuTiN9Cd0uNwtrGb0zRLTA==","shasum":"adc28bfbe0cd9516684112622bc386e681ee5382","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.9.tgz","fileCount":29,"unpackedSize":16824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqJ3sCRA9TVsSAnZWagAAFXIP/i6Y5fGNOX/ljl42q2jF\nN5I3FLu1IcpYGHCgE8NhnNuBHzre988PN9kdXLTqgWsVG5SSs1V7MLATAUYH\nrq4mcFcbYIvL26o8H8emx5MJCI1PabN1sVb7V+eTTg0PY5XuBBb0LPEKqxzb\nvXB7YSXzh5E/8j9quYoquDfLWlJbI4naezM9f9MY+Axsm9dbnxoIJdgyuQg2\nhUhq4+nV5hqg25etWXujt7X5ZBMfR8MmX3edE81CR96MwNrMj0SVV8cTAt9f\nL0sYxx+b694d7ZICGQU/VfYASLFOLA6uXgpn/stLS6kD4sRssYRSA1BoOyRT\npUHXszioe6FWFFWZtzRBTpK13GrSb2ArkduoUihVGr6rWiM0hgmVa5ZbHyiA\nGyMc8+BrMqqg5AV8lwDbPh98ScWAnmHP0X9G1OR4aPJ9bRONEfCdNQc25Kyt\nTuWyrN0UAnMB+fJ/7UKZig9IhQF8/wrHKv6uTkLLjpDwk4TpfxVP0n3Ejd9J\nvHpTTac8W1OwRoUrzLixjW4X0Ou1w1+PzYIJv2+qhm00oKFz3VGnCq2kP/dc\n5UEWHWkd1I20EpP83QY97d9oJpQ5WtwY2Q2RqGUgTNt2GIi+tA1DHAlK5KFS\nz99cAYNdQ/0bDb2RkzVl4rHnLEONAg7/e2vsaEpmq0majCZrcjPB/ewvoa+7\nfYkH\r\n=S8Sq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGPpUCwN8HlgRH2ruiIkp0U1ocRmW3UECKbD/tVzcloqAiADgbDNbGlj2/YJiBFb7s2rmnLfe1VjTFniNBzcarDKIw=="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.9_1588108780495_0.6270157575816597"},"_hasShrinkwrap":false},"2.0.11":{"name":"ts-opaque","version":"2.0.11","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:unit-tests","test:unit-tests":"ava --verbose","test:type-tests":"npm run build:dist && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"directories":{"doc":"docs","example":"examples","test":"tests"},"dependencies":{},"gitHead":"c76212099f97793e1f9dbec2c5e951065e80a1b8","_id":"ts-opaque@2.0.11","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-DhrAwH9BxM3MvUJKysGaZLcrNTgBCYGsttHkjbnopW37GVwb9ommp5bjX7BT0bd/Kb8n5uJbdgfjP3zkWQG22A==","shasum":"29de7d2c298de77ae853d7462a37a41e0b9e664a","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.11.tgz","fileCount":29,"unpackedSize":16825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqKRuCRA9TVsSAnZWagAAXF4P/i7AE1eYpD7XsGLjUsWE\nX1JBBZ+yxKdNQTlj+/ebNrPbKv3iwcUIgYogM4YKz15rBgN/zWjqrxvVCPWZ\nzmRVgPrJV9+bugU1a68aSXBaMMSfMOu18+rVtcU0ji3pUsk6LZEZ4/OcZeVC\n1zj7PiEksetx5fspfKPa1vrtB3Swptt9E8yIN1bjdr/xJZMhyfKgWnlUx5wh\nWheXkk26BZJoOmCQx5Ej95hMGVXiRUQHbtj3j2uuCVWQVjna6rlV2aqFNyoS\n+aWlN32dmVFK8XauyVFtPxuJugKKxf31Yd1A/ldTnH85PPA6R5Lyr3xKeVBi\nBVAJiAYUmQ3hmn+PSP1hDrXiC7PikXYvF+Aw/IpmTK+ar5Mp91+XbKFZUR3B\nalmmBSKshAP24V1P6iyL9TRmOHwBl/3dcJ9upKisvjtb8jMCdonf+n67pysU\nIQjHnG0M+34LA/1EfQtWTprAR6mIrPXKzsF6cYgpOjgjEP4PqSgFrYC1JG5J\nLQnmj0s4S8hLz4HocBA/K6uNWMVoMD3EyvCYSKv7hBBEe7sd4a6KcB5IU5jE\n21kIhHICiWKAdVpqlWHeev/Ol/BQ0jfOXH+KLQc6HWj0IXLav/zOEoZpswmm\ni0HRLW8EpOtdrxORM4urC75pBOGpz0XcFRauwx/M6jbyOtqIEd8cXOwywNdN\nygU2\r\n=ID64\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXOxExSjdud+yngnuVlWfifKRNR8z6Sk/GK3hw7/dINgIhAOfIzZ9XPYXhveVWczPaUz1keClf8dpWEvtsq+4mClL3"}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.11_1588110446310_0.28727271508475427"},"_hasShrinkwrap":false},"2.0.12":{"name":"ts-opaque","version":"2.0.12","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:unit-tests","test:unit-tests":"ava --verbose","test:type-tests":"npm run build:dist && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/tsconfig":"^1.1.1","@typescript-eslint/eslint-plugin":"^2.25.0","@typescript-eslint/parser":"^2.25.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"tsd":{"directory":"type-tests"},"directories":{"doc":"docs","example":"examples","test":"tests"},"dependencies":{},"gitHead":"3e680b7a31fb389ded57614fd4a1c9f2c6fb7003","_id":"ts-opaque@2.0.12","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-jmzWrDJBRTSZ/F03IDlSbli8IZzOSFtjbEwmH86aGjDuld+EkIH3ZI74lyW557bUtvCPHXpcBgBO1uWsGgTjGA==","shasum":"8126d4ce7bc6cba6886a123a20c697ab1edd8104","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.0.12.tgz","fileCount":29,"unpackedSize":16825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqLbhCRA9TVsSAnZWagAAehIP/1VtgcVSh9kZpL4F9PKF\ngOmXLxDgntxoIv7GuiW7CYYKRct/yCPfDRDmKRkVjSxXgn7nVozhV2e25qYe\nupv0rH3LLQ5rAPECQ+OsvDneoqLLTpsNu/zJPtn58seRqVv8wNeVvHGHMIY7\nqjQjrPKOtnK46Rm8VIV9vUTJcqghiBdNXr1sZqtrHKWAvYu58EcwpANTBHA7\nhGk9EhWU0QJ7j57q+ebHnsy6GEvJJaCSCzJ9P50UiJJap9Nw/TYZOI1PzElU\nGg7MOsSDYXssIWRG7GmZmuHgi6S3E/sOhAUeSnpFv3BWDKOoccELv9frx9Ex\n0EChIAM434ujLBMLIjnv8oVm8yURvqpkQLWt/npkMG/DEAcUr2h1cGhBHvmN\ny8UJSovpsaL12/9qvAtD+thpQMGNwgKq8p+9oCUWtP9ow/SCyJSwY5KT1OMb\nAFHTFlsxCkqvkTqExEEVRFJiQdDR+mODtby+SgiHfiVVCcA/RMCa1VhDd+A2\nvXy35YiqWCKwo214m0cvaNOvs/o09RXay3yjoWaAgCnbxYS806IngZmJVw+E\nKQ78xwOgVSTBDaE9v468MXinIbc9mabX+nJ9vi7EG3sEX+hDyTU5RKrVnMqc\nYDMsCYJJcJWwtCB1rMitRuoJCmj/dXvXf6XDXEdcRuE8wzdzXtDHVhB1dhi2\n/53N\r\n=YwVM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICudDujD7KHz4Pjpiwk+yYWaCJAJTNgKThUgH6ewIUuFAiEA/XRs1RKXg+jyY4nZT5AMNvGe6N0cCc50+UPOOYSCH34="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.0.12_1588115169009_0.9167049969683083"},"_hasShrinkwrap":false},"2.1.0":{"name":"ts-opaque","version":"2.1.0","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc --project source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","lint":"eslint examples source tests type-tests --ext .ts","lint:fix":"eslint examples source tests type-tests --ext .ts --fix","test":"npm run lint && npm run test:type-tests && npm run test:unit-tests","test:unit-tests":"ava --verbose","test:type-tests":"npm run build:dist && tsd"},"main":"dist/index.js","types":"dist/index.d.ts","keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/eslint-config-typescript":"^2.0.1","@seancroach/tsconfig":"^1.1.3","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.2","prettier":"^2.0.2","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"eslintConfig":{"extends":"@seancroach/eslint-config-typescript"},"prettier":{"trailingComma":"es5"},"tsd":{"directory":"type-tests"},"gitHead":"85ab84a6178ea3461f96000ad36c4251c531bcb6","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"_id":"ts-opaque@2.1.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4+xnOqNrt6dUUG3LAp3D5GmSLMMfnBrnqDpTOItgf55hPdnjZ7zZNY0NeAgsPCZ16JPwm3MdkDhA3dcmoyPOZg==","shasum":"4a8085b2e5b61df56bed41eba4c0cae118cb8acc","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.1.0.tgz","fileCount":29,"unpackedSize":16715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqPakCRA9TVsSAnZWagAAuHsP/2Ix2L/7m0aPwcHW+Req\n9gjQyJ7IZuhOq2Z2XurTe9yfvXIhWo9khjyDgQbLXck1N10d5Qpd5KlWVv9D\nuzFvehpo/P28y0W6K7f8ufwgDPQTPjqoe6yGuF6o2B/IN0lJwqpQk+sJBqCZ\nYSsmOjpGF/FDxW1o8TiUkfiMD7iilElg84OSU25M26Fdokzpfgmt4v1le82/\nF2I6zcchknxC/B/uOk9H9CAaZ7yEqWDu5nXmdaQWrTqxn/Do1GvG50S2o95e\noyOVybAIqSqcyDFmOeM+0Qo/Umy/8HXyBAf7aXE1qhyoa3aRatPOMtSLg4eo\ntkfEysGkbzNYdgioihd9ddJ3yY0IG8iadxXfW6IBOcsNiup2OwA4rVviLYa1\noY1++4Vxopk2eeLyu3F7cWdg8E1Hpgr9v1fz7EqFxmVWXFwCU6ZCVJ+83JZx\nK3dxZayIQ9V2f2+LtGhU34hMR0J/ARKjuLG76uNg3DNI9fwdcEN0gGrfDz14\nUDt5eSJGaxrJiRHTta9k4jrx9kRuEYtz/3HdS2YSXwMUwCFH42HF7j8F8g+2\n7Cc2mxiID0onGwF+qmogSsJ/m4W39Qb8u60Izs8uAgQUWWirEbgX5jSRKGQq\nQHsAfyHhbuUv8td1VuYwEZrrdDKfroBzX+giAjhNWnR10EbT32fNCq1kfGey\n0Cak\r\n=UFRd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBRiM5fUyQlnt/PQwuRxHLHgZpUXXs/GPfNtbPAbzDg2AiEA6+KI4b1WAasdBF0dc/rr/x85v6wl+iMuEo/Zj9n6UHc="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.1.0_1588131491741_0.6876912588632222"},"_hasShrinkwrap":false},"2.1.1":{"name":"ts-opaque","version":"2.1.1","description":"Easy opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.com","url":"https://seancroach.com"},"homepage":"https://seancroach.github.io/ts-opaque/index.html","main":"dist/index.js","engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc -p source","build:docs":"npm run clean:docs && typedoc","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","eslint:check":"eslint examples source tests type-tests --ext .ts","eslint:fix":"eslint examples source tests type-tests --ext .ts --fix","lint":"npm run eslint:check && npm run prettier:check","lint:fix":"npm run eslint:fix && npm run prettier:fix","prettier:check":"prettier '**/*' --check","prettier:fix":"prettier '**/*' --write","test":"npm run lint && npm run build && tsd && ava","test:verbose":"npm run lint && npm run build && tsd && ava --verbose"},"keywords":["brand","branding","nominal","opaque","ts","type","types","typescript","util","utilities","utility"],"devDependencies":{"@seancroach/eslint-config-typescript":"^2.1.3","@seancroach/tsconfig":"^1.1.3","@typescript-eslint/eslint-plugin":"^2.30.0","@typescript-eslint/parser":"^2.30.0","ava":"^3.5.1","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","prettier":"^2.0.5","prettier-plugin-package":"^1.0.0","ts-node":"^8.8.1","tsd":"^0.11.0","typedoc":"^0.17.3","typescript":"^3.8.3"},"types":"dist/index.d.ts","ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"eslintConfig":{"extends":"@seancroach/eslint-config-typescript"},"prettier":{"trailingComma":"es5"},"tsd":{"directory":"type-tests"},"gitHead":"adac0917c735b37a5e909a4d6dd3b97509548f6e","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"_id":"ts-opaque@2.1.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-e1KbJLjZ92twh6PWvWob5b/QWPv1k2/2Ca1cvTaK+r2jeWbfxz465alzmieo5n/hb5zRlTHM+HlYKSYj6ctJ/w==","shasum":"00f238ed84009bee9d2b76b81e07a5429734bf29","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.1.1.tgz","fileCount":29,"unpackedSize":17052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeq0LlCRA9TVsSAnZWagAAn3MQAIVpwcXhKRNqkg9WLhpG\n0gn9PUuaRtZ8okS6aeUO8FlZ5phxB8Yjrgw+SEUXafRXpVuTfs2ot3K40D6s\nc4KmXFS6tn9umMM1ftmw1XUnsijk5ZRqxMHNuc8ZL9LL/vnB7TwAUFlgIZyx\nDWUX/FdG8NDgeUkFWAYLrm3dqKgfuvkJspT4mPNT5Tr5HMOMnc1CIOCOLbRs\nB32xOWxQMQk9kSYZGg2ZmLls44hOodIlZAVb8YnDR4GNKUsIhnCr11ovIHmV\nce58bPZtAFiw/Q1u3w/akibMb/3idLV50KQmoA3F7ADeo0imCEwXtl2NXS8x\nsB/FzvoJ13CnYK/r+vT8TKW2bWwWoqWId2JwltU6ium8B0lZH3tQxy6urMt3\nmmmXzf+pQY2rMP+iczhUhDzAhZWvWLonPnAb27V+Mw5fL5BK/ClA50mX09+x\nikzP9rPwMTRtdd5x/M2VgJdXKngorrWUmk6B9tq04HQuXmEcIrndDY0beJkQ\nJDZWgbM2JQ2luoM2giWACsdjHJqp9jLi2DfE711xlHOa++bNOsJSeBjk3qA+\nvYeG9t39zwysVGyy8rCnTXgUsRfWUVDcDYU/66E+khZCLSv9641VaweJ/wB2\nAMTm11a/PRxLtHRtQYpl72yaWAAVQ7AeEnsfPRocmaQ4HoIxrW4o9BX8ikVE\n182c\r\n=3oUy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGeANBvjqLLoZVYkmv6A5zauvPXUnNmnFVJIlegP2hunAiEA0oLSQKdZP+CBfM+X3Ee0g2M64QDlgT4iApc6+8N8kRQ="}]},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.1.1_1588282085018_0.23471530813771713"},"_hasShrinkwrap":false},"2.2.0":{"name":"ts-opaque","version":"2.2.0","description":"Easy-to-use library that implements opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.dev","url":"https://seancroach.dev"},"main":"dist/index.js","engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc -p source","build:docs":"npm run clean:docs && typedoc source/index.ts","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","format":"npm run prettier:write","lint":"eslint \"**/*.ts\"","prepare":"npm run prettier:write && npm run build","prettier:check":"prettier \"**\" --check","prettier:write":"prettier \"**\" --write","test":"npm run prettier:check && tsc -p type-tests && ava --fail-fast"},"keywords":["brand","nominal","opaque","ts","typescript"],"devDependencies":{"@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@seancroach/eslint-config-typescript":"^3.0.6","@seancroach/tsconfig":"^2.1.0","ava":"^3.14.0","eslint":"^7.16.0","husky":"^4.3.6","prettier":"^2.2.1","prettier-plugin-package":"^1.3.0","ts-node":"^9.1.1","tsd":"^0.14.0","typedoc":"^0.20.0-beta.33","typescript":"^4.1.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"commitlint":{"extends":["@commitlint/config-conventional"]},"eslintConfig":{"extends":"@seancroach/eslint-config-typescript","parserOptions":{"project":"tsconfig.eslint.json"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"npm test"}},"prettier":{"proseWrap":"always"},"gitHead":"360b552c311e5e5b8aa7911086fc4771ee282357","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@2.2.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.9","dist":{"integrity":"sha512-Lg2RHXKLAMaDF2k+A3iDwZddClISMwg8m/XURaHVmVumzxRAEg14056FnAhWAvV4rmlB8h6ZMOv9JJspjxIgBw==","shasum":"eaa8faae51597e2bf4779f7dee0fa2b09e3015e3","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.2.0.tgz","fileCount":29,"unpackedSize":17288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7hCeCRA9TVsSAnZWagAAIeYP/3+h0GpTNNEBbk3fsXDb\nxbtUgCh61hBbPJTNtjcWRdtDEPOaMJRp+9l9RuwzNCwNzoYPmgvn9cceYQfr\nPRoL+aqku3uw46ww2y3JRQdiSVHJi2U63oVqSmZZUEK0rHAJyKkeUksurz2K\nO4aZmRxsfzydq+Kdpl6hqy4Sx9Ihr50MQRD9kqydSrTybn4RwrOIzKOwAKGV\nh8HaScraZNKFtIFfH9Awxaygvod3IlVkml3H15LebD3wcNZF+YfnyLUeQaOj\njh/DvlZXkcqaWHjCTsRqvwJNV0292wn1Tk6eaTGY730k0aIwiJ2ipD87bhlM\nF6HIYIlEnJK85h3Zd07eS/23DR89d9RkZv6Ga9xJpubzQvm5x7tiB0xczded\n7rpmMMJ4v6bLD+dN9R8S3/DuqlBjK7j97E8V/cBi1XtH1WTxn9nD8fGB1bI4\nYZbiFDTvvsU3eNI4jjsX91hL0sJQN8YwlojUGljmEDZK7Gwzj8PNm1V/7ZBx\nRnvP2wDYd+FZVK8QJU/unjHQnzCig6NvERUrOW8zJuT1dTIf33AmYcX5yMZG\nK8kwfIrPINQnEBnyGrdGgoHy0gdeeLWr3adYp3WBZr8KM0F56/EIxHdumYym\npEDRryHYwMgRR4JAWfmOTtu2pr96NGOQLr7intAf2zaATnFewEOmcgijekNn\nbdVS\r\n=oOBY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpKhbCaPSKoR7tEkYBSVVAfPwr2Tb67wB7GYvEqzXZdAIhAJGoPN8OMBC0br+mpPGOpevJU96cC9lQwR6jyjTySjDP"}]},"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.2.0_1609437342109_0.6082624329795698"},"_hasShrinkwrap":false},"2.2.1":{"name":"ts-opaque","version":"2.2.1","description":"Easy-to-use library that implements opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.dev","url":"https://seancroach.dev"},"main":"dist/index.js","engines":{"node":">=10"},"scripts":{"build":"npm run build:dist && npm run build:docs","build:dist":"npm run clean:dist && tsc -p source","build:docs":"npm run clean:docs && typedoc source/index.ts","clean":"npm run clean:dist && npm run clean:docs","clean:dist":"rm -rf dist","clean:docs":"rm -rf docs","format":"npm run prettier:write","lint":"eslint \"**/*.ts\"","prepare":"npm run prettier:write && npm run build","prettier:check":"prettier \"**\" --check","prettier:write":"prettier \"**\" --write","test":"npm run prettier:check && tsc -p type-tests && ava --fail-fast"},"keywords":["brand","nominal","opaque","ts","typescript"],"devDependencies":{"@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@seancroach/eslint-config-typescript":"^3.0.6","@seancroach/tsconfig":"^2.1.0","ava":"^3.14.0","eslint":"^7.16.0","husky":"^4.3.6","prettier":"^2.2.1","prettier-plugin-package":"^1.3.0","ts-node":"^9.1.1","tsd":"^0.14.0","typedoc":"^0.20.0-beta.33","typescript":"^4.1.3"},"ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"commitlint":{"extends":["@commitlint/config-conventional"]},"eslintConfig":{"extends":"@seancroach/eslint-config-typescript","parserOptions":{"project":"tsconfig.eslint.json"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"npm test"}},"prettier":{"proseWrap":"always"},"gitHead":"2eebf5861df831f2a8235ebc8ecfdc17d9788ab6","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@2.2.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.9","dist":{"integrity":"sha512-X7s5AMA72I6QahW3KI+alN9enpLx6WAigYal5ZISx9gYBhNHqLkuN+Bcy6P3DgvP3CoO/+NIVoofaPftWWYdjA==","shasum":"b40f12cbab406dd9db3168baab98c7cbd5be4454","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-2.2.1.tgz","fileCount":29,"unpackedSize":17288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7hPHCRA9TVsSAnZWagAA2X8P/imu31ovxm+ffA4RQGH8\nsn5VQ1Q+uBThUL9tVN38t7aaG/UphBKce4h+PcHa+dchzFcwKbsO6OlYE+Qj\nnJeRJutopP8b6CyM4eQWbnbiCCphWj+wT7wNXPHf+opK3lRpEoDQAK+LGw78\nSpZcpG95fpIAkWqjGZfIIgB1d/WDOyn+VJcdBuPDcuqyeZZIrA6jvC7m6atJ\nIueLgvF4Klk1eNjuV0D9NF+T/uAYhGqAHnWOaMezhzoaEtNEMNjPy7fDZCho\nEj0+sXz++z8wsNLO+3Bu7zh+cB1nQUQ0pwnOkN4qb5CnGV3FKt8OrmmI/RR6\nHnzZHaBlDdjUANX4hOSfYy+yCYk5Algjs9WhVSc+Qhv8mgH1FDmCbQrQ1W6E\nmABGEHOxSTK9vOfN6xoXLao2ztLb8brN46R7L+PGhgTik3/rXo4sCO/KQzng\nnwZwJswglPxVDcvtUuJ9Rs4mGiTyWdiuBlDHFiK0ki3VuyCn8sCsHNP3eE4t\nZa1z5MV3EsvbxlRKVnMAwQR7Sa0SZTE5/BBQ3FbKAWt/RCxFneLZ517mKBVr\ntxH+EW3eNPvWMi/BRO12Mb9y5yMmP58UegP3vB1ELwZNO+yGtCGnipGL2YqE\nEspoy8LnqtctAyacvdNTWUHKIAY5CaJLeEh/5W1FDyy/iyQp+h7Am7k8Yk7i\nG2B1\r\n=Agw2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCp4AYGZ9j6rY2o6Kk5CQbxPqr1tQEcsdLfGVxyNPQgbgIgHA6FnoZYwJoMqHJBRkMLECaWI5DFXbG7KnadJyXUKvY="}]},"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_2.2.1_1609438150553_0.6597183451369382"},"_hasShrinkwrap":false},"3.0.0":{"name":"ts-opaque","version":"3.0.0","description":"Easy-to-use library that implements opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.dev","url":"https://seancroach.dev"},"main":"dist/index.js","engines":{"node":">=10"},"scripts":{"format":"prettier -w **","postinstall":"is-ci || husky install","prepare":"tsc -p source","test":"prettier -c ** && tsc -p type-tests && ava"},"keywords":["brand","nominal","opaque","ts","typescript"],"devDependencies":{"@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@seancroach/eslint-config-typescript":"^3.0.8","@seancroach/tsconfig":"^2.1.0","ava":"^3.15.0","eslint":"^7.20.0","husky":"^5.0.9","is-ci":"^2.0.0","prettier":"^2.2.1","prettier-plugin-package":"^1.3.0","ts-node":"^9.1.1","tsd":"^0.14.0","typescript":"^4.1.3"},"types":"dist/index.d.ts","ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"commitlint":{"extends":["@commitlint/config-conventional"]},"eslintConfig":{"extends":"@seancroach/eslint-config-typescript"},"prettier":{"proseWrap":"never"},"gitHead":"302717c6acf06499fbd76c978b6ae01a111ca730","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@3.0.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-3n+53wcZD2c7dU3KyXGzHSfRxQhIkzX7RVjT2nEHoWX8n9XwKP2vhjeGXWT/UcniClXa0iXtLNCtPV/LJ0+xCA==","shasum":"4dfb315cdc27d6e7246bb60b62151f1c943a78a0","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-3.0.0.tgz","fileCount":17,"unpackedSize":13827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKuKaCRA9TVsSAnZWagAAyX4QAJS1V49RogNi6LjsUgxd\n0ALXGRV8wU3DZ1UbNU3ljDfOGT73WgWEVxxfWHnI/gsJXr0FZ4puzeXKK6Fo\nxJELW31RQLTEnM5gx4r19aHzfpUX1TgKyCF4eisCzrN5XJYbeZPLRkDklV9l\nqcsMBL/YcBqdTez5OGnx//sXfChriu5tGaEvCRhCSoBYvlBY3x9tBI/dHxM6\nwkAWKNStW5tcS8gea2FYipog1XV3DDweYL5vJ4EkBri+SF9S9/LstXBGHB4r\nrf1RDAZAEJ1wDEvkwoXUtCm7QuK8UxjFzTfCEdwlc0eIO7M5r3PyLJyY8F9O\nbya12r6YVh2hUqZ5quKcoa2/5GDxCnbtRzTx6wYCVnw3I0V+sER/OkHgijrq\nlIR8X49arpc9kEDuITeEIh5Ct8VbHXlw8DDBvywH/u6yWNH3Dg+IumS8k/CS\nIIMpFXFrssf6l0n/yOT5cHxB3ggkBInumMTETgw4KQzPtdIq1WWdeKbgbvw4\nr/pnMewb5F+GomTnJsN1Fjpa1nB5iHKUeLXBVcxKNH+H2GDb16DBJag31D/q\nZjesjLofflQWm6et8O6PpKIBGwTMhvn0BFzYX5lWbLYFICf2gGEG2cA7dRJN\n2x6aJfxFWcREK7mz6bcUKNZdSYc/wT03wLY71oE9/FKnfEuNgNZE/NgTJKk6\n+NqP\r\n=3A7g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEKbT/0DP7/3U9ZQgq/OwIvEd3j41eEZWBWVtHLPXUAAiBw8cmtUCPdVlqHUUPruHwv9Rd26zQjZF7/Gl5+HV6IIg=="}]},"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_3.0.0_1613423258130_0.3018865022546926"},"_hasShrinkwrap":false},"3.0.1":{"name":"ts-opaque","version":"3.0.1","description":"Easy-to-use library that implements opaque types in TypeScript!","license":"MIT","repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.dev","url":"https://seancroach.dev"},"main":"dist/index.js","engines":{"node":">=10"},"scripts":{"format":"prettier -w **","_postinstall":"is-ci || husky install","postpublish":"pinst --enable","prepare":"tsc -p source","prepublishOnly":"pinst --disable","test":"prettier -c ** && tsc -p type-tests && ava"},"keywords":["brand","nominal","opaque","ts","typescript"],"devDependencies":{"@commitlint/cli":"^11.0.0","@commitlint/config-conventional":"^11.0.0","@seancroach/eslint-config-typescript":"^3.0.8","@seancroach/tsconfig":"^2.1.0","ava":"^3.15.0","eslint":"^7.20.0","husky":"^5.0.9","is-ci":"^2.0.0","pinst":"^2.1.6","prettier":"^2.2.1","prettier-plugin-package":"^1.3.0","ts-node":"^9.1.1","tsd":"^0.14.0","typescript":"^4.1.3"},"types":"dist/index.d.ts","ava":{"files":["tests/*.ts"],"extensions":["ts"],"require":["ts-node/register"]},"commitlint":{"extends":["@commitlint/config-conventional"]},"eslintConfig":{"extends":"@seancroach/eslint-config-typescript"},"prettier":{"proseWrap":"never"},"gitHead":"9bca1cbbe0cbcb692c43609220eb00aabd0cac3c","bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"homepage":"https://github.com/seancroach/ts-opaque#readme","_id":"ts-opaque@3.0.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-FKVp0wGGBH/+f8aFrLRl5J+K7VBJLUvLtQOLElae/UDHGQ/40oL/wNLKj/phyzWULw9TS9hiMQX10SutJyN0jA==","shasum":"4c8d72655d5e63a54d0d4fc192d219229a79f7dd","tarball":"https://registry.npmjs.org/ts-opaque/-/ts-opaque-3.0.1.tgz","fileCount":17,"unpackedSize":13929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJge4F0CRA9TVsSAnZWagAAL+sP/0yPjvVWESfTSL018ZBX\nHlPG02Gr9HV1VrTFdON+jiTYe71nido8ETS85sCP39Ijgl+B1u3qDNSN3QxD\nHhfuICpVbMTIYR3C3GtzD0j9dAEP9wnNhLHyosIbq687vo1CvO91HLeVPOXA\nszYRpCBy2CxLyObUVIjHCRJpt5gvgy8o4A5aFbQru8R8ZhJoxUPLVJoGP04w\ndsbb3/zPG50uvih6rmdDczr8hX2YuDbTmJiFJ7wgEENS4bpZgkJqG0Ump9Gm\nUYWCGzuI7sPL2+JaUizMVGRakv+YaWOVNKzfd29miFz3iSilUMYKSmgjFHVG\nydghQgewoJkA4mapv6/v+YaCXk//boWaaJGUFAJjugNqb2O/SSc7lLoW13Rq\n52iM9UCrw1wxgiAy4aJ2NMn773H0NyiLd9XAFgl1lblw86QsBnoq9nlDiAvo\nglTe4ehRxxUzrs3VKJQ3xZBOGcrgiTIwiM6wHKpjrxFv7UNrGvo/G5iCJH5K\n4yqYCTE4mESomOpYG3A4JkWY2uavXtRyR3fvvavO4pSBwK2f0wxjDaE1D9Dy\n8OtpgiolBotWX8n3TIQ54JKMmNoR3vuT1CzrUmOffrWh/FbCWbQe9LKvRqGq\nw66gdpWgVo36tnBijobFHKqgvihkP/p6YY8O4+kFa1rwxnpCh9J+1V2+kiYM\nQY/k\r\n=FXa3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDjC70yLNcXDHOnELTHYbac2gS3/unsLcvKsGx0i2k9EAiEA2RsnBxKK+M2h/4WCuQEFpBjyIctV62ATLVNV2nFJndg="}]},"_npmUser":{"name":"seancroach","email":"me@seancroach.com"},"directories":{},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-opaque_3.0.1_1618706804060_0.21632839241815738"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-06T01:11:23.946Z","0.1.0":"2020-03-06T01:11:24.278Z","modified":"2022-05-22T07:34:41.638Z","1.0.0":"2020-03-06T01:17:24.753Z","1.0.1":"2020-03-08T16:37:23.423Z","2.0.0":"2020-03-29T23:41:41.893Z","2.0.1":"2020-03-29T23:45:25.143Z","2.0.2":"2020-03-29T23:47:59.351Z","2.0.3":"2020-04-28T17:59:48.004Z","2.0.4":"2020-04-28T19:28:53.382Z","2.0.5":"2020-04-28T20:41:45.901Z","2.0.8":"2020-04-28T21:03:24.176Z","2.0.9":"2020-04-28T21:19:40.595Z","2.0.11":"2020-04-28T21:47:26.471Z","2.0.12":"2020-04-28T23:06:09.146Z","2.1.0":"2020-04-29T03:38:11.846Z","2.1.1":"2020-04-30T21:28:05.126Z","2.2.0":"2020-12-31T17:55:42.243Z","2.2.1":"2020-12-31T18:09:10.735Z","3.0.0":"2021-02-15T21:07:38.344Z","3.0.1":"2021-04-18T00:46:44.203Z"},"maintainers":[{"name":"seancroach","email":"me@seancroach.com"}],"description":"Easy-to-use library that implements opaque types in TypeScript!","homepage":"https://github.com/seancroach/ts-opaque#readme","keywords":["brand","nominal","opaque","ts","typescript"],"repository":{"type":"git","url":"git+https://github.com/seancroach/ts-opaque.git"},"author":{"name":"Sean Colin Roach","email":"me@seancroach.dev","url":"https://seancroach.dev"},"bugs":{"url":"https://github.com/seancroach/ts-opaque/issues"},"license":"MIT","readme":"[docs-url]: https://seancroach.github.io/ts-opaque/modules.html\n[downloads-badge]: https://img.shields.io/npm/dt/ts-opaque?logo=npm\n[opaque-types-url]: https://codemix.com/opaque-types-in-javascript/\n[github-ci-badge]: https://img.shields.io/github/workflow/status/seancroach/ts-opaque/CI?logo=github\n[github-ci-url]: https://github.com/seancroach/ts-opaque/actions?query=workflow%3A%22CI%22\n[license-url]: https://github.com/seancroach/ts-opaque/blob/latest/license\n[release-url]: https://www.npmjs.com/package/ts-opaque\n\n# ts-opaque\n\n[![Build Status][github-ci-badge]][github-ci-url] [![Downloads][downloads-badge]][release-url]\n\n_Easy-to-use library that implements [opaque types][opaque-types-url] in TypeScript!_\n\n## Installation\n\nInstall `ts-opaque` through npm:\n\n```\n$ npm install ts-opaque\n```\n\n## Motivation\n\nAn opaque type, in TypeScript, is a type whose true structure is obfuscated to the compiler at compile-time. These types can make your code more type safe, secure, easier to refactor, and faster!\n\nWhile Flow has an `opaque` keyword for creating opaque types, TypeScript does not; this package is my solution.\n\n## Usage\n\n```ts\nimport Opaque from \"ts-opaque\";\n\ninterface User {\n  readonly id: Opaque<number, User>;\n  name: string;\n}\n\ninterface Post {\n  readonly id: Opaque<number, Post>;\n  readonly authorId: User[\"id\"];\n  title: string;\n  body: string;\n}\n\nlet myUser: User = {\n  // Error, type 'number' is not assignable to type 'Opaque<number, User>'\n  id: 1,\n  name: \"John Doe\",\n};\n\nmyUser = {\n  id: 1 as User[\"id\"],\n  name: \"John Doe\",\n};\n\nlet myPost: Post = {\n  // Error, type 'number' is not assignable to type 'Opaque<number, Post>'\n  id: 1,\n  // Error, type 'number' is not assignable to type 'Opaque<number, User>'\n  authorId: 1,\n  title: \"ts-opaque\",\n  body: \"It's a pretty cool package.\",\n};\n\nmyPost = {\n  id: 1 as Post[\"id\"],\n  authorId: myUser.id,\n  title: \"ts-opaque\",\n  body: \"It's a pretty cool package.\",\n};\n```\n\nThere are other types and helper function `ts-opaque` exports as well! Check out the API below.\n\n## API\n\n- [`Opaque`](https://github.com/seancroach/ts-opaque/blob/latest/source/Opaque.ts) - Create an opaque type.\n\n### Helper Types\n\n- [`BaseType`](https://github.com/seancroach/ts-opaque/blob/latest/source/BaseType.ts) - Get the base type of an opaque type.\n- [`BrandType`](https://github.com/seancroach/ts-opaque/blob/latest/source/BrandType.ts) - Get the brand type of an opaque type.\n\n### Helper Functions\n\n- [`create`](https://github.com/seancroach/ts-opaque/blob/latest/source/create.ts) - Cast a value to an opaque type.\n- [`widen`](https://github.com/seancroach/ts-opaque/blob/latest/source/widen.ts) - Widen an opaque type to its base type.\n\n## Related Works\n\nOthers have made fantastic packages to implement opaque types in TypeScript. While these implementations are flawless in their functionality, `ts-opaque` brands its opaque types with symbol keys, hiding them directly from your IDE's intellisense or its equivalent. `ts-opaque` is also distributed with helper functions and types to manipulate and use opaque types easily. Spread some love to these works:\n\n- [`ts-brand`](https://github.com/kourge/ts-brand)\n- [`type-fest`](https://github.com/sindresorhus/type-fest)\n\n## License\n\nThis package is available as open source under the terms of the [MIT License][license-url].\n","readmeFilename":"README.md"}