{"_id":"emery","_rev":"19-8a9b525c3d3c160f764a5204b0987da2","name":"emery","dist-tags":{"latest":"1.4.4"},"versions":{"1.0.0":{"name":"emery","version":"1.0.0","author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.0.0","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"}],"homepage":"https://github.com/thinkmill/emery#readme","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"9cb9e556237d108f35d4d559d89c4d00c8273188","tarball":"https://registry.npmjs.org/emery/-/emery-1.0.0.tgz","fileCount":43,"integrity":"sha512-Kdvanowl++UCj8umFJ0APsXfwjv/sIPUxxuF2Xp/0XVbZ15Lqivmgi+WzKaOwy3zyyaOKS+d1gbaGFZsiC6Iog==","signatures":[{"sig":"MEUCIQCvr/6kQ5eATU3bzCft8VmX96EYpyNWrrxszI/W6TOTsAIgL7V5kqbTEmvY/tJqkH/lxKa5X2G1KbUWg4593V0wBcw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJila9BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1TQ/+O0c7Yx8brW7PgyHz90BHQqIRRfu1EaMS666NPlOO9y7xG1eG\r\nr0cxKdiWFtPPds3SLBIzymja3Rzvt+o05fWQ0dqDpxzAr/UYw2POwd1UzhDd\r\nKBIjh6108f2U6zHJUufc/gaja9JIzQ/j5jEjahwMpwxLXteP0E3S24Tp0Jx9\r\nGa6EHfMoPLtnufpGEzoIUZ97JRjaEPt+wLAvdIOiu1N6eIiWDZPOYXRfYC81\r\nFQFHU3z92i27Zn+OtEbuGbdD3ywdhunNa13xhD83YiNpbbtpwLoY9JGt/DfL\r\n0284YGwe60lZ3gOLOgEwyayhLTpRiANBPffXNZUSrcViUOOMiWWdKsyl+2/8\r\nTKNhQuqkt0xOe5lzag9Xn4kUzn1v3GmC1i0ZzYiPKhB1Wk21iaFILC8lFtoH\r\nUqWYQK3Vunlf4dy2pgg6LWNN7TJpAVHouWDJYcq5eutBvdmjKJnbudgAqiaG\r\neybBl+A83J4vHsp08x9Y8c+84iWuIziRgbJOHcNeYM2hOGdOX2VhzUoCx1tF\r\n6zbpzBVwK8ZljM84Lu7aYCnqC1ITbUZz7FmU7MI8bFd8o7WJCV2EURS+rA8B\r\nTxhnxH1sUQOJeo86rA/9Kai1wxoFJ1+7n8zz8COmthQpeI4l8BM3bEYd45N8\r\ngyQpP3+SpTbKLvzE3ZOHszXCi9M75vtgmiU=\r\n=z9UL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"f237d8619a7486d3662a7014da4a9ec1c5de9800","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","docs:dev":"next dev docs","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"jossmac","email":"joss.mackison@gmail.com"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"8.5.5","description":"Utilities to help polish the parts of TypeScript that are a bit rough.","directories":{},"_nodeVersion":"16.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.0.0_1653976896890_0.9662921836539013","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"emery","version":"1.1.0","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.1.0","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"}],"homepage":"https://emery-ts.vercel.app/","dist":{"shasum":"fbca55cba6bb6e06adae62ae792c236143ad8d14","tarball":"https://registry.npmjs.org/emery/-/emery-1.1.0.tgz","fileCount":104,"integrity":"sha512-uGv+s3eByX/kQOjsTa83YmjeaUi0v9KAtdke4iIuicprcL5x49YzEqEii4yjW+I6jkNbryZ/4fFfTpmyEi23Cg==","signatures":[{"sig":"MEUCIQCpiKVRT8DBPwygr8gYMnIavP4xuMAbqUD8JhY+8PBruQIgVdE6nFzpYdg9tGUw4ffyBZ48FxgOZ54xXTsnYtDlouQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJileEFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJBA//S1CxoNGNk13b6qpk6IMuXwCKC/9QVia3a+gnNwFby35fJ0e2\r\nLFA5wgFwAz+nO0mOoPftgq4VCThPdoNSWBT8YOqIeLCoIHOxgLNmOTJjU4HM\r\n+Gu8J18Aq51BiWAyXhQb5coRIomb+8cYZt2uOJWHneO/MuCVfx/+Bf9w9bcE\r\n/AA5dY3HgXbbVhrpSB1yK8A+mbTQnD8601PKva1wLQWRKSxoiKQ0q3oomTup\r\n9Kx/AAMU3HSLvhhu2SG0FYD2OxoympdWbXx/h2HA+jiiVXdwnzAJwASzlWL8\r\nlz4n911mKsNk4isTI7bFISZueKzvTz2Wu4GpZ6jlQZsRaPLe4fgRGlzuo/9g\r\nGn4lfkbjHPhex7eF92miKrAWK3pyiAGwq4Y4BqBeKOWYroEhbj0cE4w9pzrP\r\nCaxbUqkOwl9969FLZDejcKI/isMb/hngbHVQXUsHRAIsiDV0KxWgSQc1FpPU\r\nxq27g8hF+TxfgyTubaGBjthdcYTX1uZ1b72OuIRcVhOnhA8ensuRmg8tUKYY\r\nTcJd4IO59a78cTleXrYEx7ApdMF0XQx5t28v+j1NZ8Sp1bvCL6hL4JIpIozx\r\nF342sb/L9wYmUwUKeZkCDJBAtHFoYg4u5iaxhcYLU/k1RcBZmOjtitzj51/F\r\noeQqzImt23XsyhFwDBVp3ML/U9I8z1CdSDg=\r\n=XUu9\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","module":"dist/emery.esm.js","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","docs:dev":"next dev docs","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"jossmac","email":"joss.mackison@gmail.com"},"repository":{"url":"https://github.com/thinkmill/emery.git","type":"git"},"description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Thinkmill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.1.0_1653989637705_0.08280852841782682","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"emery","version":"1.2.0","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.2.0","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"mitchellhamilton","email":"mitchell@hamil.town"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"0e030ffc68a694558978782f636e3c7e616286a7","tarball":"https://registry.npmjs.org/emery/-/emery-1.2.0.tgz","fileCount":85,"integrity":"sha512-NhXwXexamoC5MfH2ze2uklrpYHYRQ0gsQMDFa5RdXuncZAxPQSDfOU0V0XNJmaLxAGUSPPLRtr0lMmcszZi9qg==","signatures":[{"sig":"MEUCIQDYKRnNmRBcCAYZ8rhyel5S3zWwvTSWGGCeq8dZifWpBgIgY1Spi4izRSkaRZ/1uB9c92FKeQQNAs9iFBVxXL7KVY8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75216,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitVMPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo70Q/+LwwYG+ifNeIVCRz+BHm2hcEiMt03cUPauPAZzlQk1/3kWT5+\r\nqEDsd1uuvDX97pAoiTBdS24Bbj8FaiyjyJ/ijyEQV01jq5w0C8B02knF4HKn\r\n1gIeeber/e4YCMtPguseMmE90vTkm/Y+R27Wda8Va/NcGbaYMz+GtXmILp0P\r\nUoIvL7o53gQ7m8i/jC/aQqnezFlUcEF8zDrtOqTyLyI9azwmfuC+fIfIWfSi\r\nXnf9eqQUg5rBGC9G9WQkIk0YCBgKlNwEdrZSQPp6cALPErU4KWhtarg+S2l8\r\nbuuSt3OAo9vUU3hiany2j6t+Ee7mrnZhLkgBxvHFNpb8ex7bopSIz8tg6gui\r\ne7GTSKIf+D3lAGhC1vTDc7pCivxfahZ6V3KKelQrO+RXfYKjZUBnrYkbQko/\r\nijSfaTNkIGQNr4f2D1BiMkx8/GPArch2Tv5KxemSEehUq4N8GT5jy9T1cHqm\r\n/3qB6cpNYMolxCJsDCCJ4KoXkbPX6zUtm0/Lg7SxVARKQJc2MIHYSFhjcC32\r\nF30lGWHMxGkjpNd9iIMMtg4cuxtXKE7gfUZTGNFbXlBwYbkWflYJBVWHmqUT\r\nSNvNUvZllolen2QYKnYjjw/Jobh1BCi3SPx/bC+N6q7SNnNwc860UMoGAH6G\r\nD4b7PTpaaV7PRitUAGq4vK6rfFzGkmQIYx8=\r\n=qu35\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"fd9fa6d6918574279b4ee5a3272d0fb0d4a71cdf","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"8.11.0","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"16.15.1","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.2.0_1656050447114_0.44964652871081245","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"emery","version":"1.2.1","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.2.1","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"mitchellhamilton","email":"mitchell@hamil.town"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"d6fe391223d68a9d4f431766d8dd3282de805376","tarball":"https://registry.npmjs.org/emery/-/emery-1.2.1.tgz","fileCount":85,"integrity":"sha512-s902G6WluDHBYsErz5kmdAFPP5079c+wYjfwB7GkPpb1/dXxMu57UtFtmWLerbIkuu2ke1zUKz6JjHuVCXrnQg==","signatures":[{"sig":"MEQCIGx7UYWZCs+1E+cKmCel9aKBHYsztxZSjUf14seYAmFdAiB/GqLgqHffQDYueyTAmiTsevPv50VBQgbXXffvNqPKug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitVTXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq37hAAjD9e/R4zDpCiAffWuijyqJv1O8T4q1u9/cwwteb9jhXizU2/\r\nJBSUaKOWIXlYux5SYtzjiOkRhzAWxFc5Y0F+Vn8mX2d9f+npkcRR6z0LXfPl\r\nwZWQRhtRG6NSfWcUQLwwtIoiri4Q6k/1KQjcWMf+GpTptLXoFXilQGa3OpGZ\r\nBhOe8g6ku4rENYs4qWGzOj+CI7GkvOMgtUnA5Q9KBBewUjawnceYLomyX99M\r\nu0DOwBCrdvBPzL9LxuQtorABjWlHnliWhUG+JtMyj5upqkzQSAp5JRle1adv\r\nFsREPHvxub889bR4WIdTB+CJmXC8LUARCsqInyIXGiDIKjFnWXjQt0DCm09h\r\nOwruszHvsp9opD8A7/Zqr+uWRga2V3dPeZVmSD/Pt9Q/GCanyamMRQYHKLTm\r\n69/w5WqtFiN7N0pTFNv1X4Eq1h3aG2PKRLJOQP6jCQKY2xGMQKaqlJPuNwh+\r\n2zG7NmmQoydANYX8kftItQYW5Z5ObXtSZs92SHFZ8Gnwrqwyr06zRizcMhzA\r\nmIXQQZB9lQZDkhrxG989W13Yt4bu+g3IbbhkUtZ0Ent0YbJ5voV+wVVRFyPe\r\n1WXf8IuAK9vupKh8f7UPSv+4hX75IRs7wZAhsk/SkTWw9nzHizGLrM/m+fLr\r\nmcgJO/Hyce1gdh9xbeAVkfAOrWHCRuXEqlE=\r\n=DHnS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"777e77e09e023b10811e5866246778191edd716e","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"8.11.0","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"16.15.1","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.2.1_1656050903105_0.22927890970039133","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"emery","version":"1.2.2","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.2.2","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"mitchellhamilton","email":"mitchell@hamil.town"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"bbe246b1206e3f01ca8e592bec73db7f76c8df3b","tarball":"https://registry.npmjs.org/emery/-/emery-1.2.2.tgz","fileCount":85,"integrity":"sha512-lwLcfdkec9wHSFfdIBFsFjNEh09eiyjV7LyIgzR+2iF+KMBBDHPdEW8wxY8Ou8uSJSFMSWmSHSQsm3mewB4Xbg==","signatures":[{"sig":"MEQCIBZU3TaidEnMKLhIVzQjafpDLOLvu9lXr6ZY6yehL1nOAiBf6ondY5f9YP5auRr7WMyntRgX9YN2JdQuynTXvbM/mg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivWIDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGBA//Ro4KMDkN+aSOxBItSw/niO9bZVAUBTsuouxOI06ObsD+YSEn\r\ntvwBd8bNdeIMWV7R19sHqfSjtOG76YYSi8VYnwfVaIeZa+m+ZREf1nJNzyy5\r\nGUabO2R6F4HiYCP7VHkEl42NMTPQ7+vBVCfHbck+mk/iMN5rzyFnG69mhyBk\r\nK1IBNHRsq8DoaZCc9nRZNegO9JJnhhHT4Lwsr3Z3eKGlyz6d7uMtlRRSibS9\r\nSchgnBjV2pnZ5480M/4zGUMoRjrQaHS39l2AtrYU+ImgbH/5r3NM+iglZu/j\r\nsHpUurStZ2bkhZAsNmvY0i37D4Uw5AQM1xZTyUYK6UqMW7GpdUO9IqKEtcdm\r\nWTUZn33Z61gpIOP055kDRyGBplttAlgQnF5Fqtr0gRFM7AovyuimaMlyBPid\r\nLKqWHyBWhXCy739BtjzE5LCXZw5icqMxsQNT6edBWglGE/KL3Q9b0x0FTIw1\r\nXjc/UffSCiTO8GiTyYGb3mgosx4ciUjSOwcVYQvg2VUbNPZtvVLVF1T1HuYC\r\nrMPPb2FDsuADRR1jC5EgXs9LYrYjQmF5sybNgOUtsli94fdfz+bPjsWCHgEK\r\nYSXThfWh+EKgRiKAD//oSaoyLYIvLAt+J+6yxp0thgP2PeshbMpViyikJFfA\r\nQChOxqWSpTkKV3KfyTjMV7id/izJOOy2DLg=\r\n=A/nw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"50e5472e5b6536b99c3ad85f60d5258f974dcff6","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"8.11.0","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"16.15.1","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.2.2_1656578563252_0.7595321938853203","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"emery","version":"1.3.0","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.3.0","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"mitchellhamilton","email":"mitchell@hamil.town"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"afec6fe8481c5273bbb2e082d600c6e3e3409408","tarball":"https://registry.npmjs.org/emery/-/emery-1.3.0.tgz","fileCount":85,"integrity":"sha512-7qBkNX+I5wIWeD1BQODy6+QAAtj5aomVMX4mUKuStxCvgHcnaaJabPVkrKnCYERh1JndbG9XJJawRkiJtyAibg==","signatures":[{"sig":"MEUCICOoJZDB/qFxFizyyc+EuOYK02jB9oPQBR36WJrOs9N5AiEA9KE/J4vagosad71Lgpjyj3PStOabXPXhXY8WCiTouEw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixhGhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrotw/8CqjiwDgtvdzpgv1Q4VZVfEAdnY8h5Z4F4JnWo+nhNNijAwNR\r\ny2aB3PGvMgl7bk1uc3zGLmC6IGX0mITR6DkR6DF3XPWFF44zDsSnhm5/17D5\r\nISsp6Xdf1CU8UVQtkF0nlxDkGKxMBmDlYuS0MZNHQpmntrx6SGTJJ1iLsszY\r\nEFM3pzVkMV4ASz4wxMWwljE0N3cYK518M8H+v98R+sCj/zbVPTMRJ8nJOHNO\r\nrGiM8xXPQpx5NG3F5OWxNH0cZZL80ZarE59pSceM5yt8+JZn+tFbFxPmgWc4\r\noITO0OsIJQv8XIX0bRh6QKdrp7m2GB/4Z+9nsNwq1+WcyNUc9Whxyy/JDV6k\r\n/KON1eVEDyAKV2nEB5SEqbWIA3hfyA13XG3plTDbdOAwtAg7ZF4OCMzOY122\r\nE9N1hfut5R7sOosklpil/LfeZMOaoVhjikla/tk5VxK5akFajeKOmOdKQgt3\r\nwN7YUB74JxYirLqo5YiCHzxUTzUCvQURCzljfiV5M0EhSAs0MpX8ulxmuJEk\r\nmrQ8k1elJf1fVxqoDnMXsy42bdjKOCt6/rSBe/XkCX1IWOuahR0etlMV5ET9\r\nnXGstcG5kj+pyMw1m79Nh7yPvhGSI0a10KPbyW6tb5CJhd/Y+1kOejioipZh\r\ntwC/fnveuzvQzbFL4ZgoOWg35oKstdmh9vU=\r\n=kNDO\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"61df49d4ebb00edcd5bea0a71a1faeb60e418731","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"8.11.0","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"16.15.1","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.3.0_1657147809036_0.6864826165153908","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"emery","version":"1.4.0","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.4.0","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"mitchellhamilton","email":"mitchell@hamil.town"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"48ae20143fdff21201879a8ae1005da07af1666a","tarball":"https://registry.npmjs.org/emery/-/emery-1.4.0.tgz","fileCount":85,"integrity":"sha512-dIF/QM12WePAuBe/g4lWwhacg+oTeXygjZqH4dyW70mF1TXZUVEDJrNipZip/34fE7RrLejk8mI/40gszq385Q==","signatures":[{"sig":"MEYCIQCYgqmEiiOxX1I7gvE0RmezF5lf6JI7MWhzNr+6NAMXCwIhAIpx7prPFM0sqYbv0LdlZBfUg03DcVjVk7K/FssMrsI8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixiqmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrynA/8D86+RhL7+m3DBTguJuFh885G7LuE1VpoOEaQSmLlydKvtGBr\r\nzVZbdGqxadSICIlhWyGfbkFuEQNgi8sWsDV8kTtWAXgcw9hTgkflwtZI6DLt\r\niSfuly087Fc2gspPSTFBorI/AeMjGLKI4r1MZjNTQvlMgdaXce002JBfoJYr\r\nQdPIGDhfOK31dCuXTh0yL4OEcqMCZ4UcIQ/G4+H3Eci4rWAOzD2lLJ8r2R42\r\nKF9CcuFJrDpsGv2eEwGz3UTpyfuYgbqLQzQRVXRP9n59A2KmaOWZyVcDTaxH\r\n2Ur5pAyuOJWfMbeH2nadWjY4CWyCyeaJY4EEMm2L0PA0YpNZUs0nj9uXSod9\r\nmPOGgTxVfiFaPpD0CSgAJ6wBSwPDyAOs0UIzflIdA95q+h7bO15IxTYh5XPf\r\nmzCfZKe1l7p4onesU4BmYpGCa0ofAbV9z5zwIkQamCSf3sphjUnHvcKdDb9K\r\nBFs9T9kojJutZngU5HuP42ri45E3RZKdbfnlqK5hcnwdnC18vlRXAnOYhhmg\r\ntWP5jP/hzzwr+vAYN8y3h56hIMFCrbRjHqkDyPziNdFoij4vu2kXO4okxzPO\r\n3l1vFpu3xguMmoTP3+BZllj2b9ic3UFnSIafk8Co/t3yvpLg0d9ogBGoHpRq\r\nNWT0UhSY9DTX7pWy0uyN9Ahg5uFgA8LlSoM=\r\n=S4ct\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"4a88a852fd24f85b63e6a78f85c7e4c4cacd27e5","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"8.11.0","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"16.15.1","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.4.0_1657154214176_0.07194866176954773","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"emery","version":"1.4.1","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.4.1","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"mitchellhamilton","email":"mitchell@hamil.town"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"2933c855fc4acee28025765302770a8464b203d3","tarball":"https://registry.npmjs.org/emery/-/emery-1.4.1.tgz","fileCount":85,"integrity":"sha512-i5MU9HbnbFdKLJCT7QIfZHMFtzWmVhK1Ge4zjCmrlHum3GxKakzttC4tZItZYRbJeOGUqRwarThxdqVYnokMeg==","signatures":[{"sig":"MEQCIErf5bTocaFAv1Q4uW4MMJB0xJrGpJer4HQpYoikZ+Y/AiAq6y7Qhot0Yn2UBeQTVl5rdpex3lZAxOIlbEtrDdd7dQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixi5TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmra/w/+OlIZpN4zJen+dxPBCr042AgmhDGMu9HOSem4zGB47Q3RCcSL\r\nbkJGWWxizsD+fJ+/jPJewaVkOUTVB1oe8Z2RgjJQO8JhlbsTwwyKBqpOjpEZ\r\nBLM8UCIpBW1outUvWTQuGRPvevRBF/HqOasyLzkFo7FQVZn07Yd4goE6h4bN\r\nPNTYZHM4r7bfHUh/2VAyWvLoYkG7hsOsxQpu/9ZG3kRY3fsI+doFO75Fhxum\r\nRW0msvIFO2ARxPfylwjIEvZ4V6gh7N+rfXFcjapZAm/8OUOlEUHhH2s1HcuX\r\ngk3ZwIxV8QNxxGZmKEZ5oS9GkFbKrzzJLpabHHIKF9F1x3uv0bEkRwtoTgoz\r\nJQ/glHvdmOa8wFza6m0xepsfCc75nO8sGhqYFAhqH62v+MYSFrA694xWQyij\r\n9mjIA7vhNRYQ1T56LaNaabdRTEamqRie9x0IDXRq/dnZ0VvX50B7f3bJ/jkD\r\n4ilmj68fe8HtPXr6ZMU5AlYYijlS8E82gYTCeuyVZGTkJrMuGlqPHEbm+g+l\r\nu3rOdwvbqrs80PZLC6KD1WDWU+jNxEJASBrh6XMIyeqeHcBBaJrx16bVAg5V\r\nQe2Kxh7uOz5uEJSqK2uMDdOPnvMyMdPJV33+XPErVK/OJSaVjxvkrRATBzUh\r\n4RgY2kD4GVvthFptntjVe5OEuogpU7zXrVg=\r\n=fdDp\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"267db2b4e84e33a20347a1dfd9b58304221a39d6","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"8.11.0","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"16.15.1","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.4.1_1657155155478_0.9717261987913033","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"emery","version":"1.4.2","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.4.2","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},{"name":"emmatown","email":"npm@emmas.town"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"e05b4a43a591cf696f03481c292136a6b02509cd","tarball":"https://registry.npmjs.org/emery/-/emery-1.4.2.tgz","fileCount":85,"integrity":"sha512-wuwYzOAixdbvK05Ds3FyvaQDjOTNC2XIJ1sp9wvW93OnvzgCDKRxTAMguo7SiuUM2APlOltPmIRloGJ1GOp4TQ==","signatures":[{"sig":"MEUCIBuB6DYxDlljxZFP+qzfbFQI08tERO46p+Uh4u5Muj86AiEAjJDUd2iJNnuJQ3IpcwNfkgfJu8eJvOig1KozIjkQBe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGo/iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUJQ/8D/h+5hZwgq2n0FRzGPD0VIDZul/tk8WOx74fV30PTUCQlGgR\r\nJ0i7je8N4FlmxCI9QDs6T117qNwg0ZYLpJzyV1UpcwqZa808fWQMxRELiE98\r\nxqgJ/iH2Sc2vpJW+0kVGnHMy69gYsFdKZbnuuhRT3K4NT1YHxWLbRo+RxgQZ\r\nkT0+0f+H6RCTgjoD/N+aMOkASD1qxTYOFQBW5vY857VqwllviQjj3h2RTBKx\r\nFQUay1Xh+qi1yuR/S8nczOnl1RZtjZ0sHzVxzKIUaDSVOwKGNXvtbrvjrEZr\r\n/jcnwNk3FPEVOtFI3uIIouCKNW7h4ajY+j94wGMeoPF0kpjYT2sJaIqfk4Ew\r\n/AmcH80wT7suKgBQEghc7N+AQ8tSkR/BLr3Ik22+btSsupcBZ6JQspADVK+L\r\nMXQV0VO5LHqLoSgqtYqcUB1rpgpMDLASAA9xh8MP4L6W7zhNbvlC4tU8rDRv\r\n3sV0wE7ibcCtRzhAGMsKAx27LUNAKft2MblCBNTS4BE3ejSU82VQM+x4kkcH\r\nCHjADFUt+Pablx93WDuAMQrGexDx7MZ9XZN+mBBZuy9QB+mIsRIwlkPliH0q\r\nPTY5Nl1GLa4L5JgyxvOth/vasL/itJmumFYjgzoTUfHkuNHltLAwNdKF1NLp\r\nu8EVbi8fEkPeJK+6T1Ac3PZX83ZGFoB3CUw=\r\n=MhjC\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","gitHead":"44eab65d165294d613f13d30c6c899b0ac24059b","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"9.5.0","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"18.15.0","preconstruct":{"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.1.5","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.4.2_1679462370259_0.5471952366813484","host":"s3://npm-registry-packages"}},"1.4.3":{"name":"emery","version":"1.4.3","keywords":["ts","typescript","utils","utilities"],"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","_id":"emery@1.4.3","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},{"name":"emmatown","email":"npm@emmas.town"}],"homepage":"https://emery-ts.vercel.app","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"dist":{"shasum":"9d4c1bc042d50719dd441a26b5702f3527925b4b","tarball":"https://registry.npmjs.org/emery/-/emery-1.4.3.tgz","fileCount":85,"integrity":"sha512-DrP24dscOZx5BJpOo32X1CjaWgbFojS4sAXKtlmTQmCJ01Vv2brjeWKIS6cQ4Rblt/hZIN+6pdV2L7Y9Rsh8EA==","signatures":[{"sig":"MEUCIBRFWPYPO+ZnrLUUK+UPWcZvwoaQrf95clV/6kiQRyLxAiEA2zamhwcoKOUDmpkvkNAPDtjo4lzbf8Y2rjl/7Oao4hI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83719},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"main":"dist/emery.cjs.js","types":"./dist/emery.cjs.d.ts","module":"dist/emery.esm.js","exports":{".":{"module":"./dist/emery.esm.js","default":"./dist/emery.cjs.js"},"./utils":{"module":"./utils/dist/emery-utils.esm.js","default":"./utils/dist/emery-utils.cjs.js"},"./checks":{"module":"./checks/dist/emery-checks.esm.js","default":"./checks/dist/emery-checks.cjs.js"},"./guards":{"module":"./guards/dist/emery-guards.esm.js","default":"./guards/dist/emery-guards.cjs.js"},"./opaques":{"module":"./opaques/dist/emery-opaques.esm.js","default":"./opaques/dist/emery-opaques.cjs.js"},"./assertions":{"module":"./assertions/dist/emery-assertions.esm.js","default":"./assertions/dist/emery-assertions.cjs.js"},"./package.json":"./package.json"},"gitHead":"afb16f0d3358742ae254ccad1e038a3d938b9459","private":false,"scripts":{"lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","test":"jest","format":"prettier --write ./src","release":"changeset publish","docs:dev":"next dev docs","changeset":"changeset","docs:build":"next build docs","lint:types":"tsc","test:watch":"jest --watch","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","open:coverage":"open coverage/lcov-report/index.html","test:coverage":"jest --collect-coverage","prepublishOnly":"preconstruct build"},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"repository":{"url":"git+https://github.com/thinkmill/emery.git","type":"git"},"_npmVersion":"10.2.3","description":"Utilities to help polish the rough parts of TypeScript.","directories":{},"_nodeVersion":"20.10.0","preconstruct":{"exports":true,"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","next":"^12.1.6","react":"^18.1.0","eslint":"^8.15.0","ts-jest":"^28.0.2","prettier":"2.6.2","react-dom":"^18.1.0","typescript":"^4.6.4","@babel/core":"^7.17.12","@types/jest":"^27.5.1","@types/react":"^18.0.9","@changesets/cli":"^2.23.0","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@babel/preset-env":"^7.17.12","@preconstruct/cli":"^2.8.3","copy-to-clipboard":"^3.3.1","prism-react-renderer":"^1.3.3","@babel/preset-typescript":"^7.17.12","@typescript-eslint/parser":"^5.23.0","@changesets/changelog-github":"^0.4.5","@typescript-eslint/eslint-plugin":"^5.23.0"},"_npmOperationalInternal":{"tmp":"tmp/emery_1.4.3_1705360888925_0.6905216714271947","host":"s3://npm-registry-packages"}},"1.4.4":{"name":"emery","version":"1.4.4","description":"Utilities to help polish the rough parts of TypeScript.","main":"dist/emery.cjs.js","module":"dist/emery.esm.js","exports":{".":{"module":"./dist/emery.esm.js","default":"./dist/emery.cjs.js"},"./guards":{"module":"./guards/dist/emery-guards.esm.js","default":"./guards/dist/emery-guards.cjs.js"},"./opaques":{"module":"./opaques/dist/emery-opaques.esm.js","default":"./opaques/dist/emery-opaques.cjs.js"},"./assertions":{"module":"./assertions/dist/emery-assertions.esm.js","default":"./assertions/dist/emery-assertions.cjs.js"},"./utils":{"module":"./utils/dist/emery-utils.esm.js","default":"./utils/dist/emery-utils.cjs.js"},"./checks":{"module":"./checks/dist/emery-checks.esm.js","default":"./checks/dist/emery-checks.cjs.js"},"./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/thinkmill/emery.git"},"homepage":"https://emery-ts.vercel.app","author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","private":false,"keywords":["ts","typescript","utils","utilities"],"scripts":{"format":"prettier --write ./src","test":"jest","test:watch":"jest --watch","test:coverage":"jest --collect-coverage","open:coverage":"open coverage/lcov-report/index.html","lint:eslint":"eslint ./src --ext .js,.ts","lint:prettier":"prettier --check ./src","lint:types":"tsc","lint":"yarn lint:prettier && yarn lint:eslint && yarn lint:types","docs:dev":"next dev docs","docs:build":"next build docs","prepublishOnly":"preconstruct build","release":"changeset publish","changeset":"changeset"},"jest":{"preset":"ts-jest","testRegex":"/.*test\\.ts$","moduleFileExtensions":["ts","js"]},"preconstruct":{"exports":true,"entrypoints":["index.ts","assertions.ts","checks/index.ts","guards.ts","opaques.ts","utils/index.ts"]},"devDependencies":{"@babel/core":"^7.17.12","@babel/preset-env":"^7.17.12","@babel/preset-typescript":"^7.17.12","@markdoc/markdoc":"^0.1.2","@markdoc/next.js":"^0.1.4","@preconstruct/cli":"^2.8.3","@types/jest":"^27.5.1","@types/react":"^18.0.9","@typescript-eslint/eslint-plugin":"^5.23.0","@typescript-eslint/parser":"^5.23.0","copy-to-clipboard":"^3.3.1","eslint":"^8.15.0","jest":"^28.1.0","next":"^12.1.6","prettier":"2.6.2","prism-react-renderer":"^1.3.3","react":"^18.1.0","react-dom":"^18.1.0","ts-jest":"^28.0.2","typescript":"^4.6.4","@changesets/changelog-github":"^0.4.5","@changesets/cli":"^2.23.0"},"_id":"emery@1.4.4","gitHead":"a320ab61fdc7b0db3b7353c889c5f4f2666f8dda","types":"./dist/emery.cjs.d.ts","bugs":{"url":"https://github.com/thinkmill/emery/issues"},"_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-mMoO3uGDoiw/DmZ/YekT9gEoC0IFAXNWzYVukY8+/j0Wt8un1IDraIYGx+cMbRh+fHaCDE6Ui7zFAN8ezZSsAA==","shasum":"3534cd3e3ecc9d5191052191d6df01df0542fd03","tarball":"https://registry.npmjs.org/emery/-/emery-1.4.4.tgz","fileCount":85,"unpackedSize":87115,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCgnj+TvpgI7/BvN9S8K65HYsvsqrdDoFfhriadFtFyFQIhANHv64Pzsa6L2romh1r2ck/B8CyrpCTNy/mU2FTNa4n6"}]},"_npmUser":{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},"directories":{},"maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},{"name":"emmatown","email":"npm@emmas.town"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/emery_1.4.4_1744067172825_0.606125376714193"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-31T06:01:36.890Z","modified":"2025-04-07T23:06:13.197Z","0.0.1":"2015-02-19T18:41:06.000Z","1.0.0":"2022-05-31T06:01:37.111Z","1.1.0":"2022-05-31T09:33:57.862Z","1.2.0":"2022-06-24T06:00:47.326Z","1.2.1":"2022-06-24T06:08:23.303Z","1.2.2":"2022-06-30T08:42:43.393Z","1.3.0":"2022-07-06T22:50:09.192Z","1.4.0":"2022-07-07T00:36:54.456Z","1.4.1":"2022-07-07T00:52:35.692Z","1.4.2":"2023-03-22T05:19:30.443Z","1.4.3":"2024-01-15T23:21:29.084Z","1.4.4":"2025-04-07T23:06:13.023Z"},"bugs":{"url":"https://github.com/thinkmill/emery/issues"},"author":{"name":"jossmac","email":"jossmac@users.noreply.github.com"},"license":"MIT","homepage":"https://emery-ts.vercel.app","keywords":["ts","typescript","utils","utilities"],"repository":{"type":"git","url":"git+https://github.com/thinkmill/emery.git"},"description":"Utilities to help polish the rough parts of TypeScript.","maintainers":[{"name":"jossmac","email":"joss.mackison@gmail.com"},{"name":"emery-release-bot","email":"automation+emery@thinkmill.com.au"},{"name":"emmatown","email":"npm@emmas.town"}],"readme":"# Emery\n\n<a href=\"https://emery-ts.vercel.app/\">\n  <img alt=\"Polish for the rough parts of TypeScript\" src=\".github/assets/banner.svg\">\n</a>\n<p>\n  <a title=\"View on npm\" href=\"https://www.npmjs.com/package/emery\">\n    <img alt=\"npm version\" src=\"https://img.shields.io/npm/v/emery.svg?style=for-the-badge&labelColor=0869B8\">\n  </a>\n  <a title=\"View the project license\" href=\"LICENSE\">\n    <img alt=\"License SDPX identifier\" src=\"https://img.shields.io/npm/l/emery.svg?style=for-the-badge&labelColor=579805\">\n  </a>\n  <a title=\"View emery website\" href=\"https://emery-ts.vercel.app/\">\n    <img alt=\"Website\" src=\"https://img.shields.io/badge/Website-2F6BFF.svg?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWdsb2JlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PGxpbmUgeDE9IjIiIHkxPSIxMiIgeDI9IjIyIiB5Mj0iMTIiPjwvbGluZT48cGF0aCBkPSJNMTIgMmExNS4zIDE1LjMgMCAwIDEgNCAxMCAxNS4zIDE1LjMgMCAwIDEtNCAxMCAxNS4zIDE1LjMgMCAwIDEtNC0xMCAxNS4zIDE1LjMgMCAwIDEgNC0xMHoiPjwvcGF0aD48L3N2Zz4=&labelColor=0737ad&locoColor=white&logoWidth=0\">\n  </a>\n  <a title=\"Visit Thinkmill\" href=\"https://www.thinkmill.com.au/open-source?utm_campaign=github-emery\">\n    <img alt=\"A Thinkmill project\" src=\"https://img.shields.io/badge/A%20Thinkmill%20Project-ed0000.svg?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTg2IiBoZWlnaHQ9IjU4NiIgdmlld0JveD0iMCAwIDU4NiA1ODYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xOTk2XzQwNikiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU4NiAyOTNDNTg2IDQ1NC44MTkgNDU0LjgxOSA1ODYgMjkzIDU4NkMxMzEuMTgxIDU4NiAwIDQ1NC44MTkgMCAyOTNDMCAxMzEuMTgxIDEzMS4xODEgMCAyOTMgMEM0NTQuODE5IDAgNTg2IDEzMS4xODEgNTg2IDI5M1pNMjA1Ljc3NiAzNTguOTQ0QzE5MS4zNzYgMzU4Ljk0NCAxODUuOTA0IDM1Mi4zMiAxODUuOTA0IDMzNS45MDRWMjYyLjc1MkgyMTQuNDE2VjIzNy42OTZIMTg1LjkwNFYyMDEuMTJIMTUzLjA3MlYyMzcuNjk2SDEyOC41OTJWMjYyLjc1MkgxNTMuMDcyVjM0MC44QzE1My4wNzIgMzcyLjc2OCAxNjYuNjA4IDM4NS43MjggMTk3LjQyNCAzODUuNzI4QzIwMy40NzIgMzg1LjcyOCAyMTAuOTYgMzg0LjU3NiAyMTUuODU2IDM4My4xMzZWMzU3LjUwNEMyMTMuNTUyIDM1OC4zNjggMjA5LjUyIDM1OC45NDQgMjA1Ljc3NiAzNTguOTQ0Wk00MDcuMzc2IDIzNC4yNEMzODUuMiAyMzQuMjQgMzcxLjA4OCAyNDQuMDMyIDM2MC40MzIgMjYwLjczNkMzNTIuOTQ0IDI0My40NTYgMzM3LjM5MiAyMzQuMjQgMzE3LjIzMiAyMzQuMjRDMjk5Ljk1MiAyMzQuMjQgMjg2Ljk5MiAyNDEuMTUyIDI3Ni42MjQgMjU1LjI2NEgyNzYuMDQ4VjIzNy42OTZIMjQ0LjY1NlYzODRIMjc3LjQ4OFYzMDUuNjY0QzI3Ny40ODggMjc3LjQ0IDI4OC43MiAyNjAuNzM2IDMwOC4zMDQgMjYwLjczNkMzMjUuMjk2IDI2MC43MzYgMzM0LjUxMiAyNzIuODMyIDMzNC41MTIgMjkzLjU2OFYzODRIMzY3LjM0NFYzMDUuMDg4QzM2Ny4zNDQgMjc3LjE1MiAzNzguODY0IDI2MC43MzYgMzk4LjE2IDI2MC43MzZDNDE0LjU3NiAyNjAuNzM2IDQyNC42NTYgMjcxLjEwNCA0MjQuNjU2IDI5Ny4wMjRWMzg0SDQ1Ny40ODhWMjkzLjg1NkM0NTcuNDg4IDI1NC40IDQzOC40OCAyMzQuMjQgNDA3LjM3NiAyMzQuMjRaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzE5OTZfNDA2Ij4KPHJlY3Qgd2lkdGg9IjU4NiIgaGVpZ2h0PSI1ODYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==&labelColor=C60200&locoColor=white&logoWidth=0\">\n  </a>\n</p>\n\n---\n\n💎 Polish for the rough parts of TypeScript.\n\nTypeScript is great but there's parts that are still rough around the edges, especially for developers who are new to the language.\n\n## Purpose and intent\n\nEmery is a small collection of utilities that improve DX without compromising static types.\n\n### Check for ambiguous types\n\nEmery exposes \"checks\" for dealing with ambiguous types.\n\nChecks are just predicates that can't be expressed as type guards, without enforcing opaque types.\n\n```ts\nimport { checkAll, isNonNegative, isInteger } from 'emery';\n\n/**\n * Along with some default check functions, we provide helpers\n * for managing combinations. The `checkAll` helper is a bit\n * like `pipe` for predicates.\n */\nexport const isNonNegativeInteger = checkAll(isNonNegative, isInteger);\n```\n\n### Assert the validity of props\n\nAn assertion declares that a condition be true before executing subsequent code, ensuring that whatever condition is checked must be true for the remainder of the containing scope.\n\n```ts\nimport { assert } from 'emery';\n\nimport { isNonNegativeInteger } from './path-to/check';\n\nfunction getThingByIndex(index: number) {\n  assert(isNonNegativeInteger(index));\n\n  return things[index]; // 🎉 Safely use the `index` argument!\n}\n```\n\n### Smooth over loose types\n\nUtility functions for smoothing over areas of TypeScript that are loosely typed.\n\nBecause of JavaScript's dynamic implementation the default TS behaviour is correct, but can be frustrating in certain situations.\n\n```ts\nimport { typedKeys } from 'emery';\n\nconst obj = { foo: 1, bar: 2 };\n\nconst thing = Object.keys(obj).map(key => {\n  return obj[key]; // 🚨 'string' can't be used to index...\n});\nconst thing2 = typedKeys(obj).map(key => {\n  return obj[key]; // 🎉 No more TypeScript issues!\n});\n```\n\n## Philosophy and motivation\n\nLike all good things, Emery started with curiosity. At [Thinkmill](https://thinkmill.com.au/) we have an internal Slack channel for TypeScript where a question was raised about how to offer consumers error messages that convey intent, not just cascading type failures.\n\nWhile that's not currently possible, it became apparent that there was demand for a solution. We also discovered that many developers were carrying around miscellaneous utilities for working with TypeScript between projects.\n\n---\n\n## License\n\nCopyright (c) 2023\n[Thinkmill Labs](https://www.thinkmill.com.au/labs?utm_campaign=github-emery)\nPty Ltd. Licensed under the MIT License.\n","readmeFilename":"README.md"}