{"_id":"@chubbyts/chubbyts-undici-api","_rev":"19-d87265854edc2b5ecd6eeb5a6464cbf1","name":"@chubbyts/chubbyts-undici-api","dist-tags":{"latest":"2.4.1"},"versions":{"1.0.0-beta.1":{"name":"@chubbyts/chubbyts-undici-api","version":"1.0.0-beta.1","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.0.0-beta.1","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"1e6ea6f6e269418e834cd09f6679546b6f3af862","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.0.0-beta.1.tgz","fileCount":33,"integrity":"sha512-Ns7dzkEBlpTcU+eHd17SNSKIyCm6zu5c5CuSBw78tIckUkPoZ/h/10HlqjtWced6WfAMOyemBlKiWHxYNnQBuw==","signatures":[{"sig":"MEYCIQDOd6GY5NzLQoTkHt1kgnOPX4W/jbNCEP4ac7X+u7j70wIhAMhjVbENNu4YGulvb7d0c8Ker+R4H0mfTGqQ+A4tos5E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43301},"type":"module","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"gitHead":"b6f8acc42f227bd37fb89cb506af136de7acb7ec","scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","prepare":"npm run build","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"10.9.2","description":"[![CI](https://github.com/chubbyts/chubbyts-undici-api/workflows/CI/badge.svg?branch=master)](https://github.com/chubbyts/chubbyts-undici-api/actions?query=workflow%3ACI) [![Coverage Status](https://coveralls.io/repos/github/chubbyts/chubbyts-undici-api/b","directories":{},"_nodeVersion":"22.16.0","dependencies":{"qs":"^6.14.0","zod":"^4.0.5","uuid":"^11.1.0","@chubbyts/chubbyts-log-types":"^3.0.1","@chubbyts/chubbyts-http-error":"^3.0.1","@chubbyts/chubbyts-negotiation":"^4.0.2","@chubbyts/chubbyts-decode-encode":"^2.1.0","@chubbyts/chubbyts-undici-server":"^1.0.0-beta.4","@chubbyts/chubbyts-throwable-to-error":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.8.3","@types/node":"^24.0.14","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^3.2.4","@stryker-mutator/core":"^9.0.1","@chubbyts/chubbyts-eslint":"^4.0.4","@stryker-mutator/vitest-runner":"^9.0.1","@chubbyts/chubbyts-function-mock":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.0.0-beta.1_1757574248298_0.37837185698177844","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@chubbyts/chubbyts-undici-api","version":"1.0.0-beta.2","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.0.0-beta.2","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"469a9b24c7cd564d4c0d5ca8d732af7fb7b11edf","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.0.0-beta.2.tgz","fileCount":33,"integrity":"sha512-XYLUk2rdeGQIgQs1STs3WxA4Wwj8eOpZ0IH7Sger4TNtP3c81JHhCEyUcj65m4C2E6K401enmsv+oipJTNLiqw==","signatures":[{"sig":"MEUCIQCTU9s+0NsxB+UHqSqlVrnZo48nCOsK0lSy1DsrJLl1hgIgPj4lkkA4/KmlU7srFWbrNE/UqTO6XcxgRFLgldj2+sA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43253},"type":"module","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"gitHead":"b6f8acc42f227bd37fb89cb506af136de7acb7ec","scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","prepare":"npm run build","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"10.9.2","description":"[![CI](https://github.com/chubbyts/chubbyts-undici-api/workflows/CI/badge.svg?branch=master)](https://github.com/chubbyts/chubbyts-undici-api/actions?query=workflow%3ACI) [![Coverage Status](https://coveralls.io/repos/github/chubbyts/chubbyts-undici-api/b","directories":{},"_nodeVersion":"22.16.0","dependencies":{"qs":"^6.14.0","zod":"^4.0.5","uuid":"^11.1.0","@chubbyts/chubbyts-log-types":"^3.0.1","@chubbyts/chubbyts-http-error":"^3.0.1","@chubbyts/chubbyts-negotiation":"^4.0.2","@chubbyts/chubbyts-decode-encode":"^2.1.0","@chubbyts/chubbyts-undici-server":"^1.0.0-beta.4","@chubbyts/chubbyts-throwable-to-error":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.8.3","@types/node":"^24.0.14","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^3.2.4","@stryker-mutator/core":"^9.0.1","@chubbyts/chubbyts-eslint":"^4.0.4","@stryker-mutator/vitest-runner":"^9.0.1","@chubbyts/chubbyts-function-mock":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.0.0-beta.2_1757574596026_0.17262106553755352","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@chubbyts/chubbyts-undici-api","version":"1.0.0-beta.3","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.0.0-beta.3","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"92464fb6e52345cc5e1d9cf804e040c95cc6d488","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.0.0-beta.3.tgz","fileCount":33,"integrity":"sha512-LmLNQGugu341S2AVansEnejluwlKe22j94tGE2BDYVLg4faEZrwibA2mNTMSuNnapVCvguYdZCOigcycffYTAw==","signatures":[{"sig":"MEUCIHP+KykWMh4y7paIszenPWvS3xhjsB3s1vYOwX1eKpSDAiEA1u5gO7mZX19cunfkasZdCKulGZCroWh6dcau9jNfSFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43331},"type":"module","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"gitHead":"222dbcf50da4f2e1dfd545930106190c4f6f84a6","scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","prepare":"npm run build","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"10.9.2","description":"[![CI](https://github.com/chubbyts/chubbyts-undici-api/workflows/CI/badge.svg?branch=master)](https://github.com/chubbyts/chubbyts-undici-api/actions?query=workflow%3ACI) [![Coverage Status](https://coveralls.io/repos/github/chubbyts/chubbyts-undici-api/b","directories":{},"_nodeVersion":"22.16.0","dependencies":{"qs":"^6.14.0","zod":"^4.0.5","uuid":"^11.1.0","@chubbyts/chubbyts-log-types":"^3.0.1","@chubbyts/chubbyts-http-error":"^3.0.1","@chubbyts/chubbyts-negotiation":"^4.0.2","@chubbyts/chubbyts-decode-encode":"^2.1.0","@chubbyts/chubbyts-undici-server":"^1.0.0-beta.4","@chubbyts/chubbyts-throwable-to-error":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.8.3","@types/node":"^24.0.14","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^3.2.4","@stryker-mutator/core":"^9.0.1","@chubbyts/chubbyts-eslint":"^4.0.4","@stryker-mutator/vitest-runner":"^9.0.1","@chubbyts/chubbyts-function-mock":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.0.0-beta.3_1757588899344_0.3005595678218642","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@chubbyts/chubbyts-undici-api","version":"1.0.0","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.0.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"8d360461204e057af39c0b3df01ed47bc8e4e3de","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.0.0.tgz","fileCount":33,"integrity":"sha512-OqFvEmKW/UQjhy6M0HDfShxltnYMi9qVPqiJ7LfLpijDdi37WvOoxoQTwoxMEYsDUq6s/ISRrNuCqwXMAvzODA==","signatures":[{"sig":"MEQCIEL9hkcQMGeoQ1EAdbLZYAPoRj+mN8gazr8YELgw/m1zAiASwPybeiO/XdoYRL9J/+Lvjxyfa2npakNDUPgkIhgRQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43435},"type":"module","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"gitHead":"09ff818f1e1101cca10baeb23e041bf4252f7fb8","scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","prepare":"npm run build","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"10.9.2","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"qs":"^6.14.0","zod":"^4.1.8","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.0.1","@chubbyts/chubbyts-http-error":"^3.0.1","@chubbyts/chubbyts-negotiation":"^4.0.2","@chubbyts/chubbyts-decode-encode":"^2.1.0","@chubbyts/chubbyts-undici-server":"^1.0.0","@chubbyts/chubbyts-throwable-to-error":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^3.2.4","@stryker-mutator/core":"^9.1.1","@chubbyts/chubbyts-eslint":"^4.0.7","@stryker-mutator/vitest-runner":"^9.1.1","@chubbyts/chubbyts-function-mock":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.0.0_1757658922578_0.8930274194697176","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@chubbyts/chubbyts-undici-api","version":"1.1.0","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.1.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"d63a72be95c8dddfdfec488819710326fbebdcd1","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.1.0.tgz","fileCount":35,"integrity":"sha512-95Ej/eyZXKe6V/B5zlxL6okluVy7xRQAHvE5Yz0OZHI0XLJYvM3woRFyqn4rb9oYoxgVBNDQjTG0ERcKB4Sfcg==","signatures":[{"sig":"MEUCIAbgybz5KPqc8zScJ7eusq6RUb3eZSUfUiNOlXtAV4cMAiEA+yTDSDuhlJT/K8lznXt+rsTjxIRGjaVOe7SA52+Gz0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56340},"type":"module","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"gitHead":"50c5bf56ae5305a2963323b4ee64a1b7cac93d3a","scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","prepare":"npm run build","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.6.0","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"qs":"^6.14.0","zod":"^4.1.8","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.0.1","@chubbyts/chubbyts-http-error":"^3.0.1","@chubbyts/chubbyts-negotiation":"^4.0.2","@chubbyts/chubbyts-decode-encode":"^2.1.0","@chubbyts/chubbyts-undici-server":"^1.0.0","@chubbyts/chubbyts-throwable-to-error":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.2","@types/node":"^24.3.1","@types/uuid":"^10.0.0","@vitest/coverage-v8":"^3.2.4","@stryker-mutator/core":"^9.1.1","@chubbyts/chubbyts-eslint":"^4.0.7","@stryker-mutator/vitest-runner":"^9.1.1","@chubbyts/chubbyts-function-mock":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.1.0_1761500535847_0.07642685677357819","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@chubbyts/chubbyts-undici-api","version":"1.1.1","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.1.1","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"0163b8d6b24dd8bffcdb75cf9bdd8c7ad234a0f6","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.1.1.tgz","fileCount":33,"integrity":"sha512-eSygYq6hKy9HSsyyy7xaOb/AB3gyFkW6Aju3y1+Uqxo5yhVj1K9xfkS9HVsFwDdIPKfkIpHwoDtSjHZSvoCNKw==","signatures":[{"sig":"MEUCIHOsKk14cK6ebctH8bgCM0DU4g91a7fJRU3qEX+wOXR0AiEA7DfRKEnZWpw5KxG/hHGVbFCoGShxed2MODtXTurMY5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49151},"type":"module","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"gitHead":"6ceb71b0356713ae0f4d7574ad8aafeaaf627951","scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","prepare":"npm run build","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.6.2","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"qs":"^6.14.0","zod":"^4.2.1","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.0.1","@chubbyts/chubbyts-http-error":"^3.0.1","@chubbyts/chubbyts-negotiation":"^4.0.2","@chubbyts/chubbyts-decode-encode":"^2.1.1","@chubbyts/chubbyts-undici-server":"^1.0.1","@chubbyts/chubbyts-throwable-to-error":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.15","prettier":"^3.7.4","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/node":"^25.0.2","@types/uuid":"^11.0.0","@vitest/coverage-v8":"^4.0.15","@stryker-mutator/core":"^9.4.0","@chubbyts/chubbyts-eslint":"^4.0.10","@stryker-mutator/vitest-runner":"^9.4.0","@chubbyts/chubbyts-function-mock":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.1.1_1766007864326_0.022178296122296492","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@chubbyts/chubbyts-undici-api","version":"1.2.0","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.2.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"131278a1a2355f3e83aa36bfa3e313d2aa10222b","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.2.0.tgz","fileCount":33,"integrity":"sha512-fgzsMOZYWvpfXPPxU/7A9OyS2ZgouypVQhGXvV0nT30Nj4FAkKxwATav/DK1nQuQLIgOuDdwioWf1Kg0Dk9FkA==","signatures":[{"sig":"MEUCIGYZgppaA1Toi0BxsejPMACY4ceCs6twK+6HaW0y86u1AiEAm6f+a6Y9K/QHcyS+D7vIGnIz00qscr32X6tCF0oQFX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49205},"type":"module","_from":"file:chubbyts-chubbyts-undici-api-1.2.0.tgz","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/10ed90538e74a059f59b860d806f3e4e/chubbyts-chubbyts-undici-api-1.2.0.tgz","_integrity":"sha512-fgzsMOZYWvpfXPPxU/7A9OyS2ZgouypVQhGXvV0nT30Nj4FAkKxwATav/DK1nQuQLIgOuDdwioWf1Kg0Dk9FkA==","repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.6.2","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"qs":"^6.14.0","zod":"^4.2.1","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.0.1","@chubbyts/chubbyts-http-error":"^3.0.1","@chubbyts/chubbyts-negotiation":"^4.0.2","@chubbyts/chubbyts-decode-encode":"^2.1.1","@chubbyts/chubbyts-undici-server":"^1.0.1","@chubbyts/chubbyts-throwable-to-error":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.15","prettier":"^3.7.4","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/node":"^25.0.2","@types/uuid":"^11.0.0","@vitest/coverage-v8":"^4.0.15","@stryker-mutator/core":"^9.4.0","@chubbyts/chubbyts-eslint":"^4.0.10","@stryker-mutator/vitest-runner":"^9.4.0","@chubbyts/chubbyts-function-mock":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.2.0_1769969783227_0.8459131780914246","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@chubbyts/chubbyts-undici-api","version":"1.2.1","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.2.1","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"d602c148e420ea67dd83257eac12544b472927ef","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.2.1.tgz","fileCount":33,"integrity":"sha512-u+Qh9BgTiZVcUa9O3E85vmVdid296XbkcsMwF+ks0+PiCwYn4Ja3FcNDArFl/KMxr4+V3spJYOQ8Xf9XFiG40A==","signatures":[{"sig":"MEUCIF8UzTc8qCRlEwWAQky49+qYpI4Ya5el8jmx78EAGqf6AiEA1a88Jm8tDK+tHWJefLGZMzAOBr+rg0AW8pAScBRaySs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49202},"type":"module","_from":"file:chubbyts-chubbyts-undici-api-1.2.1.tgz","engines":{"node":">=20"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/e0cea8bc20722763561126a84784e67c/chubbyts-chubbyts-undici-api-1.2.1.tgz","_integrity":"sha512-u+Qh9BgTiZVcUa9O3E85vmVdid296XbkcsMwF+ks0+PiCwYn4Ja3FcNDArFl/KMxr4+V3spJYOQ8Xf9XFiG40A==","repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.9.0","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"qs":"^6.15.0","zod":"^4.3.6","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.0.3","@chubbyts/chubbyts-http-error":"^3.1.3","@chubbyts/chubbyts-negotiation":"^4.0.3","@chubbyts/chubbyts-decode-encode":"^2.1.2","@chubbyts/chubbyts-undici-server":"^1.0.3","@chubbyts/chubbyts-throwable-to-error":"^2.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.0","prettier":"^3.8.1","@types/qs":"^6.15.0","typescript":"^5.9.3","@types/node":"^25.5.0","@types/uuid":"^11.0.0","@vitest/coverage-v8":"^4.1.0","@stryker-mutator/core":"^9.6.0","@chubbyts/chubbyts-eslint":"^5.0.0","@stryker-mutator/vitest-runner":"^9.6.0","@chubbyts/chubbyts-function-mock":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.2.1_1773691452026_0.372296249229759","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@chubbyts/chubbyts-undici-api","version":"1.3.0","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.3.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"5cfc4c6fa311fcba1888ff6a56f9fe03e80cffc5","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.3.0.tgz","fileCount":63,"integrity":"sha512-4w1Z+bfNtmtB8ufSj+rHNITnijjV+s9y5x5MKLx5EmGezrpHAxj2Tm2jmXrFFNl5ZChb/rahvxjHEX+sqahc9A==","signatures":[{"sig":"MEQCIFLf6ld/OdCFOE60tvPG5gqmkSnHmzw30ucXr0G6Ri0AAiBrBh6kJgL3x2QPfIrTDajSkPyksDHvb+yszE49fJikWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82269},"type":"module","_from":"file:chubbyts-chubbyts-undici-api-1.3.0.tgz","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"tsc","cs-fix":"prettier --write src tests","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/5a907ce74135032096cb1b78a15826a0/chubbyts-chubbyts-undici-api-1.3.0.tgz","_integrity":"sha512-4w1Z+bfNtmtB8ufSj+rHNITnijjV+s9y5x5MKLx5EmGezrpHAxj2Tm2jmXrFFNl5ZChb/rahvxjHEX+sqahc9A==","repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.12.1","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"qs":"^6.15.1","zod":"^4.3.6","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.1.0","@chubbyts/chubbyts-http-error":"^3.2.0","@chubbyts/chubbyts-negotiation":"^4.1.0","@chubbyts/chubbyts-decode-encode":"^2.2.0","@chubbyts/chubbyts-undici-server":"^1.1.1","@chubbyts/chubbyts-throwable-to-error":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.3","@types/qs":"^6.15.0","typescript":"^6.0.3","@types/node":"^25.6.0","@types/uuid":"^11.0.0","@vitest/coverage-v8":"^4.1.4","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-eslint":"^5.1.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.3.0_1776515142934_0.12590825643511594","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@chubbyts/chubbyts-undici-api","version":"1.3.1","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@1.3.1","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"0bf5343890e7a7118b195cfabbc394deb2726b66","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-1.3.1.tgz","fileCount":33,"integrity":"sha512-egpkqytIoVHA9Gn9o9UalUH8Y8FKwXOaJK7uwVkuUrw63m6n7zZ1DdxXDrrnk3CxhEh0U7k32j31vYrvkwAyGw==","signatures":[{"sig":"MEUCIQCKFZ5KE4xwfkUxgepLtU+ihRSkYItKevk/UiCMVuJ3dwIgGv5ZL8DyTjPpV7Zb85k7U3kHDWlHLtIdJxkKU5qvaQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49217},"type":"module","_from":"file:chubbyts-chubbyts-undici-api-1.3.1.tgz","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/4eddb6bf25c5fd7790451c7bcdd43764/chubbyts-chubbyts-undici-api-1.3.1.tgz","_integrity":"sha512-egpkqytIoVHA9Gn9o9UalUH8Y8FKwXOaJK7uwVkuUrw63m6n7zZ1DdxXDrrnk3CxhEh0U7k32j31vYrvkwAyGw==","repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.12.1","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"qs":"^6.15.1","zod":"^4.3.6","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.1.1","@chubbyts/chubbyts-http-error":"^3.2.1","@chubbyts/chubbyts-negotiation":"^4.1.1","@chubbyts/chubbyts-decode-encode":"^2.2.1","@chubbyts/chubbyts-undici-server":"^1.1.2","@chubbyts/chubbyts-throwable-to-error":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.3","@types/qs":"^6.15.0","typescript":"^6.0.3","@types/node":"^25.6.0","@types/uuid":"^11.0.0","@vitest/coverage-v8":"^4.1.4","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-eslint":"^5.1.1","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_1.3.1_1776519414225_0.07337128324136599","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@chubbyts/chubbyts-undici-api","version":"2.0.0","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.0.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"4aa8f74374d75713ce1d8661b089915cffc5d7d9","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.0.0.tgz","fileCount":33,"integrity":"sha512-RKYqtIn7kVbJ4dhsppErRUnMukXz9jVmewt/yuDsMU5t14OmTPak7785UhvtCUoaqbmcaqFzpuidADRxCjRMPg==","signatures":[{"sig":"MEUCICB+Bv34GaC78C2RRN4ke36dgRo9QfZnmLe/EN0jo0EXAiEA+is2OVzQztNQml3Tp9qdqnkWdBzszEGPfLgcYihQ3XM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55786},"type":"module","_from":"file:chubbyts-chubbyts-undici-api-2.0.0.tgz","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/0e5486d13b4be0149a0be05f758ec6f1/chubbyts-chubbyts-undici-api-2.0.0.tgz","_integrity":"sha512-RKYqtIn7kVbJ4dhsppErRUnMukXz9jVmewt/yuDsMU5t14OmTPak7785UhvtCUoaqbmcaqFzpuidADRxCjRMPg==","repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.12.1","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"qs":"^6.15.1","zod":"^4.3.6","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.1.1","@chubbyts/chubbyts-http-error":"^3.2.1","@chubbyts/chubbyts-negotiation":"^4.1.1","@chubbyts/chubbyts-decode-encode":"^2.2.1","@chubbyts/chubbyts-undici-server":"^1.1.2","@chubbyts/chubbyts-throwable-to-error":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.3","@types/qs":"^6.15.0","typescript":"^6.0.3","@types/node":"^25.6.0","@vitest/coverage-v8":"^4.1.4","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-eslint":"^5.2.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.0.0_1777752402054_0.29258516497427856","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@chubbyts/chubbyts-undici-api","version":"2.0.1","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.0.1","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"870d4c0cd865ac8c9971319ab6c941cd1461c907","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.0.1.tgz","fileCount":33,"integrity":"sha512-lgWS7dquSoxf/5F77avkH9lJQcrCANWY+BtHyg9IsveKK/6XHJvSWyq+O8Fo50FSN6RsYVrLku4p6tr5+IxvPw==","signatures":[{"sig":"MEUCIQCzP5M8Emrj5bU0ixPD5KKHsPoIMdCTZYeWsOVoSgCKYAIgGdVVj5vK8IdNuwS9bJIqvkmahZrcwj2tAjzRqugGLbE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55764},"type":"module","_from":"file:chubbyts-chubbyts-undici-api-2.0.1.tgz","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/0873f0dd8bd1468a81fa0f51a024625a/chubbyts-chubbyts-undici-api-2.0.1.tgz","_integrity":"sha512-lgWS7dquSoxf/5F77avkH9lJQcrCANWY+BtHyg9IsveKK/6XHJvSWyq+O8Fo50FSN6RsYVrLku4p6tr5+IxvPw==","repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.12.1","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"qs":"^6.15.1","zod":"^4.3.6","uuid":"^13.0.0","@chubbyts/chubbyts-log-types":"^3.1.1","@chubbyts/chubbyts-http-error":"^3.2.1","@chubbyts/chubbyts-negotiation":"^4.1.1","@chubbyts/chubbyts-decode-encode":"^2.2.1","@chubbyts/chubbyts-undici-server":"^1.1.2","@chubbyts/chubbyts-throwable-to-error":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.4","prettier":"^3.8.3","@types/qs":"^6.15.0","typescript":"^6.0.3","@types/node":"^25.6.0","@vitest/coverage-v8":"^4.1.4","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-eslint":"^5.2.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.0.1_1777753365346_0.995878468431669","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@chubbyts/chubbyts-undici-api","version":"2.0.2","keywords":["chubbyts","api","crud"],"author":"Dominik Zogg","license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.0.2","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"dist":{"shasum":"1592eaf30af90548d85725bc248b10b9a938ddb3","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.0.2.tgz","fileCount":33,"integrity":"sha512-LgW6f9t6ZPg7V5Fw7NSAnYGqsrvAxGdGO/l7sKn7RugjEAEtQw+hxNr8cGjcplltkxZiBC3XDILHljmx1htGHg==","signatures":[{"sig":"MEUCIQCpVuh70q9clUs6PzKIj9LH8ZF0Uw45mTNb0Pkix9CV2AIgIZqUiTdAoxQccqR8hF9sMbJElgvNtYrhdc8YuKZLRIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55764},"type":"module","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"eslint src tests","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"eslint src tests eslint.config.js vitest.config.ts --fix","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":"chubbyts/chubbyts-undici-api","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"qs":"^6.15.1","zod":"^4.4.3","uuid":"^14.0.0","@chubbyts/chubbyts-log-types":"^3.2.0","@chubbyts/chubbyts-http-error":"^3.3.0","@chubbyts/chubbyts-negotiation":"^4.2.0","@chubbyts/chubbyts-decode-encode":"^2.3.0","@chubbyts/chubbyts-undici-server":"^1.1.3","@chubbyts/chubbyts-throwable-to-error":"^2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","prettier":"^3.8.3","@types/qs":"^6.15.1","typescript":"^6.0.3","@types/node":"^25.6.2","@vitest/coverage-v8":"^4.1.5","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-eslint":"^5.3.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.0.2_1778407140895_0.14142071272073897","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@chubbyts/chubbyts-undici-api","version":"2.1.0","keywords":["chubbyts","api","crud"],"author":"Dominik Zogg","license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.1.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"dist":{"shasum":"03c125efa4308ce00c8e187fe46c0396791226f3","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.1.0.tgz","fileCount":33,"integrity":"sha512-AGzuknhJERlSRj7uiFlRAT/X3zIfcZe/jU8QdGDZXs98/IXsLUsbnzqxuEXdVSEB+LIbND7O0gdKlc/dCGFGNA==","signatures":[{"sig":"MEUCIAJdJWyERvdwfq75ve2R6puG0IdAfbQ7vScXnEYhOu1QAiEAtt9ewX+PC2yIJdaabp1greJDmisw7pdKKfxinmRYguM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55793},"type":"module","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"oxlint src tests vitest.config.ts","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"oxlint --fix src tests vitest.config.ts","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":"chubbyts/chubbyts-undici-api","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"qs":"^6.15.3","zod":"^4.4.3","uuid":"^14.0.1","@chubbyts/chubbyts-log-types":"^3.3.0","@chubbyts/chubbyts-http-error":"^3.4.0","@chubbyts/chubbyts-negotiation":"^4.2.0","@chubbyts/chubbyts-decode-encode":"^2.4.0","@chubbyts/chubbyts-undici-server":"^1.2.0","@chubbyts/chubbyts-throwable-to-error":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxlint":"^1.75.0","vitest":"^4.1.10","prettier":"^3.9.6","@types/qs":"^6.15.1","typescript":"^7.0.2","@types/node":"^26.1.1","@vitest/coverage-v8":"^4.1.10","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-oxlint":"^1.0.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.1.0_1785352270529_0.45310919395328275","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@chubbyts/chubbyts-undici-api","version":"2.2.0","keywords":["chubbyts","api","crud"],"author":{"name":"Dominik Zogg"},"license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.2.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"homepage":"https://github.com/chubbyts/chubbyts-undici-api#readme","bugs":{"url":"https://github.com/chubbyts/chubbyts-undici-api/issues"},"dist":{"shasum":"d12a6956850849d2ee62de40247768ef1629a260","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.2.0.tgz","fileCount":35,"integrity":"sha512-bcCtWncmHAOYajxAfx5eBMisIlJBUZx/7bOOUcJ9ghYCHKlhwm35s+7sBTiCxkaHIxpH1zIz2wN+9qjuTMz4xQ==","signatures":[{"sig":"MEYCIQCzT8hALajDvlVVDKWZBhtaSuZg5AXWDLTuvdo3URXZzAIhAJiyP807mDFO3F3iWV7NQTVYecnBwiV7FxcGQ60qffN4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63944},"type":"module","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"gitHead":"7053463323dd3c1ead283bceb9487d685a3bfbf8","scripts":{"cs":"prettier --check src tests","lint":"oxlint src tests vitest.config.ts","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","prepare":"pnpm run build","lint-fix":"oxlint --fix src tests vitest.config.ts","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"git+https://github.com/chubbyts/chubbyts-undici-api.git","type":"git"},"_npmVersion":"11.17.0","description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"qs":"^6.15.3","zod":"^4.4.3","uuid":"^14.0.1","@chubbyts/chubbyts-dic-types":"^2.3.0","@chubbyts/chubbyts-log-types":"^3.3.0","@chubbyts/chubbyts-http-error":"^3.4.1","@chubbyts/chubbyts-negotiation":"^4.5.1","@chubbyts/chubbyts-decode-encode":"^2.5.1","@chubbyts/chubbyts-undici-server":"^1.2.0","@chubbyts/chubbyts-dic-config-factory":"^1.0.0","@chubbyts/chubbyts-throwable-to-error":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.20.0+sha512.9a6f330a95b66446ea088faf1521405a8a01f07fde7124cc9958dfed52d4bb436737e65b08f85f37b46fcba375092558ac51262b816844b22f63406ed166bfee","devDependencies":{"oxlint":"^1.77.0","vitest":"^4.1.10","prettier":"^3.9.6","@types/qs":"^6.15.1","typescript":"^7.0.2","@types/node":"^26.1.2","@vitest/coverage-v8":"^4.1.10","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-oxlint":"^1.0.0","@chubbyts/chubbyts-dic-config":"^2.3.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.2.0_1787508999562_0.20627519726597243","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@chubbyts/chubbyts-undici-api","version":"2.3.0","keywords":["chubbyts","api","crud"],"author":"Dominik Zogg","license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.3.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"dist":{"shasum":"7a4ad2d630ef37e68cf5831f4dbdba8f1d56fe68","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.3.0.tgz","fileCount":35,"integrity":"sha512-Al0h90qEGG18SsJj/BpBBsMjKxRr+hG1TigAGTiIKoWyMfaq6iVnDe9JMX+TlyFwas2UcNgIzH9xuwzADDZ+yA==","signatures":[{"sig":"MEUCIQDrNe5QVsrTdySfrVWiKVlUHVf4DvTXGeLxfUuHgUgSHwIgRON3U+aiyGy2uSlQ+wy1xWKwMcB4cJDuGEVN9L6Ht9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63865},"type":"module","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"oxlint src tests vitest.config.ts","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"oxlint --fix src tests vitest.config.ts","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"chubbyts/chubbyts-undici-api","type":"git"},"description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"qs":"^6.15.3","zod":"^4.4.3","uuid":"^14.0.1","@chubbyts/chubbyts-dic-types":"^2.3.0","@chubbyts/chubbyts-log-types":"^3.3.0","@chubbyts/chubbyts-http-error":"^3.5.0","@chubbyts/chubbyts-negotiation":"^4.5.1","@chubbyts/chubbyts-decode-encode":"^2.5.1","@chubbyts/chubbyts-undici-server":"^1.2.0","@chubbyts/chubbyts-dic-config-factory":"^1.0.0","@chubbyts/chubbyts-throwable-to-error":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxlint":"^1.77.0","vitest":"^4.1.10","prettier":"^3.9.6","@types/qs":"^6.15.1","typescript":"^7.0.2","@types/node":"^26.1.2","@vitest/coverage-v8":"^4.1.10","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-oxlint":"^1.0.0","@chubbyts/chubbyts-dic-config":"^2.3.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.3.0_1788205038968_0.6635444992925226","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@chubbyts/chubbyts-undici-api","version":"2.3.1","keywords":["chubbyts","api","crud"],"author":"Dominik Zogg","license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.3.1","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"dist":{"shasum":"23ec7085512d4a9b974c3977023939b3b847ff6a","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.3.1.tgz","fileCount":35,"integrity":"sha512-rUcTVvsm9vJcmphjO5xEM9zLasmIQB38ZKRYEuNc7XudkvcPZ3BrbJZ4TGqSYjyRgRRU+fhUR471ZqWwT8npTA==","signatures":[{"sig":"MEQCIFjLZ7rM8UpooDLq7hiQltgvspmJEs3g3bfbI1k7IpuGAiBVPX+qwedqM3G637nJNogjRu9xXaHQw9DWHoG0VjaWEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63883},"type":"module","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"oxlint src tests vitest.config.ts","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"oxlint --fix src tests vitest.config.ts","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"chubbyts/chubbyts-undici-api","type":"git"},"description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"qs":"^6.15.3","zod":"^4.4.3","uuid":"^14.0.1","@chubbyts/chubbyts-dic-types":"^2.3.0","@chubbyts/chubbyts-log-types":"^3.3.0","@chubbyts/chubbyts-http-error":"^3.5.0","@chubbyts/chubbyts-negotiation":"^4.5.1","@chubbyts/chubbyts-decode-encode":"^2.5.1","@chubbyts/chubbyts-undici-server":"^1.2.0","@chubbyts/chubbyts-dic-config-factory":"^1.0.0","@chubbyts/chubbyts-throwable-to-error":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxlint":"^1.77.0","vitest":"^4.1.10","prettier":"^3.9.6","@types/qs":"^6.15.1","typescript":"^7.0.2","@types/node":"^26.1.2","@vitest/coverage-v8":"^4.1.10","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-oxlint":"^1.0.0","@chubbyts/chubbyts-dic-config":"^2.3.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.3.1_1788722095213_0.7228117549493183","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@chubbyts/chubbyts-undici-api","version":"2.4.0","keywords":["chubbyts","api","crud"],"author":"Dominik Zogg","license":"MIT","_id":"@chubbyts/chubbyts-undici-api@2.4.0","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"dist":{"shasum":"457577b964088c7f1cd09ffcbed3011dd1edf8c4","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.4.0.tgz","fileCount":35,"integrity":"sha512-YSf5M8bthXuK06oBNFJoAwZBaG0GbEgrsopuNs6F7H+Te6BckVu6LFOkI+Bjp2BXcv6xc65X7L9oTWz8+4uNmg==","signatures":[{"sig":"MEUCIQDrygDMRMFNqQvQu/948tj8rMt9/jC+FjXMee8pFwEaTAIgL7PLNP6f3fHcM2Z3N/OnLYW86HMCWWNASzdbxe8ILzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63603},"type":"module","engines":{"node":">=22"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"scripts":{"cs":"prettier --check src tests","lint":"oxlint src tests vitest.config.ts","test":"vitest","build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","lint-fix":"oxlint --fix src tests vitest.config.ts","infection":"stryker run"},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"prettier":{"tabWidth":2,"printWidth":120,"singleQuote":true,"trailingComma":"all"},"repository":{"url":"chubbyts/chubbyts-undici-api","type":"git"},"description":"A crud middlewares/handlers for chubbyts-undici-server.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"qs":"^6.15.3","zod":"^4.4.3","uuid":"^14.0.1","@chubbyts/chubbyts-dic-types":"^2.3.0","@chubbyts/chubbyts-log-types":"^3.3.0","@chubbyts/chubbyts-http-error":"^3.5.0","@chubbyts/chubbyts-negotiation":"^4.5.1","@chubbyts/chubbyts-decode-encode":"^2.5.1","@chubbyts/chubbyts-undici-server":"^1.2.0","@chubbyts/chubbyts-dic-config-factory":"^1.0.0","@chubbyts/chubbyts-throwable-to-error":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxlint":"^1.77.0","vitest":"^4.1.10","prettier":"^3.9.6","@types/qs":"^6.15.1","typescript":"^7.0.2","@types/node":"^26.1.2","@vitest/coverage-v8":"^4.1.10","@stryker-mutator/core":"^9.6.1","@chubbyts/chubbyts-oxlint":"^1.0.0","@chubbyts/chubbyts-dic-config":"^2.3.0","@stryker-mutator/vitest-runner":"^9.6.1","@chubbyts/chubbyts-function-mock":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/chubbyts-undici-api_2.4.0_1789238046042_0.9864894591957059","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@chubbyts/chubbyts-undici-api","type":"module","version":"2.4.1","description":"A crud middlewares/handlers for chubbyts-undici-server.","keywords":["chubbyts","api","crud"],"author":"Dominik Zogg","license":"MIT","repository":{"type":"git","url":"chubbyts/chubbyts-undici-api"},"prettier":{"printWidth":120,"tabWidth":2,"singleQuote":true,"trailingComma":"all"},"exports":{"./*":{"types":"./*.d.ts","import":"./*.js","default":"./*.js"}},"engines":{"node":">=22"},"dependencies":{"@chubbyts/chubbyts-decode-encode":"^2.5.1","@chubbyts/chubbyts-dic-config-factory":"^1.0.0","@chubbyts/chubbyts-dic-types":"^2.3.0","@chubbyts/chubbyts-http-error":"^3.5.0","@chubbyts/chubbyts-log-types":"^3.3.0","@chubbyts/chubbyts-negotiation":"^4.5.1","@chubbyts/chubbyts-throwable-to-error":"^2.3.0","@chubbyts/chubbyts-undici-server":"^1.2.0","qs":"^6.15.3","uuid":"^14.0.1","zod":"^4.4.3"},"devDependencies":{"@chubbyts/chubbyts-dic-config":"^2.3.0","@chubbyts/chubbyts-function-mock":"^2.3.0","@chubbyts/chubbyts-oxlint":"^1.0.0","@stryker-mutator/core":"^9.6.1","@stryker-mutator/vitest-runner":"^9.6.1","@types/node":"^26.1.2","@types/qs":"^6.15.1","@vitest/coverage-v8":"^4.1.10","oxlint":"^1.77.0","prettier":"^3.9.6","typescript":"^7.0.2","vitest":"^4.1.10"},"publishConfig":{"access":"public"},"scripts":{"build":"rm -Rf dist && tsc","cs-fix":"prettier --write src tests","cs":"prettier --check src tests","infection":"stryker run","lint-fix":"oxlint --fix src tests vitest.config.ts","lint":"oxlint src tests vitest.config.ts","test":"vitest"},"_nodeVersion":"24.16.0","_id":"@chubbyts/chubbyts-undici-api@2.4.1","dist":{"integrity":"sha512-Y/MA9mMx0TpAA9swsW1ZjWRRlnkzQ65HmghCCN8YNNgEC8U1y7WolrDYN8SUnvRag3DgVRqVX38EBRC2H2ErJg==","shasum":"42216af4bcdda0d8f364a463a8240ef537070a01","tarball":"https://registry.npmjs.org/@chubbyts/chubbyts-undici-api/-/chubbyts-undici-api-2.4.1.tgz","fileCount":35,"unpackedSize":72167,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE0H2JCcqwhGytpn9RTFM2QtbI2kCryrrPbsR2D5fnlAAiEA2VIsLvNmCXosTMlF4VTh9MKC8tPplJkcArwqbWJ4Q4g="}]},"_npmUser":{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"},"directories":{},"maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chubbyts-undici-api_2.4.1_1789239332931_0.15034389955180205"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-11T07:04:08.176Z","modified":"2026-09-12T18:55:33.246Z","1.0.0-beta.1":"2025-09-11T07:04:08.518Z","1.0.0-beta.2":"2025-09-11T07:09:56.203Z","1.0.0-beta.3":"2025-09-11T11:08:19.510Z","1.0.0":"2025-09-12T06:35:22.754Z","1.1.0":"2025-10-26T17:42:16.032Z","1.1.1":"2025-12-17T21:44:24.467Z","1.2.0":"2026-02-01T18:16:23.385Z","1.2.1":"2026-03-16T20:04:12.206Z","1.3.0":"2026-04-18T12:25:43.083Z","1.3.1":"2026-04-18T13:36:54.366Z","2.0.0":"2026-05-02T20:06:42.221Z","2.0.1":"2026-05-02T20:22:45.532Z","2.0.2":"2026-05-10T09:59:01.040Z","2.1.0":"2026-07-29T19:11:10.696Z","2.2.0":"2026-08-23T18:16:39.855Z","2.3.0":"2026-08-31T19:37:19.100Z","2.3.1":"2026-09-06T19:14:55.333Z","2.4.0":"2026-09-12T18:34:06.178Z","2.4.1":"2026-09-12T18:55:33.068Z"},"author":"Dominik Zogg","license":"MIT","keywords":["chubbyts","api","crud"],"repository":{"type":"git","url":"chubbyts/chubbyts-undici-api"},"description":"A crud middlewares/handlers for chubbyts-undici-server.","maintainers":[{"name":"dominikzogg","email":"dominik.zogg@ikmail.com"}],"readme":"# chubbyts-undici-api\n\n[![CI](https://github.com/chubbyts/chubbyts-undici-api/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/chubbyts/chubbyts-undici-api/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/github/chubbyts/chubbyts-undici-api/badge.svg?branch=master)](https://coveralls.io/github/chubbyts/chubbyts-undici-api?branch=master)\n[![Mutation testing badge](https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fchubbyts%2Fchubbyts-undici-api%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/chubbyts/chubbyts-undici-api/master)\n[![npm-version](https://img.shields.io/npm/v/@chubbyts/chubbyts-undici-api.svg)](https://www.npmjs.com/package/@chubbyts/chubbyts-undici-api)\n\n[![bugs](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=bugs)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![code_smells](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=code_smells)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![coverage](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=coverage)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![duplicated_lines_density](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![ncloc](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=ncloc)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![sqale_rating](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![alert_status](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=alert_status)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![reliability_rating](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![security_rating](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=security_rating)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![sqale_index](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=sqale_index)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n[![vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=chubbyts_chubbyts-undici-api&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=chubbyts_chubbyts-undici-api)\n\n## Description\n\nType-safe CRUD handlers and middlewares for [chubbyts-undici-server][7].\n\nYou describe a model once as a [zod][10] schema. The package derives the list, persisted and enriched (HAL style `_embedded` / `_links`) variants from it, validates incoming attributes, query, headers and body against them, and encodes the response in the content type negotiated with the client.\n\nIt ships:\n\n * CRUD handlers: `createListHandler`, `createCreateHandler`, `createReadHandler`, `createUpdateHandler`, `createDeleteHandler`\n * A generic, fully typed request/response handler: [`createTypedHandler`][20]\n * Middlewares for `accept-language`, `accept` and `content-type` negotiation, and an error middleware that turns thrown errors into encoded [http-error][3] responses\n * Model schema helpers and repository function types\n * Service factories for [chubbyts-dic-config][13]\n\n## Requirements\n\n * node: 22\n * [@chubbyts/chubbyts-decode-encode][2]: ^2.5.1\n * [@chubbyts/chubbyts-dic-config-factory][11]: ^1.0.0\n * [@chubbyts/chubbyts-dic-types][12]: ^2.3.0\n * [@chubbyts/chubbyts-http-error][3]: ^3.5.0\n * [@chubbyts/chubbyts-log-types][4]: ^3.3.0\n * [@chubbyts/chubbyts-negotiation][5]: ^4.5.1\n * [@chubbyts/chubbyts-throwable-to-error][6]: ^2.3.0\n * [@chubbyts/chubbyts-undici-server][7]: ^1.2.0\n * [qs][8]: ^6.15.3\n * [uuid][9]: ^14.0.1\n * [zod][10]: ^4.4.3\n\n## Installation\n\nThrough [NPM](https://www.npmjs.com) as [@chubbyts/chubbyts-undici-api][1].\n\n```sh\nnpm i @chubbyts/chubbyts-undici-api@^2.4.1\n```\n\n## Usage\n\nThe pieces fit together like this:\n\n 1. The negotiation middlewares read the `accept-language`, `accept` and `content-type` headers and store the negotiated values in `serverRequest.attributes` as `acceptLanguage`, `accept` and `contentType`. Your router adds route parameters such as `id` the same way.\n 2. The handlers validate those attributes, the query string and the decoded body against your schemas, call your repository functions and encode the response body with the negotiated `accept` content type.\n 3. The error middleware catches whatever is thrown (`400` for validation failures, `404` for missing models, `406` / `415` from negotiation, anything else you map) and encodes it as an error response.\n\n### Model\n\nStart from an *input* schema describing what a client may send. Everything else is derived from it.\n\n```ts\nimport { z } from 'zod';\nimport {\n  createEnrichedModelListSchema,\n  createEnrichedModelSchema,\n  createModelListSchema,\n  createModelSchema,\n  numberSchema,\n  sortSchema,\n  stringSchema,\n} from '@chubbyts/chubbyts-undici-api/dist/model';\nimport type {\n  EnrichedModel,\n  EnrichedModelList,\n  EnrichedModelListSchema,\n  EnrichedModelSchema,\n  InputModel,\n  InputModelList,\n  Model,\n  ModelList,\n  ModelListSchema,\n  ModelSchema,\n} from '@chubbyts/chubbyts-undici-api/dist/model';\n\n// what a client sends on create / update\nexport const inputPetSchema = z.object({ name: stringSchema, tag: stringSchema.optional() }).strict();\nexport type InputPetSchema = typeof inputPetSchema;\nexport type InputPet = InputModel<InputPetSchema>;\n\n// what a client sends as query string on list (offset, limit, filters and sort are required keys)\nexport const inputPetListSchema = z\n  .object({\n    offset: numberSchema.default(0),\n    limit: numberSchema.default(20),\n    filters: z.object({ name: stringSchema.optional() }).strict().default({}),\n    sort: z.object({ name: sortSchema }).strict().default({}),\n  })\n  .strict();\nexport type InputPetListSchema = typeof inputPetListSchema;\nexport type InputPetList = InputModelList<InputPetListSchema>;\n\n// persisted model: input + id, createdAt, updatedAt\nexport const petSchema: ModelSchema<InputPetSchema> = createModelSchema(inputPetSchema);\nexport type Pet = Model<InputPetSchema>;\n\n// persisted list: list input + count, items\nexport const petListSchema: ModelListSchema<InputPetSchema, InputPetListSchema> = createModelListSchema(\n  inputPetSchema,\n  inputPetListSchema,\n);\nexport type PetList = ModelList<InputPetSchema, InputPetListSchema>;\n\n// response model / list: persisted + optional _embedded and _links\nexport const enrichedPetSchema: EnrichedModelSchema<InputPetSchema> = createEnrichedModelSchema(inputPetSchema);\nexport type EnrichedPet = EnrichedModel<InputPetSchema>;\n\nexport const enrichedPetListSchema: EnrichedModelListSchema<InputPetSchema, InputPetListSchema> =\n  createEnrichedModelListSchema(inputPetSchema, inputPetListSchema);\nexport type EnrichedPetList = EnrichedModelList<InputPetSchema, InputPetListSchema>;\n```\n\nReusable field schemas: `stringSchema` (non-empty string), `numberSchema` and `dateSchema` (coerced, so they accept query string values) and `sortSchema` (`'asc' | 'desc' | undefined`).\n\nTo type `_embedded`, pass an embedded schema as the last argument of `createEnrichedModelSchema` / `createEnrichedModelListSchema`. See the [typed handler guide][20] for an example with embedded vaccinations.\n\n### Repository\n\nThe handlers talk to your storage through four function types. Implement them however you like.\n\n```ts\nimport type {\n  FindModelById,\n  PersistModel,\n  RemoveModel,\n  ResolveModelList,\n} from '@chubbyts/chubbyts-undici-api/dist/repository';\n\nconst resolvePetList: ResolveModelList<InputPetSchema, InputPetListSchema> = async (inputPetList) => {\n  // return { ...inputPetList, count, items }\n};\n\nconst findPetById: FindModelById<InputPetSchema> = async (id) => {\n  // return the pet or undefined\n};\n\nconst persistPet: PersistModel<InputPetSchema> = async (pet) => {\n  // insert or update, return the persisted pet\n};\n\nconst removePet: RemoveModel<InputPetSchema> = async (pet) => {\n  // delete\n};\n```\n\n### Handler\n\n| Handler               | Reads                       | Required attributes           | Success | Errors     |\n|-----------------------|-----------------------------|-------------------------------|---------|------------|\n| `createListHandler`   | query string                | `accept`                      | `200`   | `400`      |\n| `createCreateHandler` | body                        | `contentType`, `accept`       | `201`   | `400`      |\n| `createReadHandler`   | –                           | `accept`, `id`                | `200`   | `404`      |\n| `createUpdateHandler` | body                        | `contentType`, `accept`, `id` | `200`   | `400`, `404` |\n| `createDeleteHandler` | –                           | `id`                          | `204`   | `404`      |\n\n```ts\nimport { createDecoder } from '@chubbyts/chubbyts-decode-encode/dist/decoder';\nimport { createJsonTypeDecoder } from '@chubbyts/chubbyts-decode-encode/dist/decoder/json-type-decoder';\nimport { createEncoder } from '@chubbyts/chubbyts-decode-encode/dist/encoder';\nimport { createJsonTypeEncoder } from '@chubbyts/chubbyts-decode-encode/dist/encoder/json-type-encoder';\nimport { ServerRequest } from '@chubbyts/chubbyts-undici-server/dist/server';\nimport { createCreateHandler } from '@chubbyts/chubbyts-undici-api/dist/handler/create';\nimport { createDeleteHandler } from '@chubbyts/chubbyts-undici-api/dist/handler/delete';\nimport { createListHandler } from '@chubbyts/chubbyts-undici-api/dist/handler/list';\nimport { createReadHandler } from '@chubbyts/chubbyts-undici-api/dist/handler/read';\nimport { createUpdateHandler } from '@chubbyts/chubbyts-undici-api/dist/handler/update';\n\nconst decoder = createDecoder([createJsonTypeDecoder()]);\nconst encoder = createEncoder([createJsonTypeEncoder()]);\n\nconst listHandler = createListHandler(inputPetListSchema, resolvePetList, enrichedPetListSchema, encoder);\nconst createHandler = createCreateHandler(decoder, inputPetSchema, persistPet, enrichedPetSchema, encoder);\nconst readHandler = createReadHandler(findPetById, enrichedPetSchema, encoder);\nconst updateHandler = createUpdateHandler(findPetById, decoder, inputPetSchema, persistPet, enrichedPetSchema, encoder);\nconst deleteHandler = createDeleteHandler(findPetById, removePet);\n\n// in production the middlewares and your router populate the attributes\nconst response = await readHandler(\n  new ServerRequest('http://localhost:8080/api/pets/8ba9661b-ba7f-436b-bd25-c0606f911f7d', {\n    method: 'GET',\n    attributes: { accept: 'application/json', id: '8ba9661b-ba7f-436b-bd25-c0606f911f7d' },\n  }),\n);\n```\n\nBehavior worth knowing:\n\n * `createCreateHandler` sets `id` (uuid v7 by default, override through the last `uuid` parameter) and `createdAt`; `createUpdateHandler` keeps `id` and `createdAt` of the stored model and sets `updatedAt`. Properties of the request body with the same names would win, so keep your input schemas `.strict()` (as above) to reject them.\n * The list, create, read and update handlers accept an optional `enrichModel` / `enrichModelList` callback as parameter after the `encoder`. Use it to add `_links` and `_embedded` before encoding. The default returns the model unchanged.\n * Validation failures throw a `400 Bad Request` whose `invalidParameters` list one entry per zod issue (`name`, `reason`, `context`), plus a `context` of `query`, `headers` or `body` telling where it came from.\n * A missing model throws a `404 Not Found`.\n * `Date` values are serialized as ISO strings and `undefined` properties are dropped when the response body is encoded.\n\n#### createTypedHandler\n\nAll CRUD handlers are built on `createTypedHandler`. Use it directly when you need other request attributes, headers, status codes or a response shape the CRUD handlers do not cover. See the [typed handler guide][20].\n\n### Middleware\n\nRegister the negotiation middlewares in front of the handlers. Each one reads a header, negotiates it against the supported values of the given [negotiator][5] and stores the result in `serverRequest.attributes`. A missing or unsupported header aborts the request with an [http-error][3] listing the `supportedValues`.\n\n| Middleware                                  | Header            | Attribute        | Error                        |\n|---------------------------------------------|-------------------|------------------|------------------------------|\n| `createAcceptLanguageNegotiationMiddleware` | `accept-language` | `acceptLanguage` | `406 Not Acceptable`         |\n| `createAcceptNegotiationMiddleware`         | `accept`          | `accept`         | `406 Not Acceptable`         |\n| `createContentTypeNegotiationMiddleware`    | `content-type`    | `contentType`    | `415 Unsupported Media Type` |\n\n#### createAcceptLanguageNegotiationMiddleware\n\n```ts\nimport { createAcceptLanguageNegotiator } from '@chubbyts/chubbyts-negotiation/dist/accept-language-negotiator';\nimport { createAcceptLanguageNegotiationMiddleware }\n  from '@chubbyts/chubbyts-undici-api/dist/middleware/accept-language-negotiation-middleware';\n\nconst acceptLanguageNegotiationMiddleware = createAcceptLanguageNegotiationMiddleware(\n  createAcceptLanguageNegotiator(['en', 'de']),\n);\n```\n\n#### createAcceptNegotiationMiddleware\n\nFeed it the content types your encoder can produce.\n\n```ts\nimport { createAcceptNegotiator } from '@chubbyts/chubbyts-negotiation/dist/accept-negotiator';\nimport { createAcceptNegotiationMiddleware }\n  from '@chubbyts/chubbyts-undici-api/dist/middleware/accept-negotiation-middleware';\n\nconst acceptNegotiationMiddleware = createAcceptNegotiationMiddleware(createAcceptNegotiator(encoder.contentTypes));\n```\n\n#### createContentTypeNegotiationMiddleware\n\nFeed it the content types your decoder can parse. Only needed on routes with a request body.\n\n```ts\nimport { createContentTypeNegotiator } from '@chubbyts/chubbyts-negotiation/dist/content-type-negotiator';\nimport { createContentTypeNegotiationMiddleware }\n  from '@chubbyts/chubbyts-undici-api/dist/middleware/content-type-negotiation-middleware';\n\nconst contentTypeNegotiationMiddleware = createContentTypeNegotiationMiddleware(\n  createContentTypeNegotiator(decoder.contentTypes),\n);\n```\n\n#### createErrorMiddleware\n\nCatches every error thrown by the wrapped handler and answers with an encoded [http-error][3].\n\n```ts\nimport { createInternalServerError } from '@chubbyts/chubbyts-http-error/dist/http-error';\nimport { createErrorMiddleware } from '@chubbyts/chubbyts-undici-api/dist/middleware/error-middleware';\n\nconst errorMiddleware = createErrorMiddleware(\n  encoder,\n  (e: unknown) => createInternalServerError({ cause: e }), // mapToHttpError, default: rethrow\n  false, // debug\n  logger, // @chubbyts/chubbyts-log-types Logger, default: noop logger\n  ['acceptLanguage'], // attribute names to add to the log context\n);\n```\n\n * An [http-error][3] is used as is. Anything else goes through `mapToHttpError`; if that throws too (the default), the result is a `500 Internal Server Error` carrying `name`, `message` and `stack` of the original error.\n * Errors below `500` are logged as `info`, others as `error`, together with `method`, `pathnameSearch` and the requested attributes.\n * The response body contains the full error for client errors or when `debug` is `true`. Otherwise it is reduced to `type`, `status` and `title`, so internals never leak in production.\n * Headers of the http-error (for example `allow`) are copied to the response.\n * The response is encoded with the `accept` attribute, so the accept negotiation middleware has to run *before* this one.\n\n### Helpers\n\n * `parseRequestBody(decoder, serverRequest)` from `dist/request`: decodes the body using `attributes.contentType`.\n * `createResponseWithData(serverRequest, encoder, data, status, statusText, headers)` from `dist/response`: encodes `data` using `attributes.accept` and sets the `content-type` header.\n * `valueToData(value)` from `dist/response`: converts models (dates, http-errors, nested objects) into encodable data.\n * `zodToInvalidParameters(zodError)` from `dist/zod-to-invalid-parameters`: maps zod issues to the `invalidParameters` format used by [http-error][3].\n\n### Service factories (chubbyts-dic-config)\n\nThe package ships service factories (abstract factories built on [chubbyts-dic-config-factory][11]) for a [chubbyts-dic-config][13] (or any [chubbyts-dic-types][12] compatible) container within `@chubbyts/chubbyts-undici-api/dist/service-factory`, one per middleware. They reuse the service factories of [chubbyts-decode-encode][2] and [chubbyts-negotiation][5]:\n\n```ts\nimport type { ConfigFactory } from '@chubbyts/chubbyts-dic-config/dist/dic-config';\nimport { createContainerByConfigFactory } from '@chubbyts/chubbyts-dic-config/dist/dic-config';\nimport { decoderServiceFactory, encoderServiceFactory } from '@chubbyts/chubbyts-decode-encode/dist/service-factory';\nimport {\n  acceptLanguageNegotiationMiddlewareServiceFactory,\n  acceptNegotiationMiddlewareServiceFactory,\n  contentTypeNegotiationMiddlewareServiceFactory,\n  errorMiddlewareServiceFactory,\n} from '@chubbyts/chubbyts-undici-api/dist/service-factory';\nimport type { Middleware } from '@chubbyts/chubbyts-undici-server/dist/server';\n\nconst container = createContainerByConfigFactory({\n  debug: false, // used by the error middleware (and the type encoders)\n  dependencies: {\n    factories: new Map<string, ConfigFactory>([\n      ['decoder', decoderServiceFactory()],\n      ['encoder', encoderServiceFactory()],\n      ['acceptLanguageNegotiatorSupportedValues', (): Array<string> => ['en', 'de']],\n      ['acceptLanguageNegotiationMiddleware', acceptLanguageNegotiationMiddlewareServiceFactory()],\n      ['acceptNegotiationMiddleware', acceptNegotiationMiddlewareServiceFactory()],\n      ['contentTypeNegotiationMiddleware', contentTypeNegotiationMiddlewareServiceFactory()],\n      ['errorMiddleware', errorMiddlewareServiceFactory()],\n    ]),\n  },\n})();\n\nconst acceptLanguageNegotiationMiddleware = container.get<Middleware>('acceptLanguageNegotiationMiddleware');\nconst acceptNegotiationMiddleware = container.get<Middleware>('acceptNegotiationMiddleware');\nconst contentTypeNegotiationMiddleware = container.get<Middleware>('contentTypeNegotiationMiddleware');\nconst errorMiddleware = container.get<Middleware>('errorMiddleware');\n```\n\nEach factory uses the related services of the container if registered, and creates them through the shipped factories of the other packages otherwise. Register any of them under its name to replace it or to share it with other services:\n\n| Factory                                             | Resolved services (default)                                                                                                                                                                                                                                                       |\n|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `acceptLanguageNegotiationMiddlewareServiceFactory` | `acceptLanguageNegotiator` (`acceptLanguageNegotiatorServiceFactory`, needs `acceptLanguageNegotiatorSupportedValues`)                                                                                                                                                             |\n| `acceptNegotiationMiddlewareServiceFactory`         | `acceptNegotiator` (`acceptNegotiatorServiceFactory`, the content types of `encoder`)                                                                                                                                                                                             |\n| `contentTypeNegotiationMiddlewareServiceFactory`    | `contentTypeNegotiator` (`contentTypeNegotiatorServiceFactory`, the content types of `decoder`)                                                                                                                                                                                   |\n| `errorMiddlewareServiceFactory`                     | `encoder` (`encoderServiceFactory`), `mapToHttpError` (`mapToHttpErrorServiceFactory`, rethrows), `errorMiddlewareLoggableAttributeNames` (`errorMiddlewareLoggableAttributeNamesServiceFactory`, `[]`), `debug` from `config.debug`, `logger` if registered |\n\n#### With names\n\nThe same factories can be registered multiple times with a name: the name gets appended to each service id (`errorMiddlewareapi`, `encoderapi`, `mapToHttpErrorapi`, ...) and passed down to the reused factories of the other packages.\n\n```ts\nimport type { HttpError } from '@chubbyts/chubbyts-http-error/dist/http-error';\nimport { createInternalServerError } from '@chubbyts/chubbyts-http-error/dist/http-error';\nimport type { MapToHttpError } from '@chubbyts/chubbyts-undici-api/dist/middleware/error-middleware';\n\nconst container = createContainerByConfigFactory({\n  dependencies: {\n    factories: new Map<string, ConfigFactory>([\n      ['encoderapi', encoderServiceFactory('api')],\n      ['mapToHttpErrorapi', (): MapToHttpError => (e: unknown): HttpError => createInternalServerError({ cause: e })],\n      ['errorMiddlewareapi', errorMiddlewareServiceFactory('api')],\n    ]),\n  },\n})();\n\nconst apiErrorMiddleware = container.get<Middleware>('errorMiddlewareapi');\n```\n\n## Migration\n\n * [1.x to 2.x][30]\n\n## Copyright\n\n2026 Dominik Zogg\n\n[1]: https://www.npmjs.com/package/@chubbyts/chubbyts-undici-api\n[2]: https://www.npmjs.com/package/@chubbyts/chubbyts-decode-encode\n[3]: https://www.npmjs.com/package/@chubbyts/chubbyts-http-error\n[4]: https://www.npmjs.com/package/@chubbyts/chubbyts-log-types\n[5]: https://www.npmjs.com/package/@chubbyts/chubbyts-negotiation\n[6]: https://www.npmjs.com/package/@chubbyts/chubbyts-throwable-to-error\n[7]: https://www.npmjs.com/package/@chubbyts/chubbyts-undici-server\n[8]: https://www.npmjs.com/package/qs\n[9]: https://www.npmjs.com/package/uuid\n[10]: https://www.npmjs.com/package/zod\n[11]: https://www.npmjs.com/package/@chubbyts/chubbyts-dic-config-factory\n[12]: https://www.npmjs.com/package/@chubbyts/chubbyts-dic-types\n[13]: https://www.npmjs.com/package/@chubbyts/chubbyts-dic-config\n\n[20]: doc/handler/typed.md\n\n[30]: doc/migration/1.x-2.x.md\n","readmeFilename":""}