{"_id":"codablejson","_rev":"15-2fda4ff9a406b218547a10480523d577","name":"codablejson","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.4":{"name":"codablejson","version":"0.1.4","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.4","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"73c557c6f4bc13800b4d2090b8480e5ca3bea56e","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.4.tgz","fileCount":55,"integrity":"sha512-a0dCvk6r16YHZteeKjHNFW7zcwBV4BkWJDMFh5YKlCXMXjiuhQRFlGD9gU3h9QjcMjGgl9bdDjI8+ndWlHx5hA==","signatures":[{"sig":"MEUCIBFQkpNfmXEfNvGhPyvMaucA8VHrX/rqr4oMknJcVDozAiEAkejDaCfg96ccZOgZayg4NW1/9AWxs24tfYVabTAMPBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317322},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"865cc2f214b324bd0729329c27b4cb7620ac7366","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"10.7.0","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"18.20.3","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.4_1762264200288_0.526949173014444","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"codablejson","version":"0.1.5","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.5","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"5dcc5cddf2df318072de4fb4ac0bd3f7fdbb60ab","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.5.tgz","fileCount":53,"integrity":"sha512-nktvd3la2Oc2CO50e6Jh1bm3hAm18T2QNYaBd0nrKwugx0El9WHjH0nyYHs3NwLT2DlF9St0yugv24E9QwWMHQ==","signatures":[{"sig":"MEUCIQCYtK0WgVshRQ+Y5WhQIsfFGbHhOGYEhmMdUEwKWwinqgIgFo6D+8zpDuKZkHJy6wpaxkvynHZZT1Mw0g7bEW0DxJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311559},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"6b8d51badb5d6ad60cd953b39ffc98fa228ea4d1","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"10.7.0","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"18.20.3","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.5_1762946834149_0.12866073732256855","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"codablejson","version":"0.1.6","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.6","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"8c9db7b02f1216334da573574ce5f555737aa04a","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.6.tgz","fileCount":53,"integrity":"sha512-t5/xF2Ta9n5jp7s4lFIj4XCxCJmAXH52A/ULL8HFyM3cV0a5HjlRWhtMopW1iHPCb5gK2BTGL5b6Enw8UOLPZA==","signatures":[{"sig":"MEUCIGcD8/v/kGpZrLu+nHqMTyObOj3MFFf6my536BehTCBnAiEA6XB7zfDWoIFGFPpjx9Ze7Dszk60rmLWfJy3PPUVtK5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311335},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"6b8d51badb5d6ad60cd953b39ffc98fa228ea4d1","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"10.7.0","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"18.20.3","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.6_1762947808800_0.2891965994270753","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"codablejson","version":"0.1.7","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.7","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"cec4a37586bf5de6e170feda9a2649245f3454e3","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.7.tgz","fileCount":53,"integrity":"sha512-1r3s3mugykpLlo/QUZH7gPzlLtfpSg6nGgrNpGlkaOWiFKFhWhSIX6qG/w776HRLwGbbOU2Nk5VCQEDu6592Mw==","signatures":[{"sig":"MEQCIFa6brt3lTcFcOQmJFl05RlUAg+1ncZY9gNQWSqrGPDzAiAZ+Be4tiMtAKtTkjnu4SMEcVazQ7mz1yZmfsiPt8SOrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311089},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"6b8d51badb5d6ad60cd953b39ffc98fa228ea4d1","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"10.7.0","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"18.20.3","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.7_1762950174853_0.947558827070579","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"codablejson","version":"0.1.8","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.8","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"4413eafb76881c337b02078c18b60cbf015facc7","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.8.tgz","fileCount":53,"integrity":"sha512-evSbpcp+Lxqz1IMnkg7Wkk53B/qEYVoDRWBLcCUXg4T6GN+DKchxMydUoHqb1neZAKu8PROJ9ysN19orIRFPEg==","signatures":[{"sig":"MEUCIQC2+wOV4BKuEKvCyn85rmKJtd/18Mez9Ahz7ZNUn6EGGgIgN8EfdXYsK3kl/k4uML7378MJ0haLnwo87Aqfh3L5X0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311165},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"6b8d51badb5d6ad60cd953b39ffc98fa228ea4d1","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"10.7.0","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"18.20.3","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.8_1762950976150_0.12130032038574345","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"codablejson","version":"0.1.9","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.9","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"16c0d0774b220891acd8a3f9ba007e207c8c7cac","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.9.tgz","fileCount":58,"integrity":"sha512-/IAggZhB35XihMnn6JTLNBTS6tTMW4uaWlqetvQRilqdWF2M5x3Ia36vWi4aOmMFewQruuqq8fCxEsALwbACbQ==","signatures":[{"sig":"MEUCIFYmgJIsWGucON3v2bTNnM3Q4BYObRq04EVXBZZXQyJjAiEAsgBzaBoRuUX3BGC9FXkDVrZW9/1zI7M9JIvm2JK9QjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329089},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"f167230192540765efd7e49fe058637c15449ff4","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"10.9.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.9_1762962589760_0.5494986476074257","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"codablejson","version":"0.1.10","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.10","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"0d910381fcd8d87ba47ba7a88c73aee29ef27c17","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.10.tgz","fileCount":58,"integrity":"sha512-2Dyg6o3ndFPhSytmamiMsV+4Fx6E0OIzCWMXI0XDCoLq8w3USXisKf9gMVSzD0UDgg+487HP8PEjNwJdzKLBMA==","signatures":[{"sig":"MEUCIFlBj05T9hAclvN+LqZbNUKUARNnq9qIEdZ4nPaOn9ilAiEA3yd+IwTXm3fu6GPGsNPXNsOQ3JBgYUaivLHiNFwXS4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329264},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"f167230192540765efd7e49fe058637c15449ff4","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","publish":"npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.10_1762964213262_0.5874666046556543","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"codablejson","version":"0.1.11","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.11","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"e21d31ab8392d5a4bbdbfe281d3aa112586ef6a3","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.11.tgz","fileCount":58,"integrity":"sha512-FSBqg4Oz9Pj9P75p9RUfpN1+Edri3Rog6tfzIIYrIjwbP4prfnfHvQ7RKbDz68c0FZJuOst+LbGZg04k50i5YA==","signatures":[{"sig":"MEQCIHO1EOB2ii1va5d76cg1v5vVEmEBfVTTGsebqCwViicAAiATqkpFELBpn03TBFP57mKBH0U7L4E5MXv1PLcQqIHEZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329402},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"0645d603d6de16be44293c802b6b0153145e3d38","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","publish":"npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.11_1762964446099_0.7989181323508345","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"codablejson","version":"0.1.12","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.12","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"4529b1e322ea821725ff0aa0210a51412385c0b5","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.12.tgz","fileCount":58,"integrity":"sha512-Ht7da5JFIRSC2EoBiTs4CXVrhYulre45igCf0NTvgXCewHlMkm5qv76+a5IIxfmx1vh/OFBv70GkbrDcQqzkRA==","signatures":[{"sig":"MEYCIQCnb2W9nKkQw0BsWIXC2EWFb2P7V0SNy304Lz4TTaZX1AIhAJOKvIt5VsVpZQpjB9e9kylLg9mVTTSXpS8wM/GPviED","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329260},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"4272d7175f33e2684ed9e6317f98d4c673296c54","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","publish":"npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.12_1762965262555_0.6438542947704136","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"codablejson","version":"0.1.13","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.13","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"6ecd8f91b83bd6edecdbc596bb6140049552f798","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.13.tgz","fileCount":58,"integrity":"sha512-WUbL1UgfglS3dc7aAkR0aoEnrlUSNMm+P6WHJi/3KCrLIQtZx76IhpldCqspv2K2cpUPJ7BcgcCKJp09jcfOnQ==","signatures":[{"sig":"MEQCIDQlC60cNZsu+4LadV+vDuaGNNnrL7GbvSfPcsYgX2XUAiBcHDBHmZvSShpt0H+co3or73boDoYTXiH5hNL727RlbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329000},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"4272d7175f33e2684ed9e6317f98d4c673296c54","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","publish":"npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.13_1762965764209_0.19201276332015915","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"codablejson","version":"0.1.14","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.14","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"7d48f5227e062d7e996fe5893661997185851d54","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.14.tgz","fileCount":67,"integrity":"sha512-g1t4G6vZKzHYm0gzE8/AyS9XG+mh896cDb4sSwY6jfbnEH53i1p9LnBDbM2b49Tn2+GZObzwvhpGGSsit/IhCQ==","signatures":[{"sig":"MEUCIFRfzIwap7lz2Vf+rbK3eDpJgxhi2keto5Y9kS9q6Wf9AiEA+en2m3K1VfJbPfrnnIgdRq71UkALxYjSdJQb5ADJL4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332870},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./superjson":{"types":"./dist/types/superjson.d.ts","import":"./dist/superjson.mjs","require":"./dist/superjson.cjs"}},"gitHead":"118672c99f50a020045911808d6395103b057c78","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","publish":"npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"optionalDependencies":{"superjson":"*"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.14_1762966904878_0.7305901718559038","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"codablejson","version":"0.1.15","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.15","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"9bdb6b2162c5a56695e6701901a5e05154d5b103","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.15.tgz","fileCount":67,"integrity":"sha512-M0Q8Kx0OEVU0AOD4M2WbnFTmJNXntAcy3r9L5jCwxv3rihlFUnMdDXcXSjZPh+6hYCRSlBOEHpGtIm/NIMW0GA==","signatures":[{"sig":"MEQCIDmOeTepJXm5tLsOts4P1wterkQjgeMKS5WH82IPx/uNAiBLz1NKt8bLzRUN2vv4zSAW21xWzr2pewiEWANrOMqrPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333162},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./superjson":{"types":"./dist/types/superjson.d.ts","import":"./dist/superjson.mjs","require":"./dist/superjson.cjs"}},"gitHead":"118672c99f50a020045911808d6395103b057c78","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","publish":"npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"optionalDependencies":{"superjson":"*"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.15_1762967050250_0.4101720102117745","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"codablejson","version":"0.1.16","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.16","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"f2eec7395b64e75983ecabe26ec9805245545f79","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.16.tgz","fileCount":67,"integrity":"sha512-nLVuaV9A/nVKefFso0re98B130wGpUZRr1/qHp6k541QFg0s+Fab/BJJVgYoW6pd0+KM4KVpqUdc4ufC2skx/A==","signatures":[{"sig":"MEYCIQDjWCrrMHwemZtK4wt41Nb5bjulVduca7Nr0kJGqrxAhwIhANB9zAzQoe0h7mLr/xLxyiDDaoYL8NRGufwOCc+1H3qe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333960},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./superjson":{"types":"./dist/types/superjson.d.ts","import":"./dist/superjson.mjs","require":"./dist/superjson.cjs"}},"gitHead":"fb8b21aa7a0fc61a1eb18c49de129a98e30c9885","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","publish":"npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"optionalDependencies":{"superjson":"*"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.16_1763116584931_0.7887274748928259","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"codablejson","version":"0.1.17","keywords":["json","serialization","typescript","date","bigint","map","set","regexp","symbol","circular-references","decorators","class-serialization","declarative-serialization","typed-arrays","url","error-serialization","reference-preservation","superjson-alternative","full-stack","nextjs","remix","api-serialization"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","_id":"codablejson@0.1.17","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"homepage":"https://github.com/pie6k/codablejson#readme","bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"dist":{"shasum":"4bb1ca9b83402a923e7c3caf079b106c3c47ca3c","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.1.17.tgz","fileCount":69,"integrity":"sha512-pfzratAF0mUWubjO9LkzsfU+Xd0u5YyzuV2W0W3NvJBQY9TgA1T6Zc95KShW22aYceCnRNVDQhhxtpTnmsVpFA==","signatures":[{"sig":"MEYCIQDtMOXmGn7EaoNhKHpVtmy2rQ6GRF8pmXqyZ7RCKIGTHgIhALgybJmveQ9ybGEo+xvq+Z1DrpIQKMLmQxrIp5PT6noT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338181},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./superjson":{"types":"./dist/types/superjson.d.ts","import":"./dist/superjson.mjs","require":"./dist/superjson.cjs"}},"gitHead":"4cc311a2d8e5e647d8ac1fe1ef1c23055b88ba98","scripts":{"test":"vitest","bench":"vitest bench tests/benchmark.bench.ts","build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","readme":"cp ../README.md ./README.md","release":"yarn build && npm publish","test:watch":"vitest --watch"},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"repository":{"url":"git+https://github.com/pie6k/codablejson.git","type":"git"},"_npmVersion":"11.6.2","description":"High-performance, type-safe JSON serialization library that extends JSON to support complex JavaScript types including Date, BigInt, Map, Set, RegExp, Symbol, typed arrays, circular references, and custom classes.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","jsdom":"^27.0.1","vitest":"^4.0.1","superjson":"^2.2.3","typescript":"^5.9.3","@types/node":"^24.9.1","@types/jsdom":"^27","@vitest/coverage-v8":"4.0.1"},"optionalDependencies":{"superjson":"*"},"_npmOperationalInternal":{"tmp":"tmp/codablejson_0.1.17_1763120815408_0.8689282855023768","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"codablejson","version":"0.2.0","description":"Serialize JavaScript Map, Date, Set, BigInt, and custom classes with JSON. Faster SuperJSON alternative with declarative TypeScript decorators. Handles circular references, typed arrays, and preserves all types.","type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./superjson":{"types":"./dist/types/superjson.d.ts","import":"./dist/superjson.mjs","require":"./dist/superjson.cjs"}},"keywords":["json","serialization","serialize","typescript","javascript","date","map","set","bigint","regexp","symbol","typed-arrays","circular-references","decorators","class-serialization","declarative-serialization","superjson-alternative","superjson","localstorage","sessionstorage","state-persistence","redux","mobx","zustand","nextjs","remix","game-development","game-state","save-game","deep-clone","reference-preservation","url","error-serialization","nan","infinity","api-serialization","full-stack"],"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pie6k/codablejson.git"},"bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"homepage":"https://github.com/pie6k/codablejson#readme","scripts":{"build":"vite build && tsc --emitDeclarationOnly","clean":"rm -rf dist","test":"vitest","test:watch":"vitest --watch","bench":"vitest bench tests/benchmark.bench.ts","readme":"cp ../README.md ./README.md","release":"yarn build && npm publish"},"devDependencies":{"@types/jsdom":"^27","@types/node":"^24.9.1","@vitest/coverage-v8":"4.0.1","jsdom":"^27.0.1","superjson":"^2.2.3","typescript":"^5.9.3","vite":"^5.0.0","vitest":"^4.0.1"},"optionalDependencies":{"superjson":"*"},"gitHead":"8be7bbd79999e3dd6320fa2e7a4c59765feeacbe","_id":"codablejson@0.2.0","_nodeVersion":"22.15.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-q0NusjLzeDiI78PBX5Yq0We2WcQCFZOY8w57ET3sMWB7zEmjp1s5WdPT25Czco+2NoHvToCsRyRvODYtFQFsZg==","shasum":"428cb6d5100487441fc1d62ef6e4eab4587240bd","tarball":"https://registry.npmjs.org/codablejson/-/codablejson-0.2.0.tgz","fileCount":71,"unpackedSize":346821,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCML+EGZxIgtLUQlrHffOAwtTs48p7J6oEqvJcGeGXKKAIgNSEeSIC0YxfzMiGIJF4WQ7IVDwb7BBiGmfRaEgRbIAc="}]},"_npmUser":{"name":"pie6k","email":"adam@pietrasiak.com"},"directories":{},"maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codablejson_0.2.0_1763415297794_0.5064179570228415"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-04T13:50:00.287Z","modified":"2025-11-17T21:34:59.065Z","0.1.4":"2025-11-04T13:50:00.482Z","0.1.5":"2025-11-12T11:27:14.409Z","0.1.6":"2025-11-12T11:43:28.985Z","0.1.7":"2025-11-12T12:22:55.023Z","0.1.8":"2025-11-12T12:36:16.356Z","0.1.9":"2025-11-12T15:49:49.934Z","0.1.10":"2025-11-12T16:16:53.519Z","0.1.11":"2025-11-12T16:20:46.262Z","0.1.12":"2025-11-12T16:34:22.780Z","0.1.13":"2025-11-12T16:42:44.439Z","0.1.14":"2025-11-12T17:01:45.092Z","0.1.15":"2025-11-12T17:04:10.478Z","0.1.16":"2025-11-14T10:36:25.128Z","0.1.17":"2025-11-14T11:46:55.641Z","0.2.0":"2025-11-17T21:34:58.013Z"},"bugs":{"url":"https://github.com/pie6k/codablejson/issues"},"author":{"name":"Adam Pietrasiak","email":"adam@pietrasiak.com"},"license":"MIT","homepage":"https://github.com/pie6k/codablejson#readme","keywords":["json","serialization","serialize","typescript","javascript","date","map","set","bigint","regexp","symbol","typed-arrays","circular-references","decorators","class-serialization","declarative-serialization","superjson-alternative","superjson","localstorage","sessionstorage","state-persistence","redux","mobx","zustand","nextjs","remix","game-development","game-state","save-game","deep-clone","reference-preservation","url","error-serialization","nan","infinity","api-serialization","full-stack"],"repository":{"type":"git","url":"git+https://github.com/pie6k/codablejson.git"},"description":"Serialize JavaScript Map, Date, Set, BigInt, and custom classes with JSON. Faster SuperJSON alternative with declarative TypeScript decorators. Handles circular references, typed arrays, and preserves all types.","maintainers":[{"name":"pie6k","email":"adam@pietrasiak.com"}],"readme":"# CodableJSON\n\nHigh-performance, no-dependencies, extensible, and declarative \"anything to/from JSON\" serializer.\n\n![npm](https://img.shields.io/npm/v/codablejson)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/codablejson)\n![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)\n![License](https://img.shields.io/badge/license-MIT-blue)\n\nThrow your data at it - [open playground](https://codablejson.com/playground/)\n\n[Read the docs](https://codablejson.com/docs)\n\n## Key Features\n\n- **📝 Declarative**: Modern decorators allowing you to mark \"what to serialize\", not \"how to serialize it\"\n- **🔌 Type-rich & Extensible**: By default handles almost every built-in JavaScript type. Easy to extend with custom handled types.\n- **⚡️ High-performance**: ~3x faster than SuperJSON ([see benchmark](https://codablejson.com/docs/performance))\n- **🔒 Type-safe**: Full TypeScript support with autocompletion and type inference\n- **🎯 Zero dependencies**: Fully standalone, no external dependencies. 7.3KB gziped.\n- **✅ Well tested**: Every feature is covered by tests. It passes most of SuperJSON tests moved into CodableJSON (including plenty of edge cases)\n- **🔄 Framework agnostic**: Works with any JavaScript/TypeScript project\n- **🛡️ Secure**: Built-in protection against prototype pollution\n\n# Installation\n\n```bash\nnpm install codablejson\nyarn add codablejson\npnpm add codablejson\n```\n\n# Quick start\n\n## JSON Serialization\n\nExtend JSON to handle JavaScript types that JSON can't serialize:\n\n```typescript\nimport { encode, decode } from \"codablejson\";\n\nconst data = {\n  date: new Date(\"2025-01-01\"),\n  set: new Set([\"a\", \"b\", \"c\"]),\n  map: new Map([[\"key\", \"value\"]]),\n  bigint: BigInt(\"1234567890123456789\"),\n  regex: /hello/gi,\n  url: new URL(\"https://example.com\"),\n};\n\nconst encoded = encode(data);\n// {\n//   date: { $$Date: \"2025-01-01T00:00:00.000Z\" },\n//   set: { $$Set: [\"a\", \"b\", \"c\"] },\n//   map: { $$Map: [[\"key\", \"value\"]] },\n//   bigint: { $$BigInt: \"1234567890123456789\" },\n//   regex: { $$RegExp: \"/hello/gi\" },\n//   url: { $$URL: \"https://example.com/\" }\n// }\n\nconst decoded = decode(encoded);\n// decoded.date instanceof Date === true\n// decoded.set instanceof Set === true\n// All types preserved!\n```\n\n## Declarative Class Serialization\n\nEliminate the dual-format problem with modern decorators\n\n### What declarative means here?\n\nIt means you mark \"what to serialize\", not \"how to serialize it\"\n\n```typescript\nimport { codableClass, codable, Coder } from \"codablejson\";\n\n@codableClass(\"Player\")\nclass Player {\n  @codable() name: string;\n  @codable() score: number;\n\n  // Note: constructor is not needed for CodableJSON to work, it is here for convenience of creating instances.\n  constructor(data: Pick<Player, \"name\" | \"score\">) {\n    this.name = data.name;\n    this.score = data.score;\n  }\n}\n\n@codableClass(\"GameState\")\nclass GameState {\n  @codable() players: Set<Player> = new Set();\n  @codable() createdAt = new Date();\n  @codable() activePlayer: Player | null = null;\n\n  addPlayer(player: Player) {\n    this.players.add(player);\n    this.activePlayer = player;\n  }\n}\n\n// Create a custom coder instance\nconst coder = new Coder([GameState]);\n\n// Use your classes naturally\nconst gameState = new GameState();\ngameState.addPlayer(new Player({ name: \"Alice\", score: 100 }));\n\n// Serialize directly - no conversion logic needed!\nconst encoded = coder.encode(gameState);\nconst decoded = coder.decode<GameState>(encoded);\n// All types, references, and circular dependencies preserved!\n```\n\nNote: for classes to be automatically serialized, they need to have memberwise constructor (eg the same way like Swift `Codable` structs work). Read more about it [here](https://codablejson.com/docs/declarative-serialization/memberwise-constructor).\n\n# Built-in Types\n\nCodableJSON automatically handles JavaScript types that standard JSON cannot serialize:\n\n| JavaScript Type   | Example Output                                       |\n| ----------------- | ---------------------------------------------------- |\n| `Date`            | `{ $$Date: \"2025-01-01T00:00:00.000Z\" }`             |\n| `BigInt`          | `{ $$BigInt: \"1234567890123456789\" }`                |\n| `Set`             | `{ $$Set: [\"a\", \"b\", \"c\"] }`                         |\n| `Map`             | `{ $$Map: [[\"key\", \"value\"]] }`                      |\n| `RegExp`          | `{ $$RegExp: \"/hello/gi\" }`                          |\n| `Symbol`          | `{ $$Symbol: \"test\" }`                               |\n| `URL`             | `{ $$URL: \"https://example.com/\" }`                  |\n| `URLSearchParams` | `{ $$URLSearchParams: \"foo=bar&baz=qux\" }`           |\n| `Error`           | `{ $$Error: \"Something went wrong\" }`                |\n| `undefined`       | `\"$$undefined\"`                                      |\n| Typed Arrays      | `{ $$uint8array: [1, 2, 3] }`                        |\n| Special Numbers   | `\"$$NaN\"`, `\"$$Infinity\"`, `\"$$-Infinity\"`, `\"$$-0\"` |\n\n[Read more about supported types →](https://codablejson.com/docs/json-serialization/supported-types)\n\nOf course, you can extend it with custom types.\n\n# Performance\n\nCodableJSON is heavily optimized for performance:\n\n- **Encoding**: ~3-3.5x faster than SuperJSON across all data sizes and types\n- **Decoding**: Comparable to or faster than SuperJSON depending on the data type\n\n[View detailed benchmarks →](https://codablejson.com/docs/performance)\n\n# API Overview\n\n## Core Functions\n\n```typescript\nimport { encode, decode, stringify, parse, clone } from \"codablejson\";\n\n// Basic encoding/decoding\nconst encoded = encode(data);\nconst decoded = decode(encoded);\n\n// With JSON stringification\nconst jsonString = stringify(data);\nconst restored = parse(jsonString);\n\n// Deep clone maintaining all types and references equality\nconst foo = { foo: \"foo\" };\nconst original = [foo, foo];\nconst cloned = clone(original);\n// cloned === original; // false\n// cloned[0] === original[0]; // false -> nested clone\n// cloned[0] === cloned[1]; // true -> reference equality is preserved\n```\n\n## Declarative Class Serialization\n\n```typescript\nimport { codableClass, codable, Coder } from \"codablejson\";\n\n@codableClass(\"MyClass\")\nclass MyClass {\n  @codable() property: string;\n}\n\nconst coder = new Coder([MyClass]);\nconst encoded = coder.encode(instance);\nconst decoded = coder.decode<MyClass>(encoded);\n```\n\n## Custom Types\n\nYou can also use lower-level API to create custom types and encode/decode them manually.\n\n```typescript\nimport { codableType, Coder } from \"codablejson\";\n\nconst $$custom = codableType(\n  \"CustomType\", // name of the type\n  (value) => value instanceof CustomType, // how to detect some value should be encoded using this type\n  (instance) => instance.data, // how to encode the value (might return rich data like `Map` or `Set`, or even other custom types)\n  (data) => new CustomType(data), // how to recreate the value from the encoded data\n);\n\nconst coder = new Coder([$$custom]);\n// or\nconst coder = new Coder();\ncoder.register($$custom);\n```\n\n# Security\n\nCodableJSON includes built-in security measures:\n\n- **Prototype Pollution Protection**: Automatically filters dangerous properties (`constructor`, `__proto__`, `prototype`)\n- **Safe Object Creation**: Creates objects without modifying prototypes\n- **Format Safety**: Automatic collision detection and escaping\n\n[Read more about security features →](https://codablejson.com/docs/security)\n\n# Comparisons\n\n## Benchmark vs SuperJSON\n\nYou can run these benchmarks yourself by downloading the repository and running `yarn codablejson bench`. The benchmark code is available in [`benchmark.bench.ts`](https://github.com/adam/codablejson/blob/main/codablejson/tests/benchmark.bench.ts).\n\n### Plain JSON Data (6MB)\n\n| Operation  | Preserve refs                      | Copy refs                          |\n| ---------- | ---------------------------------- | ---------------------------------- |\n| **Encode** | 🟢 **3.68x faster** than SuperJSON | 🟢 **6.85x faster** than SuperJSON |\n| **Decode** | 🟢 **1.29x faster** than SuperJSON | 🟢 **1.28x faster** than SuperJSON |\n\n### Complex Data Structures\n\nIt includes deeply nested objects, with repeating references, `Sets`, `Maps`, and `Dates`\n\n| Dataset     | Encode              |                     | Decode              |                     |\n| ----------- | ------------------- | ------------------- | ------------------- | ------------------- |\n|             | **Preserve refs**   | **Copy refs**       | **Preserve refs**   | **Copy refs**       |\n| **Small**   | 🟢 **3.89x faster** | 🟢 **6.98x faster** | 🟢 **1.68x faster** | 🟢 **1.66x faster** |\n| **Average** | 🟢 **4.20x faster** | 🟢 **5.06x faster** | 🟢 **1.16x faster** | 🟢 **1.05x faster** |\n| **Large**   | 🟢 **4.01x faster** | 🟢 **7.54x faster** | 🟢 **1.19x faster** | 🟢 **1.83x faster** |\n| **Huge**    | 🟢 **4.08x faster** | 🟢 **6.43x faster** | 🟢 **1.31x faster** | 🟢 **2.37x faster** |\n\nBenchmark was run on a MacBook Pro M3 Max with 128GB of RAM.\n\n## Migration from SuperJSON\n\nFor simple JSON serialization, CodableJSON is almost a drop-in replacement for SuperJSON.\n\nFor custom types, please read about [custom types](https://codablejson.com/docs/json-serialization/custom-types) in JSON Serialization section.\n\n```typescript\n// Before\nimport { stringify, parse } from \"superjson\";\nconst serialized = stringify(data);\nconst deserialized = parse(serialized);\n\n// After\nimport { stringify, parse } from \"codablejson\";\nconst serialized = stringify(data);\nconst deserialized = parse(serialized);\n```\n\n[Read complete comparison guide →](https://codablejson.com/docs/comparisons)\n\n# Documentation\n\n- **[Quick Start](https://codablejson.com/docs)** - Get up and running quickly\n- **[JSON Serialization](https://codablejson.com/docs/json-serialization)** - Handle complex JavaScript types\n- **[Declarative Serialization](https://codablejson.com/docs/declarative-serialization)** - Serialize classes with decorators\n- **[Performance](https://codablejson.com/docs/performance)** - Benchmark results and optimization\n- **[Security](https://codablejson.com/docs/security)** - Security features and best practices\n- **[Recipes](https://codablejson.com/docs/recipes)** - Real-world examples and integrations\n\n# Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n# License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","readmeFilename":"README.md"}