{"_id":"@bepalo/rjson","_rev":"10-acd5a219ede69608dac54fbcb06211f3","name":"@bepalo/rjson","dist-tags":{"latest":"2.2.12"},"versions":{"1.0.0":{"name":"@bepalo/rjson","version":"1.0.0","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":{"name":"Natnael Eshetu"},"license":"MIT","_id":"@bepalo/rjson@1.0.0","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","bugs":{"url":"https://github.com/bepalo/rjson/issues"},"dist":{"shasum":"066ffb530c2c47a25156a7905962140760409fe4","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.0.tgz","fileCount":21,"integrity":"sha512-r1i48mAW3FXVr0uSGWtU1jGeQLawLMXKITg9LJAmQ9XQrLBYwbavMlA+gIAXu2WQ51B0NWc1c84QTwz9lA6/og==","signatures":[{"sig":"MEUCIQCYfF6mY7aq7g+5nxpluJBoe+1RkM1EmgRqa26afnhriAIgBIguRUjtFEASkrszeBgOkkuZyLfh6b1IIc05fv3VKMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103636},"main":"./dist/cjs/index.js","_from":"file:bepalo-rjson-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"},"_resolved":"/tmp/3364da89d436ce8d97e48478b56168e8/bepalo-rjson-1.0.0.tgz","_integrity":"sha512-r1i48mAW3FXVr0uSGWtU1jGeQLawLMXKITg9LJAmQ9XQrLBYwbavMlA+gIAXu2WQ51B0NWc1c84QTwz9lA6/og==","repository":{"url":"git+https://github.com/bepalo/rjson.git","type":"git"},"_npmVersion":"11.11.0","description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@bepalo/jwt":"^2.0.9","@bepalo/time":"^1.2.11","@bepalo/cache":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.0_1780406041560_0.07765492127818185","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bepalo/rjson","version":"1.0.4","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":{"name":"Natnael Eshetu"},"license":"MIT","_id":"@bepalo/rjson@1.0.4","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","bugs":{"url":"https://github.com/bepalo/rjson/issues"},"dist":{"shasum":"47c59b27fc20a1e91f49707f445b08d026f54365","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.4.tgz","fileCount":12,"integrity":"sha512-xLQQomk/tM957eINzbXIbNFdItF0CIwwpmKOuNKguOxFwcSKGtvG1K0N9JB/+9313ntcAnwmrryq5fvnsPlmJQ==","signatures":[{"sig":"MEQCIGAhqAVMiVvNCq9e4UFanc4xrgejMvKba9+fEpv9Gi6vAiAUm3ybZoCoQUDyELZXp8ouUqe49W63Q/c1SNBs0D/oPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100419},"main":"./dist/cjs/index.js","_from":"file:bepalo-rjson-1.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"},"_resolved":"/tmp/0ff22ae77f45405f9a998339bbaa83ab/bepalo-rjson-1.0.4.tgz","_integrity":"sha512-xLQQomk/tM957eINzbXIbNFdItF0CIwwpmKOuNKguOxFwcSKGtvG1K0N9JB/+9313ntcAnwmrryq5fvnsPlmJQ==","repository":{"url":"git+https://github.com/bepalo/rjson.git","type":"git"},"_npmVersion":"10.9.8","description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@bepalo/jwt":"^2.0.9","@bepalo/time":"^1.2.11","@bepalo/cache":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.4_1780409302536_0.10425655669509237","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bepalo/rjson","version":"1.0.5","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":{"name":"Natnael Eshetu"},"license":"MIT","_id":"@bepalo/rjson@1.0.5","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","bugs":{"url":"https://github.com/bepalo/rjson/issues"},"dist":{"shasum":"a219083cf44ff8241237b996df8e9fe925e43729","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.5.tgz","fileCount":12,"integrity":"sha512-AbJdmJL6W04jp9hrYitsUf5CZACQn9PPp6eK0OrjlopvsuYsHTRaelnUPmZXr6NSvp0+m4AGJpkalTfbCQsJlQ==","signatures":[{"sig":"MEUCIQCkb1MwOBfkpdjzQ2/6nIZEkEXHvHlz8jj01InhA5FOHwIgDGPMIzvCGSpLJsWFqBYiILAk8p3jKxJVpX2FRiz5yPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100419},"main":"./dist/cjs/index.js","_from":"file:bepalo-rjson-1.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"},"_resolved":"/tmp/5ddce891055612a018520a6285330686/bepalo-rjson-1.0.5.tgz","_integrity":"sha512-AbJdmJL6W04jp9hrYitsUf5CZACQn9PPp6eK0OrjlopvsuYsHTRaelnUPmZXr6NSvp0+m4AGJpkalTfbCQsJlQ==","repository":{"url":"git+https://github.com/bepalo/rjson.git","type":"git"},"_npmVersion":"10.9.8","description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@bepalo/jwt":"^2.0.9","@bepalo/time":"^1.2.11","@bepalo/cache":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.5_1780409669974_0.9662877139368242","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bepalo/rjson","version":"1.0.6","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":{"name":"Natnael Eshetu"},"license":"MIT","_id":"@bepalo/rjson@1.0.6","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","bugs":{"url":"https://github.com/bepalo/rjson/issues"},"dist":{"shasum":"4ff39e7a2819875b8ead5c4f228ca73b7f7897f5","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.6.tgz","fileCount":12,"integrity":"sha512-aBHOsDnCaMNCi3U2VlBJQl+z7t7RUlROl+QWVNIDpduFS4bpzYsxxkJGDpSvqHqzHgfYaw4voKgGGwK7o8hxJQ==","signatures":[{"sig":"MEUCIQCwuE6pPQz33Bm6zCCGV26cT1eb0/L267AOlc6yoNf3OwIgHkI+Njv3XavN93QWW2xeJ+pxlmQ3qrc1W1Fthyinbvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100419},"main":"./dist/cjs/index.js","_from":"file:bepalo-rjson-1.0.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"},"_resolved":"/tmp/9a778de8b2291fe324dffdbfc9685be7/bepalo-rjson-1.0.6.tgz","_integrity":"sha512-aBHOsDnCaMNCi3U2VlBJQl+z7t7RUlROl+QWVNIDpduFS4bpzYsxxkJGDpSvqHqzHgfYaw4voKgGGwK7o8hxJQ==","repository":{"url":"git+https://github.com/bepalo/rjson.git","type":"git"},"_npmVersion":"10.9.8","description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@bepalo/jwt":"^2.0.9","@bepalo/time":"^1.2.11","@bepalo/cache":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.6_1780410106603_0.6077947154815597","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@bepalo/rjson","version":"1.0.7","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":"Natnael Eshetu","license":"MIT","_id":"@bepalo/rjson@1.0.7","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","dist":{"shasum":"f356a7ba0c0976aaf537948dbeedee04bb50f988","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.7.tgz","fileCount":12,"integrity":"sha512-rFGIOpPp3aBpezLg1yC27ZoPcAFlD3ozHCHYaVk8TXGSlkvKWPWUBM8oGmusgNCrFsRylfeDVvVkNzCmwVT7Zw==","signatures":[{"sig":"MEUCIBIzxXUOynrk2ZxnKrV6SPy6xhfCWqPvQSfzXJFDC8XTAiEA5cXfWvjI0c8HVFQoXH5dEpuC2lWRzEnx/c9M5/tze+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100304},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bc8a0fd0-53be-48df-8f94-366fa75942ed"}},"repository":{"url":"https://github.com/bepalo/rjson.git","type":"git"},"description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.7_1780433270878_0.777506830927007","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@bepalo/rjson","version":"1.0.8","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":"Natnael Eshetu","license":"MIT","_id":"@bepalo/rjson@1.0.8","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","dist":{"shasum":"1be02b786f47783357e35731b9100b4922f904a4","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.8.tgz","fileCount":12,"integrity":"sha512-cpG71xfGLDhL+tCxE7G4JuodNoJzx5gwr/xxJxrST68MPzGDYn33ubNZ7GRHYrcoZQq74+Dec0RIrr5f7WmiKw==","signatures":[{"sig":"MEQCIGNVTYyjvYwXJ1Z5f7hHbRGo+Pn/pMqY0iLXPWSCVu49AiBV1e9dmkCtjHqFmZyM7KIs0uzozgAD+md9pF/l4tCTRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100332},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bc8a0fd0-53be-48df-8f94-366fa75942ed"}},"repository":{"url":"https://github.com/bepalo/rjson.git","type":"git"},"description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.8_1780434468555_0.2607220664279928","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@bepalo/rjson","version":"1.0.9","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":"Natnael Eshetu","license":"MIT","_id":"@bepalo/rjson@1.0.9","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","dist":{"shasum":"7a3439cef670797296befb934f71f47920e4cc4c","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.9.tgz","fileCount":12,"integrity":"sha512-lpEUrqPqpNhg5WpmXDYkq5WTCX76x3i7d4DLU+d7PSX+SJjnxgYS/iwagFEJujhoD4eTynqhnWfTh4Gk9BVdYw==","signatures":[{"sig":"MEUCIQDmvm7v4y/0OANB7W234aMJs3OZ/h7eZgz8mL5s1XrL1gIgdJDXMarmz6LHsfo0R9XyQlVXzI5EbCeAROQUQwRsTAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120917},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bc8a0fd0-53be-48df-8f94-366fa75942ed"}},"repository":{"url":"https://github.com/bepalo/rjson.git","type":"git"},"description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.9_1780579367912_0.019461162654360598","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@bepalo/rjson","version":"1.0.10","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":"Natnael Eshetu","license":"MIT","_id":"@bepalo/rjson@1.0.10","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","dist":{"shasum":"cc3ff83c43eb2c3534154144e92bf79b49968770","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-1.0.10.tgz","fileCount":12,"integrity":"sha512-wyynb0GhX98sklytBOmqfcGIIwkvY9lNCG3VrH985xbNG0/bPo6k8CeoBn6zKKT+Z65kqGTqDz8Nj54+xm+sFQ==","signatures":[{"sig":"MEQCIEWXe2YkLVZ51xwGhVNATdpgB1gcwGsI7ub5B7Cg3H3kAiAykjCwR1I/XyMtVDH2e50eFK+/PnjgJQZ812s1uzPqgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@1.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":123275},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bc8a0fd0-53be-48df-8f94-366fa75942ed"}},"repository":{"url":"https://github.com/bepalo/rjson.git","type":"git"},"description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_1.0.10_1780582635154_0.9266480884137329","host":"s3://npm-registry-packages-npm-production"}},"2.1.11":{"name":"@bepalo/rjson","version":"2.1.11","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"author":"Natnael Eshetu","license":"MIT","_id":"@bepalo/rjson@2.1.11","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"homepage":"https://github.com/bepalo/rjson#readme","dist":{"shasum":"2648b9cc9e5db8ede85028203a1c2ab13096ea0a","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-2.1.11.tgz","fileCount":12,"integrity":"sha512-rHZcxSZz+docM00tJbZk2dGpkdTYAbwENHdxHswYjdgDM/Pp1HsqVDB+IwSKIpiujs3S5lhIFuT1glihOZg2dA==","signatures":[{"sig":"MEUCIE5CuGUUwLlswqw1iYUs10x2fGkRvRh2fwRx8/SgAXO9AiEAwfq29MMJwT+iHgBWFcSsx/e5nHHs5P313N2eezGIP4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@2.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":194761},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"scripts":{"test":"vitest --reporter=dot","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","build:cjs":"tsc --project tsconfig.cjs.json","build:esm":"tsc --project tsconfig.esm.json","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bc8a0fd0-53be-48df-8f94-366fa75942ed"}},"repository":{"url":"https://github.com/bepalo/rjson.git","type":"git"},"description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.3.8","typescript":"^5.8.3","@types/node":"^24.0.13","concurrently":"^9.2.1","vitest-markdown-reporter":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/rjson_2.1.11_1780664179576_0.47072730624651915","host":"s3://npm-registry-packages-npm-production"}},"2.2.12":{"name":"@bepalo/rjson","version":"2.2.12","description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","author":"Natnael Eshetu","license":"MIT","repository":{"type":"git","url":"https://github.com/bepalo/rjson.git"},"homepage":"https://github.com/bepalo/rjson#readme","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./src":{"import":"./src/index.ts"},"./src/*":{"import":"./src/*"}},"main":"./dist/cjs/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","devDependencies":{"@types/bun":"^1.3.8","@types/node":"^24.0.13","concurrently":"^9.2.1","typescript":"^5.8.3","vitest":"^3.2.4","vitest-markdown-reporter":"^0.1.2"},"keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"scripts":{"build:esm":"tsc --project tsconfig.esm.json","build:cjs":"tsc --project tsconfig.cjs.json","build":"concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"","build:watch":"concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\"","test":"vitest --reporter=dot","test:ci":"vitest run --reporter=vitest-markdown-reporter --outputFile=test-result.md","benchmark:node":"node benchmark/index.js","benchmark:bun":"bun benchmark/index.js"},"_nodeVersion":"22.23.1","_id":"@bepalo/rjson@2.2.12","dist":{"integrity":"sha512-tzFt9y/2VDumMR3/GmVuyiq6UWJpq2C1SKFeV55vKRjQflWDjyHT1Rdj1PnFKnVeBWELFl8uW8gXqWKTw4ZtJw==","shasum":"079fd51c5cb9bca398f144bc533c4f6ca2fda536","tarball":"https://registry.npmjs.org/@bepalo/rjson/-/rjson-2.2.12.tgz","fileCount":12,"unpackedSize":192014,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bepalo%2frjson@2.2.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD5JNs/KIn7xRjCvEgv/CVWELXNl6VNhm+zdgniOcBqDAIgN7FaJrTgORKwjcLabPs05Tfcz2aoN6BHo3AM1fZLNqc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bc8a0fd0-53be-48df-8f94-366fa75942ed"}},"directories":{},"maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rjson_2.2.12_1785798751748_0.4914038983967639"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-02T13:14:01.218Z","modified":"2026-08-03T23:12:32.200Z","1.0.0":"2026-06-02T13:14:01.684Z","1.0.4":"2026-06-02T14:08:22.670Z","1.0.5":"2026-06-02T14:14:30.123Z","1.0.6":"2026-06-02T14:21:46.748Z","1.0.7":"2026-06-02T20:47:51.041Z","1.0.8":"2026-06-02T21:07:48.706Z","1.0.9":"2026-06-04T13:22:48.068Z","1.0.10":"2026-06-04T14:17:15.321Z","2.1.11":"2026-06-05T12:56:19.700Z","2.2.12":"2026-08-03T23:12:31.896Z"},"author":"Natnael Eshetu","license":"MIT","homepage":"https://github.com/bepalo/rjson#readme","keywords":["parser","RJSON","JSON","fetch","REST","URL","query"],"repository":{"type":"git","url":"https://github.com/bepalo/rjson.git"},"description":"A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.","maintainers":[{"name":"nati-esh-nez","email":"the.defalt8@gmail.com"}],"readme":"# 🏆 @bepalo/rjson\n\n![hero](./assets/hero.png)\n\n[![npm version](https://img.shields.io/npm/v/@bepalo/rjson.svg)](https://www.npmjs.com/package/@bepalo/rjson)\n[![CI](https://img.shields.io/github/actions/workflow/status/bepalo/rjson/ci.yaml?label=ci)](https://github.com/bepalo/rjson/actions/workflows/ci.yaml)\n[![tests](https://img.shields.io/github/actions/workflow/status/bepalo/rjson/testing.yaml?label=tests)](https://github.com/bepalo/rjson/actions/workflows/testing.yaml)\n[![license](https://img.shields.io/npm/l/@bepalo/rjson.svg)](LICENSE)\n\n<!-- ![Benchmarked](https://img.shields.io/badge/benchmarked-yes-green) -->\n\n[![Vitest](https://img.shields.io/badge/vitest-6E9F18?style=for-the-badge&logo=vitest&logoColor=white)](test-result.md)\n\n**A compact, URL-friendly serialization format that is smaller than JSON while remaining human-readable and fast to parse.**\n\nRJSON (Remote JavaScript Object Notation) is a specification and implementation inspired by RISON and it was originally designed for better frontend-to-backend communication via search parameters.\n\n## 🎯 Why RJSON?\n\nJSON is an excellent interchange format, but:\n\n- It is not as compressed as it can be\n- It is not url friendly\n- It cannot represent several JavaScript runtime values: `undefined` `NaN` `Infinity` `-Infinity` `-0`\n\nRJSON preserves these values while remaining compact, human-readable, and URL-friendly.\n\n```ts\nconst value = {\n  active: true,\n  deletedAt: undefined,\n  score: NaN,\n  \"limit.upper\": Infinity,\n  \"limit.lower\": -Infinity,\n};\n\nconst text = RJSON.stringify(value);\n```\n\nOutput:\n\n```txt\n(active:T,deletedAt:U,score:X,limit.upper:I,limit.lower:-I)\n```\n\n## ✨ Features\n\n- ⚡ Fast parser with direct character scanning (recursive descent parsing).\n- 📦 Smaller than JSON for many real-world payloads\n- 🌐 URL-friendly syntax\n- 🧩 Supports objects, arrays, strings, numbers, booleans\n- 🔐 Supports `null`, `undefined`, `-0`, `NaN`, `Infinity`, `-Infinity`\n- 🗜️ Built-in mapped-array compression `~T(id,title,body)~` -> `{ id:true, title:true, body:true }`\n- 🔄 Value-preserving roundtrip. `RJSON.parse(RJSON.stringify(value))` preserves JavaScript value semantics.\n- 📝 Tagged template support\n- ☑️ Whitespace support (starting from v2.1.11)\n- 🚀 Runtime agnostic (Node.js, Bun, Deno, Browser)\n- 🟦 TypeScript ready\n- 🔧 Zero dependencies\n\n## 📑 Table of Contents\n\n- [🎯 Why RJSON?](#-why-rjson)\n- [✨ Features](#-features)\n- [🚀 Get Started](#-get-started)\n  - [📥 Installation](#-installation)\n- [📦 Quick Start](#-quick-start)\n  - [Parse RJSON](#parse-rjson)\n  - [Stringify Objects](#stringify-objects)\n  - [Stringify arrays](#stringify-arrays)\n  - [Stringify mapped-arrays](#stringify-mapped-arrays)\n  - [Tagged Template Helper](#tagged-template-helper)\n- [🔧 Performance](#-performance)\n- [📚 Syntax Overview](#-syntax-overview)\n- [📚 Core Types](#-core-types)\n  - [Objects](#objects)\n  - [Arrays](#arrays)\n  - [Nested Structures](#nested-structures)\n  - [Strings](#strings)\n  - [Numbers](#numbers)\n  - [Booleans](#booleans)\n  - [Null](#null)\n  - [Undefined](#undefined)\n- [🗜️ Mapped Arrays](#️-mapped-arrays)\n- [🔧 API Reference](#-api-reference)\n  - [parseRJSON](#parserjson)\n  - [stringifyRJSON](#stringifyrjson)\n  - [stringifyRJSONMappedArray](#stringifyrjsonmappedarray)\n  - [rjson](#rjson)\n- [📄 License](#-license)\n- [🕊️ Thanks and Enjoy](#️-thanks-and-enjoy)\n- [💖 Be a Sponsor](#-be-a-sponsor)\n\n## 🚀 Get Started\n\n### 📥 Installation\n\n#### bun\n\n```bash\nbun add @bepalo/rjson\n```\n\n#### npm\n\n```bash\nnpm install @bepalo/rjson\n```\n\n#### pnpm\n\n```bash\npnpm add @bepalo/rjson\n```\n\n#### deno\n\n```ts\nimport { RJSON } from \"jsr:@bepalo/rjson\";\n```\n\n---\n\nYou can also benchmark using these scripts.\n\n```sh\npnpm run benchmark:node\nbun run benchmark:bun\n```\n\n## 📦 Quick Start\n\n### Parse RJSON\n\n```ts\nimport { RJSON } from \"@bepalo/rjson\";\n\nconst user = RJSON.parse(\n  \"(name:'Natnael',age:28,active:T,tasks:_('push','deploy','sleep')_)\",\n);\n\nconsole.log(user);\n```\n\nOutput:\n\n```js\n{\n  name: \"Natnael\",\n  age: 28,\n  active: true,\n  tasks: [ \"push\", \"deploy\", \"sleep\" ],\n}\n```\n\n### Stringify Objects\n\n```ts\nimport { RJSON } from \"@bepalo/rjson\";\n\nconst text = RJSON.stringify({\n  name: \"Natnael\",\n  age: 28,\n  active: true,\n});\n\nconsole.log(text);\n```\n\nOutput:\n\n```txt\n(name:'Natnael',age:28,active:T)\n```\n\n### Stringify arrays\n\n```ts\nimport { RJSON } from \"@bepalo/rjson\";\n\nconst text = RJSON.stringify([1, 3.1415, null, undefined, true, \"hello\"]);\n\nconsole.log(text);\n```\n\nOutput:\n\n```txt\n_(1,3.1415,N,,T,'hello')_\n```\n\n### Stringify mapped-arrays\n\n```ts\nimport { RJSON } from \"@bepalo/rjson\";\n\nconst text = RJSON.stringifyMappedArray(true, [\"id\", \"title\", \"body\"]);\n\nconsole.log(text);\n```\n\nOutput:\n\n```txt\n~T(id,title,body)~\n```\n\n### Tagged Template Helper\n\n```ts\nimport { rjson } from \"@bepalo/rjson\";\n\nconst name = \"Natnael\";\nconst age = 28;\n\nconst user = rjson`(name:'${name}',age:${age},active:T)`;\n\nconsole.log(user);\n```\n\nOutput:\n\n```js\n{\n  name: \"Natnael\",\n  age: 28,\n  active: true,\n}\n```\n\n## 🔧 Performance\n\n### Operations Benchmark\n\n| Operation                 | RJSON          | JSON           | RJSON vs JSON   |\n| ------------------------- | -------------- | -------------- | --------------- |\n| Stringify (mixed data)    | 14,466 ops/sec | 13,440 ops/sec | 1.08x faster ✅ |\n| Parse (mixed data)        | 4,835 ops/sec  | 14,093 ops/sec | 2.91x slower    |\n| Stringify (numbers)       | 3,670 ops/sec  | 2,898 ops/sec  | 1.27x faster ✅ |\n| Parse (numbers)           | 1,457 ops/sec  | 6,736 ops/sec  | 4.63x slower    |\n| Stringify (strings)       | 4,544 ops/sec  | 10,706 ops/sec | 2.35x slower    |\n| Parse (strings)           | 4,294 ops/sec  | 10,125 ops/sec | 2.36x slower    |\n| Stringify (nested)        | 25,089 ops/sec | 29,571 ops/sec | 1.18x slower    |\n| Parse (nested)            | 7,727 ops/sec  | 19,597 ops/sec | 2.53x slower    |\n| Stringify (large dataset) | 484 ops/sec    | 536 ops/sec    | 1.07x slower    |\n| Parse (large dataset)     | 239 ops/sec    | 673 ops/sec    | 2.80x slower    |\n\n### Size Comparison\n\n| Dataset                    | RJSON Size | JSON Size | Compression |\n| -------------------------- | ---------- | --------- | ----------- |\n| Mixed (100 records)        | 8,318 B    | 9,666 B   | -13.9% ✅   |\n| Numbers (500 values)       | 33,667 B   | 33,592 B  | +0.2%       |\n| Strings (100 records)      | 21,363 B   | 22,361 B  | -4.5% ✅    |\n| Nested (depth 4)           | 4,305 B    | 5,029 B   | -14.4% ✅   |\n| Large mixed (2000 records) | 175,110 B  | 202,108 B | -13.4% ✅   |\n\n### Summary\n\n| Aspect               | RJSON                                 | JSON                                  |\n| -------------------- | ------------------------------------- | ------------------------------------- |\n| **Implementation**   | Pure JavaScript                       | Native C++                            |\n| **Payload Size**     | ✅ 4-14% smaller                      | ❌ Larger                             |\n| **Stringify Speed**  | ✅ Up to 1.27x faster (mixed/numeric) | ❌ 1.07-3.19x faster (strings/nested) |\n| **Parse Speed**      | ❌ 2.5-5.95x slower                   | ✅ Significantly faster               |\n| **Non-JSON Support** | ✅ NaN, Infinity, undefined           | ❌ Not supported                      |\n| **Key Format**       | ✅ Unquoted by default                | ❌ Always quoted                      |\n| **Memory Usage**     | ✅ Smaller strings                    | ❌ Larger strings                     |\n\n![benchmark](./assets/benchmark.png)\n\n### Key Takeaways\n\n#### ✅ Strengths\n\n- Better compression: RJSON produces 4-14% smaller payloads for typical data\n- Faster stringification for mixed and numeric data (up to 1.27x faster)\n- Supports non-JSON values: NaN, Infinity, -Infinity, undefined\n- More compact syntax: No quotes around object keys by default\n\n#### ⚠️ Trade-offs\n\n- Parse is 2.5-5x slower than JSON.parse (pure JS vs native C++)\n- String-heavy data is slower to stringify (2.35x slower)\n- Larger datasets show the performance gap more clearly\n\n## 📚 Syntax Overview\n\n| Type         | RJSON                         | JSON                         |\n| ------------ | ----------------------------- | ---------------------------- |\n| Object       | `(name:'John')`               | `{\"name\":\"John\"}`            |\n| Array        | `_(1,2,3)_`                   | `[1,2,3]`                    |\n| Mapped Array | `~T(admin,user)~`             | `{\"admin\":true,\"user\":true}` |\n| String       | `'hello'` `\"hello\"` \\`hello\\` | `\"hello\"`                    |\n| Number       | `123`                         | `123`                        |\n| Boolean      | `T` / `F`                     | `true` / `false`             |\n| Null         | `N`                           | `null`                       |\n| Undefined    | `U`                           | Not supported                |\n| NaN          | `X`                           | Not Supported                |\n| Infinity     | `I`                           | Not Supported                |\n| -Infinity    | `-I`                          | Not Supported                |\n| -0           | `-0`                          | Not Supported                |\n\n### 📚 Core Types\n\n#### Objects\n\n```txt\n(name:'John',age:30)\n```\n\nProduces:\n\n```js\n{\n  name: \"John\",\n  age: 30\n}\n```\n\n#### Arrays\n\n```txt\n_(1,2,3,4)_\n```\n\nProduces:\n\n```js\n[1, 2, 3, 4];\n```\n\n#### Nested Structures\n\n```txt\n(user:(name:'John',age:30),active:T)\n```\n\nProduces:\n\n```js\n{\n  user: {\n    name: \"John\",\n    age: 30\n  },\n  active: true\n}\n```\n\n#### Strings\n\nRJSON supports three string delimiters: `'` `\"` `\n\n```txt\n'hello'\n\"hello\"\n`hello`\n```\n\nThe serializer automatically chooses the delimiter that requires the least escaping.\n\n```ts\nRJSON.stringify(`'\"hello\"'`);\n```\n\nOutput:\n\n```txt\n`'\"hello\"'`\n```\n\nThis keeps serialized output compact and readable.\n\n#### Numbers\n\nSupported formats:\n\n```txt\n123\n-123\n+123\n12.5\n1e10\n1e-10\n-0\nX -> NaN\nI -> Infinity\n-I -> -Infinity\n```\n\nExamples:\n\n```txt\nage:28\nprice:19.99\ndistance:1.5e6\n```\n\n#### Booleans\n\n```txt\n_( T, F )_\n```\n\nProduces:\n\n```js\n[true, false];\n```\n\n#### Null\n\n```txt\nN\n```\n\nProduces:\n\n```js\nnull;\n```\n\n#### Undefined\n\n```txt\n(name:U)\n```\n\nProduces:\n\n```js\n{\n  name: undefined;\n}\n```\n\nEmpty values are also treated as undefined:\n\n```txt\n(name:,array:_(,)_,mapped:~(a)~,empty:(),end:)\n```\n\nProduces:\n\n```js\n{\n  name: undefined,\n  array: [ undefined ],\n  mapped: {\n    a: undefined,\n  },\n  empty: {},\n  end: undefined,\n}\n```\n\n### 🗜️ Mapped Arrays\n\nMapped arrays compress repeated values.\n\nInstead of doing:\n\n```js\n{\n  admin: true,\n  editor: true,\n  user: true\n}\n```\n\nUse:\n\n```txt\n~T(admin,editor,user)~\n```\n\nProduces:\n\n```js\n{\n  admin: true,\n  editor: true,\n  user: true\n}\n```\n\n---\n\nThe value can be any valid RJSON type. However, to have an object as value\nits start token `(` has to be escaped.\n\n_NOTE: Allowed whitespace positions. Also whitespaces are not required._\n\n```txt\n~ \\(roles:_('admin','user')_) (create,update,delete)~\n\n~ F (create,update,delete)~\n\n~ ~ F (admin,user)~ (create,update,delete)~\n```\n\n## 🔧 API Reference\n\n### parseRJSON\n\nParses RJSON from string.\n\n```ts\nconst value = parseRJSON(\"(name:'John',active:T)\");\n```\n\n### stringifyRJSON\n\nSerializes JavaScript values to RJSON format.\n\n```ts\nconst text = stringifyRJSON({\n  name: \"John\",\n  active: true,\n});\n```\n\nResult:\n\n```txt\n(name:'John',active:T)\n```\n\n### stringifyRJSONMappedArray\n\nCreates mapped-array expressions.\n\n```ts\nstringifyRJSONMappedArray(true, [\"read\", \"write\", \"delete\"]);\n```\n\nResult:\n\n```txt\n~T(read,write,delete)~\n```\n\n### rjson\n\nTagged-template parser.\n\n```ts\nconst data = rjson`\n(name:'John')\n`;\n```\n\n## 🔄 Migration Guide\n\n### Upgrading from v1.0.10 to v2.1.11\n\nRJSON `v2.x` introduces a fully optimized grammar layout that treats explicit `null` and implicit `undefined` as independent, native values. If you are migrating an existing application from a `v1.x` runtime, use the matrix below to audit changes to your network transport footprints and api surface.\n\n#### Serialization Footprint Matrix\n\n| Value / API Reference       | Target v1.0.10          | Target v2.1.11        | Notes / Semantic Shifts                                                            |\n| :-------------------------- | :---------------------- | :-------------------- | :--------------------------------------------------------------------------------- |\n| **`null`**                  | `\"\"`                    | `\"N\"`                 | Now serialized explicitly to prevent collision with missing properties.            |\n| **`undefined`**             | `\"U\"`                   | `\"\"` \\| `\"U\"`         | Evaluates to an empty slot inside collection layouts; returns `\"U\"` if standalone. |\n| **`[1, undefined, 3]`**     | `_(1,U,3)_`             | `_(1,,3)_`            | Array holes leverage highly efficient conditional trailing comma notation.         |\n| **`[,]`** **`[,,]`**        | `_()_` `_(,)_`          | `_(,)_` `_(,,)_`      | Empty array elements are now handled properly and treated as `undefined`.          |\n| **`NaN`**                   | `null`                  | `X`                   | Native support added for IEEE 754 special values.                                  |\n| **`Infinity`**              | `null`                  | `I`                   | Native positive infinity tracking.                                                 |\n| **`-Infinity`**             | `null`                  | `-I`                  | Native negative infinity tracking.                                                 |\n| **`-0`**                    | `0`                     | `-0`                  | Sign-bit fidelity preserved during serialization loops.                            |\n| **`stringifyRJSONString`**  | `stringifyRJSONString`  | `stringifyRJSONText`  | Utility renamed to clear naming collision with global `String`.                    |\n| **`RJSON.stringifyString`** | `RJSON.stringifyString` | `RJSON.stringifyText` | Namespace reference updated to point to the text subsystem encoder.                |\n\n## 📄 License\n\nMIT\n\n## 🕊️ Thanks and Enjoy\n\nIf you find RJSON useful, please consider starring the repository and sharing it with others.\n\n## 💖 Be a Sponsor\n\nSupport development and future improvements.\n\n<a href=\"https://ko-fi.com/natieshzed\">\n  <img height=\"32\" src=\"https://img.shields.io/badge/Ko--fi-donate-orange?style=for-the-badge&logo=ko-fi&logoColor=white\">\n</a>\n","readmeFilename":""}