{"_id":"@adaskothebeast/hierarchical-convert-to-date-fns","_rev":"18-3be6b7bd8338d165677293553a8ab2fe","name":"@adaskothebeast/hierarchical-convert-to-date-fns","dist-tags":{"latest":"11.0.1"},"versions":{"1.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"1.0.0","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@1.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"dist":{"shasum":"d19dece7ed14db5c0f83bbc60176c199d44b99ee","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-1.0.0.tgz","fileCount":8,"integrity":"sha512-652fJlh2J5GGIU4gAB0YjRrFwuGRWnbvBm+m+LI3BHHPZw0gADqWgpcZFY58Ba8UWa5ygyg5/PHOC9YigPyFqQ==","signatures":[{"sig":"MEUCIHxjxo+8tz07/LIpLcPHPgwy9izQHHKCPAHKfNAEm8swAiEA5UNrkWZAAJ0RwUOdzqJla9m43Fn3e3Z0mgeMuTPdHOw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21806},"main":"./src/index.js","types":"./src/index.d.ts","gitHead":"5a8393de558ed881da2eaed1093b1f44d8b84013","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"_npmVersion":"9.5.1","description":"Dates in JSON are usually serialized as strings. This library helps to convert them to Date objects. It also helps to convert duration strings to Duration objects.","directories":{},"_nodeVersion":"18.16.1","_hasShrinkwrap":false,"peerDependencies":{"tslib":"2.5.3","date-fns":"^2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_1.0.0_1690045890934_0.714113656331749","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"1.1.0","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@1.1.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"dist":{"shasum":"cb7e1a3e87c51d64d92bb332d2320690e691bcdf","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-1.1.0.tgz","fileCount":8,"integrity":"sha512-0iwfWFb/vlLpWDrbqycqgjbnxan9rF7vCwjRER/rhGhRXYSEWOP4N26eVhsUXDhyCFB0ZriThr58Hr7LuSLbKg==","signatures":[{"sig":"MEYCIQDoUkTM6v2OBjkHzQ+oJt1hdPE02ceUckFpj35KdJgG6wIhALBdR5iKekAHTUsahxuKGkuBWAkOF3XgXF2CYi/zCGyt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21806},"main":"./src/index.js","types":"./src/index.d.ts","gitHead":"5a8393de558ed881da2eaed1093b1f44d8b84013","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"_npmVersion":"9.5.1","description":"Dates in JSON are usually serialized as strings. This library helps to convert them to Date objects. It also helps to convert duration strings to Duration objects.","directories":{},"_nodeVersion":"18.16.1","_hasShrinkwrap":false,"peerDependencies":{"tslib":"2.5.3","date-fns":"^2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_1.1.0_1690184254109_0.6866935605841955","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"1.2.0","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@1.2.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"dist":{"shasum":"ce0087ecc353e7fc2b2ca93c0ad1701675a9402d","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-1.2.0.tgz","fileCount":8,"integrity":"sha512-rJGWncHCRjB1/GPaKlacMpXd9TLItE01Zb/whHOWhKgfXV94E/aIDJ1iUCQOJ6oLt3bbih4YgtwzLQlLD8FM+Q==","signatures":[{"sig":"MEQCIBE2dcU2Ej4r95dZ+SnjAVM7EKHb7j+2WQapF6WJUIvXAiA0WZ1Wr1NV4Te0qUGRnzeBG0x/JKuS5A1wwaG6mcZKag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21784},"main":"./src/index.js","types":"./src/index.d.ts","gitHead":"e4b5c4c39932b5fc44e14c9d216b31eb05e5443f","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"_npmVersion":"9.6.7","description":"Dates in JSON are usually serialized as strings. This library helps to convert them to Date objects. It also helps to convert duration strings to Duration objects.","directories":{},"_nodeVersion":"18.17.0","_hasShrinkwrap":false,"peerDependencies":{"date-fns":"^2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_1.2.0_1691015827943_0.7664396872364754","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"2.0.0","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@2.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"dist":{"shasum":"389c18117d006277a0f569c10845e6d40e3356ea","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-2.0.0.tgz","fileCount":8,"integrity":"sha512-iLMIxtbHaMJRVzIX+XC3uoiKEHObfLEax5KcVqQULOrQzgsQFUGVBYbWJw4BpUckf4AN/O7tv8ZVAINkWFw1ZA==","signatures":[{"sig":"MEYCIQDwJA4TA3D56Lcn6JCJlAEwxZU3s+/MaJ3/ymLZwHDxKQIhALvvhad6eqmfCZhjuY3yLyjuPEjsV93pGrs6JnQ+Bxly","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20363},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a680a7de38721a64c7252058496d6bc3580f5d05","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"_npmVersion":"10.1.0","description":"Dates in JSON are usually serialized as strings. This library helps to convert them to Date objects. It also helps to convert duration strings to Duration objects.","directories":{},"_nodeVersion":"20.9.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.6.2","date-fns":"^2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_2.0.0_1699714660142_0.6800930337908677","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"3.0.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@3.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"2caa8490b1b91bfdb63d907d5d14bab7608305a0","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-3.0.0.tgz","fileCount":8,"integrity":"sha512-aX7GR9AQJLsyTKguQVSJCsueJj6lz4gTvUzT1J+04sX2gqvYto+r+wGWFDT0uJZDkpR2j7b7SSQjDFbdR9tLNQ==","signatures":[{"sig":"MEQCIGD7nHn8MCOOZ9U9vtDlbKlm91ahoMKQqSwa4XVkWhQmAiAR2/cWGZ46mC0o9xWckJ945lAjUACNQL0H4yZkx29ipQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20637},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ddfd51225dea744f8d13646f74264b5e17e45020","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"10.2.3","description":"Dates in JSON are usually serialized as strings. This library helps to convert them to Date objects. It also helps to convert duration strings to Duration objects.","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.6.2","date-fns":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_3.0.0_1704557948253_0.8722191893160856","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"4.0.1","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@4.0.1","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"521dce4c2e8b65a8aa4a7b27cdf46802d818f7c8","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-4.0.1.tgz","fileCount":8,"integrity":"sha512-v36uJkYK1pkBNSOyKDYmgh6JZh84pMg74XkLuYrCLYWyfmd8t7o/pXLfq0+u9yOQOZ7CK797991lP9YXBVHILw==","signatures":[{"sig":"MEYCIQDtTsl5IA4gz9tEuoTeJonD0UgaVMiQthYIvGLcWp6gPgIhALdHFIZTRMlwNG125IVkkDSwYCeZ+QBN5/I64GI8OHaf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26402},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"a04bf19e09f1872e8c4c4c0f45bc6d1a737b8157","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"10.5.2","description":"## What problem does this set of libraries solve?","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.6.2","date-fns":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_4.0.1_1716918026400_0.9522190831207857","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"5.0.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@5.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"a38248a55d407317a24924ecdd1f14d155cb2efe","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-5.0.0.tgz","fileCount":8,"integrity":"sha512-9C1Bqw85yqQ0IeBuodZoDWFQAVWz9wlUx9z3CHqPV0cJnPyB03aF/3weHwwWFZDiovD2fvZ1yZLJGJneQUQeEg==","signatures":[{"sig":"MEUCICZ+vvB+WaVftpHkwhnlTnECyQISsAgNsj8xJJFmp67YAiEA4bCNxohelWZxjEWF5nOTvp+B9qWrzg7yN0CIBb4bBhg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26386},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ac396ac45c5f37d050e30d30fe47c0a6f7b620df","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"10.9.0","description":"## What problem does this set of libraries solve?","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_5.0.0_1735899100693_0.12244865452480047","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"6.0.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@6.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"8ccfe665fe59668ebb6b9ed0f5b47ded2fd1df54","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-6.0.0.tgz","fileCount":8,"integrity":"sha512-346PFsspSAiN355zixhcInaKcjgyoLimsSAyaGaiREoVA2v+DtcuJPEQkCWK0IESmB6/SQ5kauv3ivBy9yWrTg==","signatures":[{"sig":"MEQCIB4NQLFw/FjCgrPv1ZGR4JZ3j4siTiK77v6cOpKUPc7GAiBuG1m89zy4wCzLC5QtrUCnitWZz5wCI7t6m7/gObuFYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26343},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"55f79fc389d6933a3a9659c77e3f23eb13be379c","_npmUser":{"name":"adasko","actor":{"name":"adasko","type":"user","email":"adaskothebeast@gmail.com"},"email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"10.9.2","description":"## What problem does this set of libraries solve?","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_6.0.0_1750513510238_0.3266150949733613","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"7.0.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@7.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"67ff8b1ba9a188c94c6d665e2b5a0e04759e2e11","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-7.0.0.tgz","fileCount":8,"integrity":"sha512-E/4npnEzuQEFK6N9Jz+vBQnsoEGPGdGAWa7nNL2rysRV7+EJb9QrgbqVztjs6Ube+AbuiH/FqAdCy3kORgXcLQ==","signatures":[{"sig":"MEUCIQC7out0NyIlKhOVbHIzCENnBpo4geq7m7JrJWjXCHiDVwIgfojoILuwgAUeEKHSco0yjZegxOjHJj4jXPkwQv8Fm+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26343},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"4b1f3945958b60806b57550bbd812ae9fbca679b","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"10.9.3","description":"Working with dates and durations in JSON can be cumbersome and error-prone due to the lack of a standard format for date-time serialization. JSON, by its nature, does not have a specific data type for dates or durations. As a result, dates are usually ser","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_7.0.0_1760267757691_0.30169204420463225","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"8.0.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@8.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"0db70043f9aa2cc512090916c8b37a9681a9900f","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-8.0.0.tgz","fileCount":8,"integrity":"sha512-9rw0H2zpDbV58rysxZVpiZ/3NCJCZ19b6saoai0ArCfeWLX8u5xWgTGWqEHZxeQuMqSizVGQNXEPCQ4d9THnSQ==","signatures":[{"sig":"MEUCIG/kAr3u6Q7ZrmY2eFnvJT9opGATNJwfQ5fa8xOix0XcAiEAgG6uqZefnmmrWLToafh4zCIJf9Ly7vLnZ7XjK6rgmHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47151},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"b452bdb4251a869fc28fbf45cb6916616651a876","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"11.6.2","description":"> **Production-ready, security-hardened date/time conversion for JSON APIs**   > Automatically converts ISO 8601 date strings in JSON responses into native Date objects — deeply, safely, and blazingly fast.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_8.0.0_1763832937408_0.3830368092641201","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"9.0.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@9.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"d3504c667397c612f6aca27456145360c4040160","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-9.0.0.tgz","fileCount":8,"integrity":"sha512-MYOhkLlpN8m9wNYd8OwsiIa3d7d1Nplg/FoDS2EXxlspnsZ4Awl6F91aMExgIBi2yYLYV9580qvA8LyS6vr1bQ==","signatures":[{"sig":"MEQCIHUYzgdlxU7uS9tqOYb+Je1LqSRJ6OJKaAat2Y6uCfO+AiB9UpNK7mWKZiy2DMer1LlLCwxN/Xq5j94GxDT/VtMHKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2fhierarchical-convert-to-date-fns@9.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47151},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c87e15be-aa5b-4ccb-acf3-3e87e2744179"}},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"11.6.2","description":"> **Production-ready, security-hardened date/time conversion for JSON APIs**   > Automatically converts ISO 8601 date strings in JSON responses into native Date objects — deeply, safely, and blazingly fast.","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_9.0.0_1767539366829_0.43570931023079273","host":"s3://npm-registry-packages-npm-production"}},"9.0.1":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"9.0.1","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@9.0.1","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"d0bc8a2d54b20c7e2f032db748df2709c72a77c7","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-9.0.1.tgz","fileCount":8,"integrity":"sha512-CNLEAXCM2+hnxkluC7t8fgMU325fP8Oci0LmFKVph4AvMthy3i9XbdTs6Kz/GQL/oZbZE12z0vumq7HLU1EwPA==","signatures":[{"sig":"MEQCIDlIsMjbtMmfUsDTCZygZWktIYetXVGAh2TwOMHNFxXxAiAA+ADlHZQ1wdziHTZ/b09aCkaEp+LZKY/+UmRTOuuiDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2fhierarchical-convert-to-date-fns@9.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47151},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c87e15be-aa5b-4ccb-acf3-3e87e2744179"}},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"11.6.2","description":"> **Production-ready, security-hardened date/time conversion for JSON APIs**   > Automatically converts ISO 8601 date strings in JSON responses into native Date objects — deeply, safely, and blazingly fast.","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_9.0.1_1767539923380_0.3207771422603385","host":"s3://npm-registry-packages-npm-production"}},"9.1.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"9.1.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@9.1.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"e6e35939d876ca28da8ca0427ce00ff0a6a1dc74","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-9.1.0.tgz","fileCount":8,"integrity":"sha512-kWyuZfq3a9EdyMfkhZKClWZyJ3NPTW7HK5Ij7OoV3r3VZcf4tPLF2rsInZu9ikAbDu8ZU0UDe1EO1haZ4xYCFQ==","signatures":[{"sig":"MEUCIQC0E21PStZIy4g+nEdmCCeSKX7Da+C7FkrTMftKIBDKWgIgIDx5PA0IKjMeME9/aTr7+ds9DWiDrgpu34lfPVCF6o8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2fhierarchical-convert-to-date-fns@9.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47151},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c87e15be-aa5b-4ccb-acf3-3e87e2744179"}},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"11.11.0","description":"> **Production-ready, security-hardened date/time conversion for JSON APIs**   > Automatically converts ISO 8601 date strings in JSON responses into native Date objects — deeply, safely, and blazingly fast.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_9.1.0_1775284646198_0.873291063010257","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"10.0.0","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@10.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"3b90979a2db3688b66d0e259f430117efeb662d8","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-10.0.0.tgz","fileCount":18,"integrity":"sha512-o5lE1EQ4AVt841r9XML0ANL8Fo+uIAe2pQL3XL2+FXEwoRaNThgxyFNpZ2NXfBjeZUNrXSPCdegMTdBMkPa5lg==","signatures":[{"sig":"MEUCIGSf0N89cFggetmxSrpL+lUxOBOeP2KGDi+Wn90LzgHPAiEArJ6zou+xnmx46W+kaiKfKvSrSu+L8QKvoTh5WByWv0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114674},"gitHead":"d939a562c5f5947e98df253b28d384399481063e","_npmUser":{"name":"adasko","email":"adaskothebeast@gmail.com"},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"11.16.0","description":"**The date-fns binding of [date-interceptors](https://github.com/AdaskoTheBeAsT/date-interceptors): hydrates ISO 8601 strings in JSON payloads into `Date` and date-fns `Duration` values, and plugs date-fns into the typewriter runtime.**","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.4.0","@adaskothebeast/typewriter-runtime":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_10.0.0_1785246878595_0.7523935432835922","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"10.0.1","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@10.0.1","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"d591f4beaccee118225bdd6631b649c89217cd92","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-10.0.1.tgz","fileCount":11,"integrity":"sha512-31iWs+e1/rrwhwZobuI4pOKkqO3yeSjLcJUg2QP3pSRetCGWUrpr4KCaU80O7n8lo2qZSOhOi7z6J4XaBDJMHw==","signatures":[{"sig":"MEYCIQCTzjO1dz7h04ZDnzBYjTM2UtTftHznF2sprLr6c9iSeQIhAP8BHL+9NFGYhQO5wy96kXGR3GxlP05QYjH+1tGLacI+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2fhierarchical-convert-to-date-fns@10.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31266},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c87e15be-aa5b-4ccb-acf3-3e87e2744179"}},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"11.16.0","description":"**The date-fns binding of [date-interceptors](https://github.com/AdaskoTheBeAsT/date-interceptors): hydrates ISO 8601 strings in JSON payloads into `Date` and date-fns `Duration` values, and plugs date-fns into the typewriter runtime.**","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.4.0","@adaskothebeast/typewriter-runtime":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_10.0.1_1785251992087_0.9087717675617548","host":"s3://npm-registry-packages-npm-production"}},"10.0.2":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"10.0.2","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@10.0.2","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"30ea0b053a3535c41bc0cc626ab53a98c5921b4d","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-10.0.2.tgz","fileCount":11,"integrity":"sha512-PDLOOPqVsvFYxEMd3YkB+7aeKrClZg4KumL8dWw0qYO2BSCo9DqqxjXb7YO1FJfCKW97PAq87q+B/5M4wNKMIQ==","signatures":[{"sig":"MEUCIBgndLoTSS4fjCl0JGkAa1Drj2CL7uzQwVELMs4l0PdYAiEAgjAuSOAKWZxfKQsrOPnidnNiydIuyYTj1CN04tao7KU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2fhierarchical-convert-to-date-fns@10.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31266},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c87e15be-aa5b-4ccb-acf3-3e87e2744179"}},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git"},"_npmVersion":"11.16.0","description":"**The date-fns binding of [date-interceptors](https://github.com/AdaskoTheBeAsT/date-interceptors): hydrates ISO 8601 strings in JSON payloads into `Date` and date-fns `Duration` values, and plugs date-fns into the typewriter runtime.**","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.8.1","date-fns":"^4.4.0","@adaskothebeast/typewriter-runtime":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_10.0.2_1785252314388_0.20842901213945808","host":"s3://npm-registry-packages-npm-production"}},"11.0.0":{"name":"@adaskothebeast/hierarchical-convert-to-date-fns","version":"11.0.0","keywords":["date-fns","date","duration","iso8601","converter","json","typescript"],"author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","_id":"@adaskothebeast/hierarchical-convert-to-date-fns@11.0.0","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors/tree/main/libs/hierarchical-convert-to-date-fns#readme","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"0d1ab07a4d0c5b41d8f9c6f1fbbc74bc2b247696","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-11.0.0.tgz","fileCount":13,"integrity":"sha512-H/W5D1OS+UhlnEjRBkwhwxf09kWBkx2M6Q5p2zX5BvuX3AOotNzndPSYsObhLaYyC+WGj4BD4jOR4eMmJuKPAA==","signatures":[{"sig":"MEQCIERMP/mIlELANe7D6HiUdsWkvYdMb2VK+M6EEHQ4VxUzAiBIpPVbVXEbUeor9jrAnUG1huIIe6Y2O2GoTHRWZZl0Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9YoUK4UFvgAnp+U0W5/JsXxRu6KRAwiX7tZuwKrmU0wIhALLSlgNHt958XOUcymgw7Rw+VStKHZ2Qkbe/DBKTk18k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2fhierarchical-convert-to-date-fns@11.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28726},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.esm.js","engines":{"node":">=22.12"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.esm.js"},"require":{"types":"./index.d.cts","default":"./index.cjs"}},"./package.json":"./package.json"},"gitHead":"23dc193eb4d8d834b51de51e1900225a26c143ff","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c87e15be-aa5b-4ccb-acf3-3e87e2744179"}},"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git","directory":"libs/hierarchical-convert-to-date-fns"},"_npmVersion":"11.19.0","description":"Deep, in-place conversion of ISO 8601 dates and durations in JSON payloads for date-fns, plus a date-fns backend for the Typewriter runtime.","directories":{},"sideEffects":false,"_nodeVersion":"26.10.0","dependencies":{"@adaskothebeast/hierarchical-convert-core":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"date-fns":"^4.4.0"},"_npmOperationalInternal":{"tmp":"tmp/hierarchical-convert-to-date-fns_11.0.0_1790551319890_0.08178891291258505","host":"s3://npm-registry-packages-npm-production"}},"11.0.1":{"_id":"@adaskothebeast/hierarchical-convert-to-date-fns@11.0.1","bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"dist":{"shasum":"17adc0e2c861e76f9c09e2749c766b03d143e83e","tarball":"https://registry.npmjs.org/@adaskothebeast/hierarchical-convert-to-date-fns/-/hierarchical-convert-to-date-fns-11.0.1.tgz","fileCount":13,"integrity":"sha512-eOYG9E4Dm0TnYWPuc39ws+GmkMGBXHmrdeTgwjlEooxwFdNE156oF6VPZGtCdegtaOPZ9oQF/Htg0fF8RvRlgw==","signatures":[{"sig":"MEUCIQDAUQmN59IoxkiYEzPucw8y8GsVYXD5a4r9EMSWn1KKowIgecmDM2aTQZYNWKj+d8is5FY0a1PAtsLwn8I4PzKtMS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD5Df4Ghx+1/6du0PPb4k9cUCDw1Xxetp0rOYFPXsj6BAIgO5+7Z9pLdEpGLPB+HVO2CkNe3ShVLMyLEU0lbJt6l0A="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaskothebeast%2fhierarchical-convert-to-date-fns@11.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27630},"main":"./index.cjs","name":"@adaskothebeast/hierarchical-convert-to-date-fns","type":"module","types":"./index.d.ts","author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"module":"./index.esm.js","engines":{"node":">=22.12"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.esm.js"},"require":{"types":"./index.d.cts","default":"./index.cjs"}},"./package.json":"./package.json"},"gitHead":"f9edf319c5e23bf1a17f5ec4eb8dac0008b9fd26","license":"MIT","version":"11.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c87e15be-aa5b-4ccb-acf3-3e87e2744179"}},"homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors/tree/main/libs/hierarchical-convert-to-date-fns#readme","keywords":["date-fns","date","duration","iso8601","converter","json","typescript"],"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git","directory":"libs/hierarchical-convert-to-date-fns"},"_npmVersion":"11.19.0","description":"Deep, in-place conversion of ISO 8601 dates and durations in JSON payloads for date-fns, plus a date-fns backend for the Typewriter runtime.","directories":{},"maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"sideEffects":false,"_nodeVersion":"26.10.0","dependencies":{"@adaskothebeast/hierarchical-convert-core":"^11.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"date-fns":"^4.4.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hierarchical-convert-to-date-fns_11.0.1_1790750035408_0.11199172949215153"}}},"time":{"created":"2023-07-22T17:11:30.844Z","modified":"2026-09-30T06:33:55.850Z","1.0.0":"2023-07-22T17:11:31.068Z","1.1.0":"2023-07-24T07:37:34.262Z","1.2.0":"2023-08-02T22:37:08.103Z","2.0.0":"2023-11-11T14:57:40.358Z","3.0.0":"2024-01-06T16:19:08.495Z","4.0.1":"2024-05-28T17:40:26.583Z","5.0.0":"2025-01-03T10:11:40.952Z","6.0.0":"2025-06-21T13:45:10.435Z","7.0.0":"2025-10-12T11:15:57.874Z","8.0.0":"2025-11-22T17:35:37.701Z","9.0.0":"2026-01-04T15:09:26.982Z","9.0.1":"2026-01-04T15:18:43.520Z","9.1.0":"2026-04-04T06:37:26.349Z","10.0.0":"2026-07-28T13:54:38.745Z","10.0.1":"2026-07-28T15:19:52.232Z","10.0.2":"2026-07-28T15:25:14.524Z","11.0.0":"2026-09-27T23:21:59.988Z","11.0.1":"2026-09-30T06:33:55.518Z"},"bugs":{"url":"https://github.com/AdaskoTheBeAsT/date-interceptors/issues"},"author":{"url":"https://github.com/adaskothebeast","name":"Adam Pluciński","email":"adaskothebeast@gmail.com"},"license":"MIT","homepage":"https://github.com/AdaskoTheBeAsT/date-interceptors/tree/main/libs/hierarchical-convert-to-date-fns#readme","keywords":["date-fns","date","duration","iso8601","converter","json","typescript"],"repository":{"url":"git+https://github.com/AdaskoTheBeAsT/date-interceptors.git","type":"git","directory":"libs/hierarchical-convert-to-date-fns"},"description":"Deep, in-place conversion of ISO 8601 dates and durations in JSON payloads for date-fns, plus a date-fns backend for the Typewriter runtime.","maintainers":[{"name":"adasko","email":"adaskothebeast@gmail.com"}],"readme":"# 🗓️ @adaskothebeast/hierarchical-convert-to-date-fns\n\n**The date-fns binding of [date-interceptors](https://github.com/AdaskoTheBeAsT/date-interceptors): hydrates ISO 8601 strings in JSON payloads into `Date` and date-fns `Duration` values, and plugs date-fns into the typewriter runtime.**\n\n[![npm](https://img.shields.io/npm/v/%40adaskothebeast%2Fhierarchical-convert-to-date-fns?color=cb3837&logo=npm)](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-date-fns)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\nPeer dependencies: `date-fns` and, for the backend export only, `@adaskothebeast/typewriter-runtime`. Runtime dependency: the dependency-free `@adaskothebeast/hierarchical-convert-core`.\n\n---\n\n## 📦 Install\n\n```bash\nnpm i @adaskothebeast/hierarchical-convert-to-date-fns date-fns\n```\n\nThe runtime peer is only needed for the `dateFnsDateBackend` export. If you use the schema stack, add it:\n\n```bash\nnpm i @adaskothebeast/typewriter-runtime\n```\n\n---\n\n## 🎯 What it does\n\nTwo independent tools ship in this package.\n\n**1. A blind traversal.** `hierarchicalConvertToDateFns` walks the arrays and plain objects of a parsed JSON graph and, without any schema, rewrites recognized strings in place: ISO date-times become `Date` (through date-fns `parseISO`), non-negative ISO durations become date-fns `Duration` objects. Prototype keys are skipped, cycles are visited once, and recursion is depth limited, so it is safe on untrusted bodies.\n\n**2. A schema-driven backend.** `dateFnsDateBackend` is a `DateBackend` (the interface from `@adaskothebeast/typewriter-runtime`): a `name` plus a map of `DateCodec` objects keyed by `DateSchemaKind`. Pass it as the `dateBackend` option to the typewriter runtime and every date-shaped schema node is hydrated and serialized with date-fns, with real errors on malformed wire values instead of silent guessing.\n\n---\n\n## 🧰 API\n\n### `hierarchicalConvertToDateFns(obj)`\n\n`(obj: unknown) => void`\n\nMutates `obj` and returns nothing. (Before 11.0.0 the signature also exposed internal `depth` and `visited` parameters.)\n\n### `dateFnsDateBackend`\n\nDeclared `satisfies DateBackend`, so `name` is `'date-fns'` and the `codecs` record is exactly:\n\n| Schema kind       | Value type | `parse` accepts                                    | `serialize` emits            |\n| ----------------- | ---------- | -------------------------------------------------- | ---------------------------- |\n| `instant`         | `Date`     | `YYYY-MM-DDTHH:mm[:ss[.sss]]` plus `Z` or `±HH:MM` | `toISOString()` (always UTC) |\n| `plain-date`      | `Date`     | `YYYY-MM-DD`                                       | `yyyy-MM-dd` (local fields)  |\n| `plain-date-time` | `Date`     | `YYYY-MM-DDTHH:mm[:ss[.sss]]`, no zone allowed     | `yyyy-MM-dd'T'HH:mm:ss.SSS`  |\n| `duration`        | `Duration` | ISO 8601 duration, fractions allowed (`.` or `,`)  | `P…T…`, `PT0S` when empty    |\n| `period`          | `Duration` | same codec object as `duration`                    | same as `duration`           |\n\nEvery codec also exposes `is(value)`: the three date codecs use date-fns `isDate` plus `isValid`, the duration codec accepts a plain object whose keys are a subset of `years`, `months`, `weeks`, `days`, `hours`, `minutes`, `seconds` and whose values are finite non-negative numbers.\n\n`plain-time`, `zoned-date-time`, `plain-year-month` and `plain-month-day` are intentionally absent, because a native `Date` cannot carry those semantics. The runtime falls back to its own handling for kinds a backend does not advertise.\n\n---\n\n## ⚡ Usage\n\nBlind hydration of a response body:\n\n```ts\nimport { hierarchicalConvertToDateFns } from '@adaskothebeast/hierarchical-convert-to-date-fns';\nimport type { Duration } from 'date-fns';\n\ninterface Booking {\n  startsAt: Date;\n  stay: Duration;\n}\n\nconst raw: unknown = JSON.parse(text);\nhierarchicalConvertToDateFns(raw);\nconst booking = raw as Booking;\nbooking.stay.days; // 4\n```\n\nSchema-driven hydration with the typewriter runtime:\n\n```ts\nimport { dateFnsDateBackend } from '@adaskothebeast/hierarchical-convert-to-date-fns';\nimport { createJsonSerializer, createJsonTransformer } from '@adaskothebeast/typewriter-runtime';\n\nconst toBooking = createJsonTransformer(bookingSchema, undefined, {\n  dateBackend: dateFnsDateBackend,\n  mode: 'strict',\n});\nconst toWire = createJsonSerializer(bookingSchema, undefined, {\n  dateBackend: dateFnsDateBackend,\n});\n\nconst booking = toBooking(await response.json());\nconst body = toWire(booking);\n```\n\nUsing a single codec directly, for example in a form adapter:\n\n```ts\nconst { instant } = dateFnsDateBackend.codecs;\ninstant.parse('2024-02-29T12:34:56.789+01:00'); // Date\ninstant.serialize(new Date('2024-02-29T11:34:56.789Z')); // '2024-02-29T11:34:56.789Z'\n```\n\n---\n\n## 🎛️ Options and configuration\n\n`hierarchicalConvertToDateFns` has no configuration. Recognition and traversal are shared with the other converters through `hierarchical-convert-core`; the full rules and a per-backend duration precision table are in the repository [conversion contract](https://github.com/AdaskoTheBeAsT/date-interceptors/blob/main/docs/conversion-contract.md#heuristic-date-conversion). In short:\n\n- Date-times: `YYYY-MM-DDTHH:mm:ss`, an optional one-to-nine-digit fraction (truncated to milliseconds), and an optional `Z` or `±HH:MM`, with calendar and clock validation.\n- Durations: integer `Y`, `M`, `W`, `D`, `H`, `M` components and seconds with up to nine fraction digits (`.` or `,`). Negative durations stay strings because date-fns `Duration` has no sign.\n- Only arrays and plain objects are entered, and the root plus 100 nested levels are walked.\n\nThe backend is configured entirely through the runtime option object (`dateBackend`), and `mode: 'strict'` is what turns codec `RangeError`s into reported failures rather than preserved raw values.\n\n---\n\n## 📤 Output examples\n\n`hierarchicalConvertToDateFns`:\n\n| Input                                       | After conversion                                                                             |\n| ------------------------------------------- | -------------------------------------------------------------------------------------------- |\n| `{ date: '2023-07-17T23:06:00.000Z' }`      | `{ date: Date('2023-07-17T23:06:00.000Z') }`                                                 |\n| `{ date: '2023-07-17T23:06:00.000+01:00' }` | `{ date: Date('2023-07-17T23:06:00.000+01:00') }`                                            |\n| `{ duration: 'P0D' }`                       | `{ duration: { years: 0, months: 0, weeks: 0, days: 0, hours: 0, minutes: 0, seconds: 0 } }` |\n| `{ duration: 'P4W' }`                       | `{ duration: { ..., weeks: 4, ... } }` (other fields `0`)                                    |\n| `{ duration: 'P1Y2M4DT2H3M2S' }`            | `{ duration: { years: 1, months: 2, weeks: 0, days: 4, hours: 2, minutes: 3, seconds: 2 } }` |\n| `['P1Y2M4DT2H3M2S', 'P1Y2M4DT2H3M2S']`      | both elements become `Duration` objects                                                      |\n| `{ text: 'adam' }`                          | untouched                                                                                    |\n\n`dateFnsDateBackend` codecs:\n\n```text\ninstant          '2024-02-29T12:34:56.789+01:00' -> Date  -> '2024-02-29T11:34:56.789Z'\nplain-date       '2024-02-29'                    -> Date  -> '2024-02-29'\nplain-date-time  '2024-02-29T12:34:56.789'       -> Date  -> '2024-02-29T12:34:56.789'\nduration         'P1Y2M3W4DT5H6M7.25S'           -> { years: 1, months: 2, weeks: 3, days: 4, hours: 5, minutes: 6, seconds: 7.25 }\nduration         'P0D'                           -> { days: 0 }              -> 'P0D'\nduration         {}                              ->                             'PT0S'\n```\n\n---\n\n## ⚠️ Edge cases\n\n- **Mutation in place.** The traversal returns `void` and rewrites your object; clone first (`structuredClone`) if you need the original strings.\n- **Only arrays and plain objects are entered (11.0.0).** Class instances, `Map`, `Set`, `Date`, and typed arrays are left untouched, so running the converter twice is a no-op. Frozen objects and read-only properties keep their strings instead of throwing.\n- **Prototype pollution is blocked.** Own `__proto__`, `constructor` and `prototype` keys are skipped and never entered.\n- **Cycles are safe**; shared references and cycles are visited once. Past the root plus 100 nested levels nothing is converted, silently.\n- **The traversal and the backend disagree about fractions on larger units.** Both accept fractional seconds (`PT7.25S`, `PT7,25S`), but only `dateFnsDateBackend.codecs.duration` accepts fractions on other components such as `P1.5D`; the traversal leaves those as strings.\n- **The traversal fills all seven duration fields with `0`**, while the codec sets only the components present on the wire (`P0D` becomes `{ days: 0 }`, not a full record). Do not compare the two shapes with strict deep equality.\n- **Degenerate durations stay strings.** Bare `P`, `PT`, and a trailing `T` such as `P1DT` are rejected. Human text starting with `P` is safe because it fails the pattern.\n- **Offset-less date-times use the local timezone**, matching the plain [`-date`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-date) package.\n- **Invalid dates stay strings.** Impossible calendar or clock values such as `2023-02-30T00:00:00Z` are rejected before date-fns sees them.\n- **Date-only strings are not touched by the traversal.** Use the schema stack with `plain-date` if your payload carries calendar dates.\n- **Negative durations are rejected by the backend.** `duration.parse('-P1D')` throws `RangeError: date-fns Duration does not support negative values`, `is({ days: -1 })` is `false` and `serialize({ days: -1 })` throws. date-fns has no sign on `Duration`.\n- **`duration.is({})` is `true`** (an empty key set satisfies the check) and `serialize({})` yields `PT0S`, so a stray empty object in a duration slot round-trips as a zero duration rather than failing.\n- **`instant` requires a zone, `plain-date-time` forbids one.** `instant.parse('2024-02-29T12:34:56')` and `plainDateTime.parse('2024-02-29T12:34:56Z')` both throw `RangeError`. `plain-date` rejects impossible calendar days such as `2024-02-30`. Bare `'P'` is rejected as a duration.\n- **`plain-date` and `plain-date-time` serialize local calendar fields** via date-fns `format`, so a `Date` created in one zone and formatted in another shifts. Keep those values as wall-clock data and never mix them with `instant`.\n- **`period` is the very same codec object as `duration`**, so a `period` node produces a date-fns `Duration`, not a calendar-only structure.\n\n---\n\n## 🔗 Related packages\n\n- Same traversal, other date libraries: [`-date`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-date), [`-dayjs`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-dayjs), [`-luxon`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-luxon), [`-moment`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-moment), [`-js-joda`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-js-joda), [`-temporal`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-temporal)\n- Other value kinds: [`-decimal`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-decimal), [`-uuid`](https://www.npmjs.com/package/@adaskothebeast/hierarchical-convert-to-uuid)\n- Schema stack: [`typewriter-schema`](https://www.npmjs.com/package/@adaskothebeast/typewriter-schema), [`typewriter-runtime`](https://www.npmjs.com/package/@adaskothebeast/typewriter-runtime), [`typewriter-http-angular`](https://www.npmjs.com/package/@adaskothebeast/typewriter-http-angular), [`typewriter-http-axios`](https://www.npmjs.com/package/@adaskothebeast/typewriter-http-axios), [`typewriter-http-fetch`](https://www.npmjs.com/package/@adaskothebeast/typewriter-http-fetch)\n- Transports: [`angular-date-http-interceptor`](https://www.npmjs.com/package/@adaskothebeast/angular-date-http-interceptor), [`axios-interceptor`](https://www.npmjs.com/package/@adaskothebeast/axios-interceptor), [`react-redux-toolkit-hierarchical-date-hook`](https://www.npmjs.com/package/@adaskothebeast/react-redux-toolkit-hierarchical-date-hook)\n\nFull matrix and recipes: [main README](https://github.com/AdaskoTheBeAsT/date-interceptors#readme).\n\n---\n\n## 📄 License\n\n[MIT](./LICENSE) © Adam Pluciński\n","readmeFilename":"README.md"}