{"_id":"error-kid","_rev":"14-72832f5ba2fc8e6c4d4a38ecb22dbf6a","name":"error-kid","dist-tags":{"latest":"3.0.0"},"versions":{"0.0.1":{"name":"error-kid","version":"0.0.1","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@0.0.1","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"d2b8905e9b0fadbbf6bdf59877ceba4d376d4396","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-0.0.1.tgz","fileCount":11,"integrity":"sha512-tY5Zl2ovzB33YDlaCfF6OrlQ4AMRaZ20rVGh7JZGJcCe+qguNGx8SLqmwAEryJf/hc7dEcCRok2mSUNUMigzTA==","signatures":[{"sig":"MEUCIHmQGVX0BnRe0SzjpnIOaDXypPcnSa4VjDVxu90ELxPJAiEAjh1CRsBp3UnvYtSFu51GK7I7wzW1hlAPi20G576sdIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18571},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-0.0.1.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\c38533d38404d0f005482bb18dfff4c2\\error-kid-0.0.1.tgz","_integrity":"sha512-tY5Zl2ovzB33YDlaCfF6OrlQ4AMRaZ20rVGh7JZGJcCe+qguNGx8SLqmwAEryJf/hc7dEcCRok2mSUNUMigzTA==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_0.0.1_1737024249054_0.9789762928597161","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"error-kid","version":"0.0.2","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@0.0.2","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"c58931822bdc16cbd88057be8873c02cdbb7e2f4","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-0.0.2.tgz","fileCount":12,"integrity":"sha512-Xi7ocr9FJ+0si2sDfZyCYL4iF5RebUMIhPoCvuksOqa5lSED3UxSBq+EuA+NsP8+uyXVLGZoQ/ZjpGzmSVd/Xw==","signatures":[{"sig":"MEQCIBtmLaHHFA1ou3huf31rwb8xixv4N+BnIkvFknJQgSRZAiA/DWUhXYFPe0+GE9mMbpvrvVlb0uhj5FZ7C3sKBlfnvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19028},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-0.0.2.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\96a5b18574b9fa72323ab6a7c0b2a83a\\error-kid-0.0.2.tgz","_integrity":"sha512-Xi7ocr9FJ+0si2sDfZyCYL4iF5RebUMIhPoCvuksOqa5lSED3UxSBq+EuA+NsP8+uyXVLGZoQ/ZjpGzmSVd/Xw==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_0.0.2_1737058312441_0.8834061747618187","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"error-kid","version":"0.0.3","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@0.0.3","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"6adc6cec331920e8c4989cac7d4b36037e2fd57b","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-0.0.3.tgz","fileCount":13,"integrity":"sha512-HI7kpQzlqELtvzSqKTw0FPWyaYIxkdgQes04TSJhpYDf2/A8a2Prz2iJU6H46fdVzCzIC9LxD5uHkiujFZ+LRQ==","signatures":[{"sig":"MEQCICQCLzgKlNpjRhpkIBdZ8Rt3WtmkUcqVN6iVr0t7VxJhAiA51iKvzYcIyORfgXPI4iSdbTceLF+jrnQ/Kci5imXP2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23137},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-0.0.3.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\9d7c4be2b152254814e96528afe1b0c0\\error-kid-0.0.3.tgz","_integrity":"sha512-HI7kpQzlqELtvzSqKTw0FPWyaYIxkdgQes04TSJhpYDf2/A8a2Prz2iJU6H46fdVzCzIC9LxD5uHkiujFZ+LRQ==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_0.0.3_1737061000649_0.3625457558818508","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"error-kid","version":"0.0.4","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@0.0.4","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"8dc4769a4ff6ac0178a146472a8bcddd94319822","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-0.0.4.tgz","fileCount":13,"integrity":"sha512-x+yQhY56SorLMnX6kOf+z3JCv2QBurcWEDcIjgxYtVr4fGeCfAtOdZOCyWttkHHDFPtL2PqnaRUmphbmALJd9w==","signatures":[{"sig":"MEQCIEcB3r/GIwZYnodXb3aX4SXJEYvAZKquDNDn6gnSqblHAiBsLV86RpWgXOqy7uStxDjX2k1y99Si/6QPJ5MZ8ZnkhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25839},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-0.0.4.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\fec5e6121c7396eaab1be1917adba010\\error-kid-0.0.4.tgz","_integrity":"sha512-x+yQhY56SorLMnX6kOf+z3JCv2QBurcWEDcIjgxYtVr4fGeCfAtOdZOCyWttkHHDFPtL2PqnaRUmphbmALJd9w==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_0.0.4_1737325616237_0.13816173536912357","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"error-kid","version":"0.0.5","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@0.0.5","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"ed3c071ed157a395bb728198dc3016d1b7e83e01","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-0.0.5.tgz","fileCount":13,"integrity":"sha512-rDfcb8UGTBRPblYAkUaSOHWsiVn5VCr4bJwG6ligyo8d96HIW2qezO+u6GaVt9Ksfwt5OS6V17B20FrP3tUACA==","signatures":[{"sig":"MEUCIDK4JGMIFsbGKlpzj9F4vY+M/Dr7Q7Shj3rJT3MmSctTAiEA2ECbZWdQXJ/TKWWsNiyX/qnUojJNw/56/VY/8LcrRjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28070},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-0.0.5.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\037494294b93e672bde251057c4bb99b\\error-kid-0.0.5.tgz","_integrity":"sha512-rDfcb8UGTBRPblYAkUaSOHWsiVn5VCr4bJwG6ligyo8d96HIW2qezO+u6GaVt9Ksfwt5OS6V17B20FrP3tUACA==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_0.0.5_1744551580464_0.7841076677273546","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"error-kid","version":"0.0.6","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@0.0.6","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"870becdc91d7a02deaad99d093b9f9c8421685e9","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-0.0.6.tgz","fileCount":13,"integrity":"sha512-jBPKBJOvqT1OCKPrt4UHZSTSGqOB8BaVgYqSqZR+slCemNl3vtW0XagFhAn4L51SnCrm5wAEIvRsQZy8A25IGg==","signatures":[{"sig":"MEQCIFybKZ1NBU3uEedDSx0KJTew++ha5EsM71PBC8HjFYQYAiBIdtFEjO1bCM2GAOqvP5FBdDQ5RPfTeWGNbnUBZzqmQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28099},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-0.0.6.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\1e7a9cdcd272342e926b53ec49deb0c4\\error-kid-0.0.6.tgz","_integrity":"sha512-jBPKBJOvqT1OCKPrt4UHZSTSGqOB8BaVgYqSqZR+slCemNl3vtW0XagFhAn4L51SnCrm5wAEIvRsQZy8A25IGg==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_0.0.6_1744552135497_0.9358844354519587","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"error-kid","version":"0.0.7","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@0.0.7","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"43c0646d7b359acae5737f614f21a9ece2c04e9a","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-0.0.7.tgz","fileCount":13,"integrity":"sha512-8mFs7ZaDWlBFgjOy4lHLMCe2+KZfZXGx5GOgh2VQ/M1CCIvSWzbl2OMl+5fdZgrgoUfhTeF+NPhmqfEvUhN8yw==","signatures":[{"sig":"MEQCIDdBNuGW03IWDEg11ZHPqiO3oNjGzBgzbNolqUUgDQ4VAiBTpfd97S5C6qEmwLto88teXogHGqjBOeqIpAtKljS6xQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28023},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-0.0.7.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\fd7a2178ed21a04951c5ddd9f6921176\\error-kid-0.0.7.tgz","_integrity":"sha512-8mFs7ZaDWlBFgjOy4lHLMCe2+KZfZXGx5GOgh2VQ/M1CCIvSWzbl2OMl+5fdZgrgoUfhTeF+NPhmqfEvUhN8yw==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_0.0.7_1744552518142_0.6421173718062108","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"error-kid","version":"1.0.1","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@1.0.1","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"a173f41a714777da43630664f85760f106b7a2e9","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-1.0.1.tgz","fileCount":13,"integrity":"sha512-kEPgCqlZ9Gfvr2NEQo/Y35bwYc6YKJOAGb2G8Qz6N7YVI4p+vEyDJ10b/ya/UXn6qMxmvuYzfJdylCuc8PFt1g==","signatures":[{"sig":"MEYCIQCzgofNHVTrolDzPlszQBzSfLkc4HDvBVY4juTwCt6cygIhANw2Ir5yJKb1yPm6cdvE2xIQ6gQBbX+dVa428h7Cu5vq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25954},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-1.0.1.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\9078dd228fc038e11233727d0a0802e0\\error-kid-1.0.1.tgz","_integrity":"sha512-kEPgCqlZ9Gfvr2NEQo/Y35bwYc6YKJOAGb2G8Qz6N7YVI4p+vEyDJ10b/ya/UXn6qMxmvuYzfJdylCuc8PFt1g==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.9.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.9.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_1.0.1_1757447913199_0.03440536398740446","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"error-kid","version":"1.0.2","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@1.0.2","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"91708b9db45d002a154e118c36f00b54d096c811","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-1.0.2.tgz","fileCount":13,"integrity":"sha512-Xvq0ZrY/azCbREWKt9E/3mXDF0MkuEVVvHnOKutUhtq2O8pyneEixQ4nSFkA19Xfn+/OVSg//iVG0dxIDj7DIA==","signatures":[{"sig":"MEQCIHqPni5L0LAPi2XUo9Uri1MjslgdIjuayfACgWeOs3rGAiAXskyyTtEdtMnLFppnbh7rk0CLXriAA/0btuVYJHIZlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26874},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-1.0.2.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\8ca407f3742cd0fb00211b01cb21a00e\\error-kid-1.0.2.tgz","_integrity":"sha512-Xvq0ZrY/azCbREWKt9E/3mXDF0MkuEVVvHnOKutUhtq2O8pyneEixQ4nSFkA19Xfn+/OVSg//iVG0dxIDj7DIA==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.9.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.9.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_1.0.2_1757579176605_0.8271566465068805","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"error-kid","version":"1.1.0","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@1.1.0","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"b78a322450b34e182ab89f1e5934104cf04bb36b","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-1.1.0.tgz","fileCount":13,"integrity":"sha512-PwVk1XJt8bOAkptsG/ezLwh64m3TrWjCW8X95wnDjPjHRkkn3/I13m76zuFrGVr/zLsCZao+08OsOcJbUNEPZg==","signatures":[{"sig":"MEYCIQCPn8387TCNEky6RHdvaVe9l5678B5MCahXhzb0EIadoQIhANpW/Xr1AEEu/1FqZlhLP8SydXnLt6x5+VnuMmbfOWwP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26802},"main":"./dist/index.cjs","type":"module","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"gitHead":"ae2d32fe3e6b0ee5b4c85d9cd68b7c5453706c71","scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.8.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.9.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_1.1.0_1774515872482_0.31880172642187876","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"error-kid","version":"2.0.0","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@2.0.0","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"a5c6327880001f35be66e71119a9f358ab0972ec","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-2.0.0.tgz","fileCount":13,"integrity":"sha512-U8lVKG2Fg7rDZ5b5bL7ZewhzWQrUYtCHlgb7SFcAgxObFgt47jR5l9dq/Kx4AW9gAmb8B2BD3VERXciU9Q9BZA==","signatures":[{"sig":"MEQCIDninV7VJTqXdWvzfP5rudvcy02CO8isNC/lknZMvbiiAiA66wSlg5NvPXnUjnkdtDxoVTEH4Nz3hK1WbLWMFmu3MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25960},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-2.0.0.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"/private/var/folders/qf/hb_mvk_13qj_ptf1x7y5h3j40000gn/T/cb8e76059052d57467529a68863f4487/error-kid-2.0.0.tgz","_integrity":"sha512-U8lVKG2Fg7rDZ5b5bL7ZewhzWQrUYtCHlgb7SFcAgxObFgt47jR5l9dq/Kx4AW9gAmb8B2BD3VERXciU9Q9BZA==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.9.4","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.9.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_2.0.0_1774615231749_0.7248948331728209","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"error-kid","version":"2.1.0","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@2.1.0","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"f3ff91807567dc0d2d3683d83060af68fa07b866","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-2.1.0.tgz","fileCount":13,"integrity":"sha512-eBr9+qZogmE56UP8XhivVyk60f4k2LVqypltf4G5Irb6p6j53/zbNxYEGEqUCRwPhFJWXsT/iGcAjke5zI0VfQ==","signatures":[{"sig":"MEUCIQCMDk61DPOABB1qR7SduOGnsUa22Ygt2C0nlkmpJaQavwIgRreriXJAfdF7+HdpbNFprC/caewTtsKEyyWAoXY/GqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36152},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-2.1.0.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\af07438a786310e0498f0920699147dd\\error-kid-2.1.0.tgz","_integrity":"sha512-eBr9+qZogmE56UP8XhivVyk60f4k2LVqypltf4G5Irb6p6j53/zbNxYEGEqUCRwPhFJWXsT/iGcAjke5zI0VfQ==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.9.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.9.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_2.1.0_1787135162939_0.16880533674755704","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"error-kid","version":"2.1.1","keywords":["error","errors"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"error-kid@2.1.1","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/error-kid#readme","bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"dist":{"shasum":"ab70e087211bcf8c10d1539552fb02d824644bbc","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-2.1.1.tgz","fileCount":13,"integrity":"sha512-Rnd//OEuHeyLvBZ1QQgQE2iYlfaHnR2y8P/2rsgRdAeS7cb5/3tsgLX06Am7zfavuvc11M8vsRVVWY2OHFSDxA==","signatures":[{"sig":"MEQCIFehZ4LS7dUggUakgzOQJA3JldFux7ugSl0hX4Nq397oAiBZOwPVfZrCC7XnqXCYJgA7ZYU4FeVMoFCjyF+F1Ls5jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36869},"main":"./dist/index.cjs","type":"module","_from":"file:error-kid-2.1.1.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\fc782253f064c704bb24d6ffedb5963c\\error-kid-2.1.1.tgz","_integrity":"sha512-Rnd//OEuHeyLvBZ1QQgQE2iYlfaHnR2y8P/2rsgRdAeS7cb5/3tsgLX06Am7zfavuvc11M8vsRVVWY2OHFSDxA==","repository":{"url":"git+ssh://git@github.com/heyqbnk/error-kid.git","type":"git"},"_npmVersion":"10.9.2","description":"A simple toolkit to work with custom errors. Definitely not a kid.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.9.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/error-kid_2.1.1_1787143074642_0.807936222230665","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"error-kid","version":"3.0.0","description":"A simple toolkit to work with custom errors. Definitely not a kid.","author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"homepage":"https://github.com/heyqbnk/error-kid#readme","repository":{"type":"git","url":"git+ssh://git@github.com/heyqbnk/error-kid.git"},"bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"keywords":["error","errors"],"license":"MIT","type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/dts/index.d.ts","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.cjs"}},"devDependencies":{"@changesets/cli":"^2.27.8","@eslint/js":"^9.11.1","@vitest/coverage-v8":"^2.1.2","@vitest/ui":"^2.1.2","eslint":"^9.11.1","rimraf":"^6.0.1","typescript":"^5.9.2","typescript-eslint":"^8.8.0","vite":"^5.4.8","vite-plugin-dts":"^4.2.3","vitest":"^2.1.2"},"scripts":{"test":"vitest --run","lint":"eslint src --ignore-pattern **/*.test.ts","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","build:default":"vite build -c vite.config.ts","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build"},"_id":"error-kid@3.0.0","_integrity":"sha512-V3mC3h25jalQtROmKJD8ZpnRw+peH6FVSf8AgKsqu33FpU8PgFVMHSA0i1pU3nYUJll6u9mQZIJpI5zrtAVPMQ==","_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\6718a5ae37213d09dba164f0653e8c60\\error-kid-3.0.0.tgz","_from":"file:error-kid-3.0.0.tgz","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-V3mC3h25jalQtROmKJD8ZpnRw+peH6FVSf8AgKsqu33FpU8PgFVMHSA0i1pU3nYUJll6u9mQZIJpI5zrtAVPMQ==","shasum":"4f38367c19ccf296782bf3e70b605cc2821c73f5","tarball":"https://registry.npmjs.org/error-kid/-/error-kid-3.0.0.tgz","fileCount":14,"unpackedSize":72562,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAL/svmx8VRAx9uOvgzoANkB1ox9qmGSzCJ4RjEdzuGqAiEAnwjujzv592aQKBLjPzB23aL/1CI4D2z6uJb3HjH3YJM="}]},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"directories":{},"maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/error-kid_3.0.0_1787917015839_0.15490994654156065"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-16T10:44:09.053Z","modified":"2026-08-28T11:36:56.213Z","0.0.1":"2025-01-16T10:44:09.274Z","0.0.2":"2025-01-16T20:11:52.606Z","0.0.3":"2025-01-16T20:56:40.832Z","0.0.4":"2025-01-19T22:26:56.394Z","0.0.5":"2025-04-13T13:39:40.679Z","0.0.6":"2025-04-13T13:48:55.685Z","0.0.7":"2025-04-13T13:55:18.353Z","1.0.1":"2025-09-09T19:58:33.435Z","1.0.2":"2025-09-11T08:26:16.773Z","1.1.0":"2026-03-26T09:04:32.634Z","2.0.0":"2026-03-27T12:40:32.020Z","2.1.0":"2026-08-19T10:26:03.083Z","2.1.1":"2026-08-19T12:37:54.824Z","3.0.0":"2026-08-28T11:36:56.020Z"},"bugs":{"url":"https://github.com/heyqbnk/error-kid/issues"},"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","homepage":"https://github.com/heyqbnk/error-kid#readme","keywords":["error","errors"],"repository":{"type":"git","url":"git+ssh://git@github.com/heyqbnk/error-kid.git"},"description":"A simple toolkit to work with custom errors. Definitely not a kid.","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"readme":"# `error-kid`\r\n\r\n[code-badge]: https://img.shields.io/badge/source-black?logo=github\r\n\r\n[link]: https://github.com/heyqbnk/error-kid/tree/master\r\n\r\n[npm-link]: https://npmjs.com/package/error-kid\r\n\r\n[npm-badge]: https://img.shields.io/npm/v/error-kid?logo=npm\r\n\r\n[size-badge]: https://img.shields.io/bundlephobia/minzip/error-kid\r\n\r\n[![NPM][npm-badge]][npm-link]\r\n![Size][size-badge]\r\n[![code-badge]][link]\r\n\r\nA simple toolkit to work with custom errors. **Definitely not a kid**.\r\n\r\n## Why\r\n\r\nDeclaring a custom error class in TypeScript involves more boilerplate than it should:\r\n\r\n```ts\r\nclass TimeoutError extends Error {\r\n  constructor(public readonly duration: number) {\r\n    super(`Timed out: ${duration}ms`);\r\n    // Not inherited from the class, must be assigned manually.\r\n    this.name = 'TimeoutError';\r\n    // Required to keep `instanceof` working when targeting ES5.\r\n    // Easy to forget, and silently breaks error handling when omitted.\r\n    Object.setPrototypeOf(this, TimeoutError.prototype);\r\n  }\r\n}\r\n\r\nconst err = new TimeoutError(1000);\r\nif (err instanceof TimeoutError) {\r\n  // err is TimeoutError\r\n}\r\n```\r\n\r\n`error-kid` does all of it for you, and adds a typed `is` predicate along the way:\r\n\r\n```ts\r\nimport { errorClassWithData } from 'error-kid';\r\n\r\nclass TimeoutError extends errorClassWithData({\r\n  name: 'TimeoutError',\r\n  data: (duration: number) => ({ duration }),\r\n  message: (duration: number) => `Timed out: ${duration}ms`,\r\n}) {}\r\n\r\nconst err = new TimeoutError(1000);\r\nif (TimeoutError.is(err)) {\r\n  // err is TimeoutError\r\n}\r\n```\r\n\r\nIt also ships [`matchError`](#matcherror) — an exhaustive, type-checked way to branch on an error\r\nunion instead of writing a chain of `if (X.is(error))`.\r\n\r\n## Installation\r\n\r\n```bash\r\n# yarn\r\nyarn add error-kid\r\n\r\n# pnpm\r\npnpm i error-kid\r\n\r\n# npm\r\nnpm i error-kid\r\n```\r\n\r\n## `errorClass`\r\n\r\nA function used to create a new error class without custom data.\r\n\r\n```ts\r\nimport { errorClass } from 'error-kid';\r\n\r\nclass UnknownError extends errorClass({ name: 'UnknownError' }) {}\r\nUnknownError.name; // 'UnknownError'\r\n\r\nconst error = new UnknownError();\r\nerror.message; // ''\r\nerror.cause; // undefined\r\nerror instanceof Error; // true\r\n\r\nUnknownError.is(new Error); // false\r\nUnknownError.is(error); // true\r\n```\r\n\r\nBy default, created error class constructor accepts no arguments. It also passes nothing to\r\nthe `Error` super constructor.\r\n\r\n> [!NOTE]\r\n> Note that all examples in this document use the `class Err extends errorClass(...) {}` form\r\n> instead of `const Err = errorClass(...)`. This is intentional. The function returns a value,\r\n> so assigning it to a variable makes `Err` usable as a value only — using it as a type will\r\n> not work. Declaring a class, in turn, creates both a value and a type with the same name:\r\n>\r\n> ```ts\r\n> const ConstError = errorClass({ name: 'ConstError' });\r\n> // Error: 'ConstError' refers to a value, but is being used as a type.\r\n> function handle(error: ConstError) {}\r\n>\r\n> class ClassError extends errorClass({ name: 'ClassError' }) {}\r\n> // Works as expected.\r\n> function handle(error: ClassError) {}\r\n> ```\r\n\r\n### `message`\r\n\r\nTo specify the error message, use the `message` option. It accepts either a static string, or\r\na function computing the message from the constructor arguments.\r\n\r\n```ts\r\nimport { errorClass } from 'error-kid';\r\n\r\nconst TimeoutError = errorClass({ name: 'TimeoutError', message: 'Timed out' });\r\nnew TimeoutError().message; // 'Timed out'\r\n```\r\n\r\nTo compute the message dynamically, pass a function. Its parameters define the constructor\r\narguments — they are inferred, so annotate them directly instead of passing a generic tuple.\r\n\r\n```ts\r\nimport { errorClass } from 'error-kid';\r\n\r\nclass ApiError extends errorClass({\r\n  name: 'ApiError',\r\n  message: (errorText: string, retriesCount: number) => {\r\n    return `Request failed. Retries count: ${retriesCount}. Error text: ${errorText}`;\r\n  },\r\n}) {}\r\n\r\nconst error = new ApiError('Ooopsie!', 3);\r\nerror.message; // \"Request failed. Retries count: 3. Error text: Ooopsie!\"\r\n```\r\n\r\n> [!IMPORTANT]\r\n> Constructor arguments are taken from exactly one option, in this order: `message`, then `cause`,\r\n> then `data`. The first one declared as a function wins, and the rest must accept the same\r\n> arguments. So when `message` is a function, it is the one defining the signature — a `cause`\r\n> expecting different arguments will not extend it.\r\n\r\n### `cause`\r\n\r\nThe `cause` option is a function computing the error cause from the constructor arguments. Its\r\nreturned value is passed to the `Error` super constructor as the `cause` property of\r\n`ErrorOptions`.\r\n\r\nMost commonly the cause is one of the constructor arguments:\r\n\r\n```ts\r\nimport { errorClass } from 'error-kid';\r\n\r\nclass ApiError extends errorClass({\r\n  name: 'ApiError',\r\n  message: (status: number, cause?: unknown) => `Request failed with status ${status}`,\r\n  cause: (_status: number, cause?: unknown) => cause,\r\n}) {}\r\n\r\nconst error = new ApiError(500, new Error('ECONNRESET'));\r\nerror.message; // 'Request failed with status 500'\r\nerror.cause; // Error('ECONNRESET')\r\n```\r\n\r\nSince `message` is a function here, it defines the constructor arguments, and `cause` repeats the\r\nsame signature to access the second one.\r\n\r\nTo use a constant cause, return it from a function accepting no arguments:\r\n\r\n```ts\r\nimport { errorClass } from 'error-kid';\r\n\r\nclass DatabaseError extends errorClass({\r\n  name: 'DatabaseError',\r\n  message: 'Failed to connect',\r\n  cause: () => new Error('ECONNREFUSED'),\r\n}) {}\r\n\r\nnew DatabaseError().cause; // Error('ECONNREFUSED')\r\n```\r\n\r\nWhen the option is omitted, `cause` is `undefined`.\r\n\r\n### `is`\r\n\r\nEach created class has a static `is` method — a type predicate checking if the passed value is\r\nan instance of this class. Being a standalone function, it can be passed anywhere a predicate\r\nis expected.\r\n\r\nInstead of using `instanceof`, `is` checks a tag stored on the error instance. See\r\n[How `is` works](#how-is-works) for the details and the tradeoff.\r\n\r\n```ts\r\nimport { errorClass } from 'error-kid';\r\n\r\nclass TimeoutError extends errorClass({ name: 'TimeoutError' }) {}\r\n\r\ntry {\r\n  // ...\r\n} catch (error) {\r\n  if (TimeoutError.is(error)) {\r\n    // `error` is narrowed to TimeoutError here.\r\n    error.message;\r\n  }\r\n}\r\n\r\n// Narrowing works in predicate positions too.\r\nconst timeouts = errors.filter(TimeoutError.is);\r\n```\r\n\r\n> [!IMPORTANT]\r\n> Prefer `is` over `instanceof`. When a class is declared via\r\n> `class Err extends errorClass(...) {}`, `error instanceof Err` returns `false`, so `is` is\r\n> the reliable way to check the error type.\r\n\r\n### How `is` works\r\n\r\n`is` does not use `instanceof`. Every instance receives a `$$errorKidTag` property equal to\r\n`$$errorKidTag:{name}`, and `is` checks that property.\r\n\r\n`instanceof` compares constructor identity, which silently fails in several common situations:\r\n\r\n- the error crossed a realm boundary — an iframe, a worker, or a Node.js `vm`;\r\n- two copies of the same package are installed, so two distinct classes exist;\r\n- the error was serialized and revived, and is no longer an `Error` instance at all.\r\n\r\nA string tag has none of those problems. It is a plain enumerable property, so it survives\r\n`JSON.stringify` and `structuredClone`:\r\n\r\n```ts\r\nclass TimeoutError extends errorClass({ name: 'TimeoutError' }) {}\r\n\r\nconst revived = JSON.parse(JSON.stringify(new TimeoutError()));\r\nrevived instanceof TimeoutError; // false\r\nTimeoutError.is(revived); // true\r\n```\r\n\r\nSubclasses keep working, since a subclass reuses the constructor of its parent and is therefore\r\ntagged as the parent:\r\n\r\n```ts\r\nclass ChildError extends TimeoutError {}\r\nTimeoutError.is(new ChildError()); // true\r\n```\r\n\r\n> [!WARNING]\r\n> The check is structural, and the tag is derived from the error name. Two different classes\r\n> created with the same `name` are indistinguishable, and any object carrying a matching\r\n> `$$errorKidTag` passes the check. Use names unique to your application — prefixing them with a\r\n> package or a domain name is usually enough.\r\n\r\nThe tag is a plain property on the instance, so it can be inspected directly when needed:\r\n\r\n```ts\r\nconst error = new TimeoutError();\r\n(error as any).$$errorKidTag; // '$$errorKidTag:TimeoutError'\r\n```\r\n\r\n> [!NOTE]\r\n> The tag helpers (`createTag`, `hasTag`, `TAG_KEY`) are internal and are not part of the public\r\n> entry point. Use the `is` predicate, or [`matchError`](#matcherror), instead of matching the tag\r\n> by hand.\r\n\r\n## `errorClassWithData`\r\n\r\nA function that creates a new error class with typed data. It enhances the result\r\nof calling the `errorClass` function.\r\n\r\n```ts\r\nimport { errorClassWithData } from 'error-kid';\r\n\r\nclass TimeoutError extends errorClassWithData({\r\n  name: 'TimeoutError',\r\n  data: (duration: number) => ({ duration }),\r\n}) {}\r\n\r\nconst error = new TimeoutError(1000);\r\nerror.data; // { duration: 1000 }\r\n\r\nTimeoutError.is(error); // true\r\n```\r\n\r\nThe `data` option is a function converting the constructor arguments into the data object. When\r\nneither `message` nor `cause` is declared as a function, `data` defines the constructor arguments.\r\n\r\nThis function accepts the same `message` and `cause` options as the `errorClass` function, and\r\nthey behave exactly the same way.\r\n\r\n```ts\r\nimport { errorClassWithData } from 'error-kid';\r\n\r\nclass TimeoutError extends errorClassWithData({\r\n  name: 'TimeoutError',\r\n  data: (duration: number, cause?: unknown) => ({ duration }),\r\n  message: (duration: number, cause?: unknown) => `Timed out: ${duration}ms`,\r\n  cause: (_duration: number, cause?: unknown) => cause,\r\n}) {}\r\n\r\nconst error = new TimeoutError(1000, new Error('Just because'));\r\nerror.data; // { duration: 1000 }\r\nerror.message; // \"Timed out: 1000ms\"\r\nerror.cause; // Error('Just because')\r\n```\r\n\r\nThe `is` predicate narrows the `data` property as well:\r\n\r\n```ts\r\ntry {\r\n  // ...\r\n} catch (error) {\r\n  if (TimeoutError.is(error)) {\r\n    error.data.duration; // number\r\n  }\r\n}\r\n```\r\n\r\n## `matchError`\r\n\r\nBranches on an error union by name, instead of a chain of `if (SomeError.is(error))`. Every\r\nlibrary error present in the value type **must** be handled — adding a new error to the union\r\nturns every unhandled `matchError` call into a compile-time error.\r\n\r\n```ts\r\nimport { errorClass, matchError } from 'error-kid';\r\n\r\nclass TimeoutError extends errorClass({ \r\n  name: 'TimeoutError', \r\n  message: (ms: number) => `${ms}ms` \r\n}) {\r\n}\r\nclass ApiError extends errorClass({ \r\n  name: 'ApiError', \r\n  message: (status: number) => `${status}`\r\n}) {\r\n}\r\n\r\ndeclare const error: TimeoutError | ApiError;\r\n\r\nconst message = matchError(error, {\r\n  // Each handler receives its own error type, already narrowed.\r\n  TimeoutError: e => `Timed out: ${e.message}`,\r\n  ApiError: e => `Request failed: ${e.message}`,\r\n});\r\n```\r\n\r\nHandlers are keyed by the error `name`. The return type is the union of all handler return types,\r\nand a handler is free to ignore its argument.\r\n\r\n> [!NOTE]\r\n> A handler must accept exactly its own error type. Widening the parameter — to the whole union,\r\n> to `Error`, or to `unknown` — is rejected, so a handler cannot silently swallow a type it was\r\n> not written for.\r\n\r\nMatching is based on the tag, not on the `name` property alone, so a foreign object that merely\r\ncarries a matching `name` is not routed to an error handler. Errors revived from their serialized\r\nform, on the other hand, are matched correctly.\r\n\r\nWhen nothing matches and the `loose` option is off, `matchError` throws a `TypeError`.\r\n\r\n### `loose`\r\n\r\nThe value being matched is not always a pure error union — it may include a success value, or be\r\ntyped as `unknown`. Enabling `loose` adds a `default` handler receiving everything that is not a\r\nlibrary error:\r\n\r\n```ts\r\nconst result = matchError(value, {\r\n  TimeoutError: e => `Timed out: ${e.message}`,\r\n  ApiError: e => `Request failed: ${e.message}`,\r\n  default: v => `Not an error: ${v}`,\r\n}, { loose: true });\r\n```\r\n\r\nWith `loose` enabled, `default` is **required** — that is what makes the call total, and it\r\nreplaces the `TypeError` that would otherwise be thrown. The only exception is a value type\r\nconsisting solely of library errors: there is nothing left for `default` to receive, so it becomes\r\noptional and takes no arguments.\r\n\r\nPassing `default` while `loose` is off is a type error, rather than being silently ignored.\r\n\r\n## License\r\n\r\n[MIT](LICENSE)\r\n","readmeFilename":"README.md"}