{"_id":"@adaskothebeast/typewriter-http-angular","_rev":"3-91b89bb7ad107f2acb7af4d46879b8b5","name":"@adaskothebeast/typewriter-http-angular","dist-tags":{"latest":"10.0.2"},"versions":{"10.0.0":{"name":"@adaskothebeast/typewriter-http-angular","version":"10.0.0","keywords":["typewriter","angular","http-client","typescript","hydration"],"author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/typewriter-http-angular@10.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors#readme","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"e31ebcbf292184d0833d080f3936490c9d60b80c","tarball":"https://registry.npmjs.org/@adaskothebeast/typewriter-http-angular/-/typewriter-http-angular-10.0.0.tgz","fileCount":18,"integrity":"sha512-dcOz7EbpmoCUs1uXNLBySqhDKdZhp85vv+7VMAUm1tx077IMDmZOdcIEVBZNq0rBXVudaZ8HjWfO7/d3JPJ0VQ==","signatures":[{"sig":"MEYCIQCPwSboXjZnhXExKh2vEFUKGgFOqqjS2H4DnsBu4XGwYgIhAOBoxXC2sduTfBntvjV+pWa544ALijAiR0U37cLNIpaC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22609},"gitHead":"d939a562c5f5947e98df253b28d384399481063e","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git","directory":"libs/typewriter-http-angular"},"_npmVersion":"11.16.0","description":"Applies Typewriter runtime schemas to Angular `HttpClient` request and response bodies. Schema metadata is stored per request in `HttpContext`, so the interceptor is backend agnostic and works with the default backend, `withFetch()`, `withXhr()`, and APIs","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"rxjs":"^7.8.2","@angular/common":"^22.0.8","@adaskothebeast/typewriter-schema":"10.0.0","@adaskothebeast/typewriter-runtime":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/typewriter-http-angular_10.0.0_1785247015069_0.37737755525084804","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"name":"@adaskothebeast/typewriter-http-angular","version":"10.0.1","keywords":["typewriter","angular","http-client","typescript","hydration"],"author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/typewriter-http-angular@10.0.1","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors#readme","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"8c066413c2abbdf4768b6fead03f6111f0517288","tarball":"https://registry.npmjs.org/@adaskothebeast/typewriter-http-angular/-/typewriter-http-angular-10.0.1.tgz","fileCount":6,"integrity":"sha512-OgPUiUKPjlfA4F5SjY/uvTFnuKoK9XzEtklXcevPJpFgl+cdvlokkyMri5WVAJ4Ve/XiaRrpoWgyqt4yMVemQg==","signatures":[{"sig":"MEUCIA+hcnFcpKFLDGb1+TcYrByeLwiw25LeWgMuIAsN8IUjAiEAyKP0n32E8Mjnzq5ZxhPGN5y6G79COs8BkVIyOvwa5ro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2ftypewriter-http-angular@10.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17024},"type":"module","module":"fesm2022/adaskothebeast-typewriter-http-angular.mjs","exports":{".":{"types":"./types/adaskothebeast-typewriter-http-angular.d.ts","default":"./fesm2022/adaskothebeast-typewriter-http-angular.mjs"},"./package.json":{"default":"./package.json"}},"typings":"types/adaskothebeast-typewriter-http-angular.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:107f31e8-1739-43eb-b04a-11519f5c6891"}},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git","directory":"libs/typewriter-http-angular"},"_npmVersion":"11.16.0","description":"Applies Typewriter runtime schemas to Angular `HttpClient` request and response bodies. Schema metadata is stored per request in `HttpContext`, so the interceptor is backend agnostic and works with the default backend, `withFetch()`, `withXhr()`, and APIs","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":"^7.8.2","@angular/common":"^22.0.8","@adaskothebeast/typewriter-schema":"10.0.0","@adaskothebeast/typewriter-runtime":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/typewriter-http-angular_10.0.1_1785250684734_0.33364736671004325","host":"s3://npm-registry-packages-npm-production"}},"10.0.2":{"name":"@adaskothebeast/typewriter-http-angular","version":"10.0.2","license":"MIT","author":{"name":"Adam Pluciński","email":"adaskothebeast@gmail.com","url":"https://github.com/adaskothebeast"},"repository":{"type":"git","url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","directory":"libs/typewriter-http-angular"},"bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors#readme","keywords":["typewriter","angular","http-client","typescript","hydration"],"peerDependencies":{"@angular/common":"^22.0.8","@adaskothebeast/typewriter-runtime":"^10.0.0","@adaskothebeast/typewriter-schema":"^10.0.0","rxjs":"^7.8.2"},"sideEffects":false,"module":"fesm2022/adaskothebeast-typewriter-http-angular.mjs","typings":"types/adaskothebeast-typewriter-http-angular.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./types/adaskothebeast-typewriter-http-angular.d.ts","default":"./fesm2022/adaskothebeast-typewriter-http-angular.mjs"}},"type":"module","dependencies":{"tslib":"^2.3.0"},"_id":"@adaskothebeast/typewriter-http-angular@10.0.2","description":"Applies Typewriter runtime schemas to Angular `HttpClient` request and response bodies. Schema metadata is stored per request in `HttpContext`, so the interceptor is backend agnostic and works with the default backend, `withFetch()`, `withXhr()`, and APIs","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-b4h+0yUurLA3yu03DRqKB0hpbcvRRkc9tciSnbKhDm3bIqR1iQ0MdbAVTO/u7BpFtjdp2oGWOlh8y1fUWRbsAg==","shasum":"f4574e6bab0c958284e9afdf9271cb61d2e70125","tarball":"https://registry.npmjs.org/@adaskothebeast/typewriter-http-angular/-/typewriter-http-angular-10.0.2.tgz","fileCount":6,"unpackedSize":17026,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2ftypewriter-http-angular@10.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICG/aZ1xMlC0cKJT66L4AwuGG9TUs7sqxmseZhZtL8MgAiEAxD0CDSc2VBMLcJG6EoXKf4k0TCW2+IXYZdb14lfIdf8="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:107f31e8-1739-43eb-b04a-11519f5c6891"}},"directories":{},"maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/typewriter-http-angular_10.0.2_1785252308781_0.4136402065224869"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T13:56:54.832Z","modified":"2026-07-28T15:25:09.341Z","10.0.0":"2026-07-28T13:56:55.252Z","10.0.1":"2026-07-28T14:58:04.881Z","10.0.2":"2026-07-28T15:25:08.936Z"},"bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"author":{"name":"Adam Pluciński","email":"adaskothebeast@gmail.com","url":"https://github.com/adaskothebeast"},"license":"MIT","homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors#readme","keywords":["typewriter","angular","http-client","typescript","hydration"],"repository":{"type":"git","url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","directory":"libs/typewriter-http-angular"},"description":"Applies Typewriter runtime schemas to Angular `HttpClient` request and response bodies. Schema metadata is stored per request in `HttpContext`, so the interceptor is backend agnostic and works with the default backend, `withFetch()`, `withXhr()`, and APIs","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"readme":"# Typewriter Angular HTTP\n\nApplies Typewriter runtime schemas to Angular `HttpClient` request and response bodies.\nSchema metadata is stored per request in `HttpContext`, so the interceptor is\nbackend agnostic and works with the default backend, `withFetch()`, `withXhr()`,\nand APIs such as `httpResource` that use `HttpClient`.\n\n## Install\n\n```sh\nnpm install @adaskothebeast/typewriter-http-angular\n```\n\n## Configure\n\nRegister the feature alongside any backend features selected by the\napplication:\n\n```ts\nimport { provideHttpClient } from '@angular/common/http';\nimport { withTypewriterHttpInterceptor } from '@adaskothebeast/typewriter-http-angular';\n\nbootstrapApplication(AppComponent, {\n  providers: [provideHttpClient(withTypewriterHttpInterceptor())],\n});\n```\n\nThe package does not select or replace an HTTP backend.\n\n## Use\n\n```ts\nimport { HttpClient } from '@angular/common/http';\nimport { schema } from '@adaskothebeast/typewriter-schema';\nimport {\n  withTypewriterRequestSchema,\n  withTypewriterResponseSchema,\n} from '@adaskothebeast/typewriter-http-angular';\n\nconst invoiceSchema = schema.object({\n  amount: schema.property(schema.decimal('string')),\n});\n\nhttp.get('/api/invoice', {\n  context: withTypewriterResponseSchema(invoiceSchema),\n});\n\nconst context = withTypewriterResponseSchema(invoiceSchema, {\n  context: withTypewriterRequestSchema(invoiceSchema),\n});\n\nhttp.post('/api/invoice', invoice, { context });\n```\n\nPass an existing context, registry, or runtime options when needed:\n\n```ts\nconst context = withTypewriterResponseSchema(invoiceSchema, {\n  context: existingContext,\n  registry,\n  transformOptions: { strict: true },\n});\n```\n\nThe functional `typewriterHttpInterceptor` and all context tokens are\nalso exported for direct composition.\n","readmeFilename":"README.md"}