{"_id":"@abcnews/core-hash-converter","_rev":"8-c67349e20fd4f4f384d2f05289ebcd4f","name":"@abcnews/core-hash-converter","dist-tags":{"latest":"0.4.2"},"versions":{"0.1.3":{"name":"@abcnews/core-hash-converter","version":"0.1.3","license":"MIT","_id":"@abcnews/core-hash-converter@0.1.3","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"homepage":"https://github.com/abcnews/core-hash-converter#readme","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"b4f64afc799d7356fe97d6891b255f5f9a110267","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.1.3.tgz","fileCount":89,"integrity":"sha512-d1grwvV4FpFUBQMd/WFOmOt4Wo0pE/PF4KUOO1VWW84W/wLLqdQw1ZCUfXPF2AOcXQ4XYkI9k25k9ECmdBGJSQ==","signatures":[{"sig":"MEQCICMA49OIrvJ2A2/Vbk5sMQ+182EeiZ3aOAdcFfRaZAC2AiAJlWTHIv/YptBnnI7T/uTo8IZ9FUr4jICQ3+NN135HJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37231},"main":"./script/src/mod.js","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"71a587b2adf0218f4c0ac5e1f2272c6d3a49545c","scripts":{"test":"node test_runner.js"},"_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.13.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/core-hash-converter_0.1.3_1782177494858_0.461108437501925","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@abcnews/core-hash-converter","version":"0.1.4","license":"MIT","_id":"@abcnews/core-hash-converter@0.1.4","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"homepage":"https://github.com/abcnews/core-hash-converter#readme","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"cd686a2eb414523eab2ec3a8a042d011ed9f4e20","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.1.4.tgz","fileCount":89,"integrity":"sha512-xwY7RPY8dFGRN3s3zrPcp318oplnm7MfaslcG01c3k4PDdSD0JEWP0kcgzPhyPJPnXqNP+1kv8uryyu0lFfTnw==","signatures":[{"sig":"MEUCIDc2XYcEyighIxispeEYLcuNNJIAa7Nkb42kLmpKUJMqAiEAsbAymkY1Si/c2Ls/NPO1W+oN3JP9jkkyTAs3qgVMZss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37806},"main":"./script/src/mod.js","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"994fb44b0e3b8ef6a33b98f637a51e1151ba1cd1","scripts":{"test":"node test_runner.js"},"_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/core-hash-converter_0.1.4_1789091688781_0.6253413166886728","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@abcnews/core-hash-converter","version":"0.2.0","license":"MIT","_id":"@abcnews/core-hash-converter@0.2.0","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"homepage":"https://github.com/abcnews/core-hash-converter#readme","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"5becfb70c161e753a71ebc16c9f783d57aa708ab","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.2.0.tgz","fileCount":89,"integrity":"sha512-ekDPnzxBER8h1sZ9pMWebt02P4dHf1YHpOjoZtCge0lcib7BNgIkCWMw42ptJF+tIpWAWFZG4P9t5warx+xSZw==","signatures":[{"sig":"MEYCIQCjl1W4vA789toRZlyN2tY/GT33b/73ApQ3aP2uNoKBewIhALFXlW226yD1ioGZHzkvVvdgIgV2YpBPQnQbszYerkZx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41026},"main":"./script/src/mod.js","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"60a09de63567e77a5b8c467a04c027a19711c9ea","scripts":{"test":"node test_runner.js"},"_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/core-hash-converter_0.2.0_1789094312362_0.8633076990223527","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@abcnews/core-hash-converter","version":"0.2.1","keywords":["parse","parser","hash","querystring","key-value","coerce","typescript","deno"],"license":"Apache-2.0","_id":"@abcnews/core-hash-converter@0.2.1","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"homepage":"https://github.com/abcnews/core-hash-converter#readme","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"3e9dfba69e63b184fbcd6df6640d98a2e65ea49f","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.2.1.tgz","fileCount":89,"integrity":"sha512-FFMdEjitzag4mI2iF5Uw70Vs4NFfdL14smkxSXtoBiTiSOIVSXyraE4CFwwNwzVHO4T9vVsNwk1hvAcxYv2wzg==","signatures":[{"sig":"MEUCIQD0lEM1EM8YwNJF5gzp/zhdnkuvgIxE1ZXgQxoGefVLLgIgEinvpn4BuuLqvQQtOZqryuE8D7cFeAWrrgKAkSXQyN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51459},"main":"./script/src/mod.js","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"c42ce779371cf18d4135cbc0f64dcfac740f1d83","scripts":{"test":"node test_runner.js"},"_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/core-hash-converter_0.2.1_1789096379903_0.158821146586136","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@abcnews/core-hash-converter","version":"0.3.1","keywords":["parse","parser","hash","querystring","key-value","coerce","typescript","deno"],"license":"Apache-2.0","_id":"@abcnews/core-hash-converter@0.3.1","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"homepage":"https://github.com/abcnews/core-hash-converter#readme","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"a7e3fc720622c0ee532ca4eec2b4851ba97ee81e","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.3.1.tgz","fileCount":89,"integrity":"sha512-42zx11d6lcZkUGQm36+/tMgmj3uJ5jEIMrIEqD6FQjFtIYMWfcyQuqH1LxNbuSEQ4ycG3wKD/fMd2FzpFwRomA==","signatures":[{"sig":"MEUCIQCrKVZ1u8o4B3eUPw99sUq4zQ0N7KEPNw3adKL57zhPzQIgSVDx5V1zgfT2Kz14jDJg1oBk9DhF9VbuVHLJqGUjLlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBCwme6WvAs6LxLFomg/9PhdTH/zw3G0wwQcz9L1iZytAiEA37P3RXu5Mo7K1HdWNw/LQFDHRPfkt2cBFwZ3dLOkYVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53547},"main":"./script/src/mod.js","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"a16a6eb7f03f1e12e037ed36e762b19b1164230c","scripts":{"test":"node test_runner.js"},"_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/core-hash-converter_0.3.1_1790813831528_0.5912949217899974","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@abcnews/core-hash-converter","version":"0.4.0","keywords":["parse","parser","hash","querystring","key-value","coerce","typescript","deno"],"license":"Apache-2.0","_id":"@abcnews/core-hash-converter@0.4.0","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"homepage":"https://github.com/abcnews/core-hash-converter#readme","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"537f1d1c2d516c54a6465d5142958166fbfb332b","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.4.0.tgz","fileCount":89,"integrity":"sha512-CjRUIDGL4awC3caPu/gk0tFFUG4FFzapBDjl1CKPhvT5ZUUG6vlbJaa/IVUaHSDBCcUk2AczPCpo5Ct0JiHhMg==","signatures":[{"sig":"MEYCIQD6KagvZecXCbvLZ+cF9id6nUNPU4AI2cTBfH6Pzlag2QIhAKv9gcs8GaG6XjUwGZkVKPCMpze+WPNZq9HHICN2ruZM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCU7Pf3e7vq0CWaxywude56tSg8dRqjfq345BzSa4pp6QIhAPOqeD0w2kkEC63irGkGtzhFEO/E4zFNONRV9WS/jZMw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55934},"main":"./script/src/mod.js","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"27f6c41f7e2b6cc14f7ddc3a147a4e341445f7cd","scripts":{"test":"node test_runner.js"},"_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"_nodeVersion":"26.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/core-hash-converter_0.4.0_1790823990261_0.5726676958947516","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@abcnews/core-hash-converter","version":"0.4.1","keywords":["parse","parser","hash","querystring","key-value","coerce","typescript","deno"],"license":"MIT","_id":"@abcnews/core-hash-converter@0.4.1","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"homepage":"https://github.com/abcnews/core-hash-converter#readme","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"6545fd076da710bde0674012ecc76302d77c898a","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.4.1.tgz","fileCount":89,"integrity":"sha512-ylFE0bmFVHomBzAf0ye/cdYFgg61mo0Bc+49jhhkusmy06EiPyDSM4Sbl+JfX5MmrcGlEV4LrrFJCTM8j6m9hQ==","signatures":[{"sig":"MEQCIDzT3noorvoouluWlX/gubCI7k1FS3K5GKmczpwBqh9UAiBHkwPtoUuOysGKVl+hSGrJ7/PvdRJFodDLC0G96bLS8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAMOY0AgI1o+rRlnaetIZYLoewvYZQrHm//H1fzpa59uAiAGo9DHiwmTHrmnM3RnAzsNMeIQrdrbxALbbNA9MjRdyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45656},"main":"./script/src/mod.js","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"0ad01a2440dfd27e9d79705ce15165a5579b5cc1","scripts":{"test":"node test_runner.js"},"_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"_nodeVersion":"26.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/core-hash-converter_0.4.1_1790830598346_0.8216575218395525","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"_id":"@abcnews/core-hash-converter@0.4.2","bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"dist":{"shasum":"60011d811efb21c9289c023fac6f1d25c557f961","tarball":"https://registry.npmjs.org/@abcnews/core-hash-converter/-/core-hash-converter-0.4.2.tgz","fileCount":89,"integrity":"sha512-6h/SW4t7NW4ecBtnuuB+C9UC2hFkRQd1//C0SB3M2DE7WEz96Ps6aiMiZ1QsZbpuMxuIYAYe2cS9qo0WSrEEPQ==","signatures":[{"sig":"MEQCIG/CPEs/KhHmF+24DvvbVXIwDGc4zF6ODWqP8ghZ/DEyAiA51NoiO7i1YbqX21oNlWkB300oAw0xKaWfTod1KVNEew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCvDN9nuPQbirAjJK7dTfF8H+srv6H1PCl4GzYhIqdhFQIgIxDtql4TKyCe5v0WJAQlyNatcvPuhfJeHHGE6bFy2Ic="}],"unpackedSize":46165},"main":"./script/src/mod.js","name":"@abcnews/core-hash-converter","types":"./script/src/mod.d.ts","module":"./esm/src/mod.js","exports":{".":{"import":"./esm/src/mod.js","require":"./script/src/mod.js"}},"gitHead":"85c9f541c14161334df5a267373e77cd75bb9088","license":"MIT","scripts":{"test":"node test_runner.js"},"version":"0.4.2","_npmUser":{"name":"phocks","email":"phocks@gmail.com"},"homepage":"https://github.com/abcnews/core-hash-converter#readme","keywords":["parse","parser","hash","querystring","key-value","coerce","typescript","deno"],"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"_npmVersion":"11.19.0","description":"A utility for converting strings to objects with various encodings structures.","directories":{},"maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"_nodeVersion":"26.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"picocolors":"^1.0.0","@types/node":"^20.9.0","@deno/shim-deno":"~0.18.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core-hash-converter_0.4.2_1790835569285_0.6638036847422837"}}},"time":{"created":"2026-06-23T01:18:14.744Z","modified":"2026-10-01T06:19:29.579Z","0.1.3":"2026-06-23T01:18:15.002Z","0.1.4":"2026-09-11T01:54:48.913Z","0.2.0":"2026-09-11T02:38:32.500Z","0.2.1":"2026-09-11T03:13:00.046Z","0.3.1":"2026-10-01T00:17:11.613Z","0.4.0":"2026-10-01T03:06:30.356Z","0.4.1":"2026-10-01T04:56:38.442Z","0.4.2":"2026-10-01T06:19:29.380Z"},"bugs":{"url":"https://github.com/abcnews/core-hash-converter/issues"},"license":"MIT","homepage":"https://github.com/abcnews/core-hash-converter#readme","keywords":["parse","parser","hash","querystring","key-value","coerce","typescript","deno"],"repository":{"url":"git+https://github.com/abcnews/core-hash-converter.git","type":"git"},"description":"A utility for converting strings to objects with various encodings structures.","maintainers":[{"name":"drzax","email":"simon@elvery.net"},{"name":"andrewkesper","email":"andy@andrewkesper.com"},{"name":"phocks","email":"phocks@gmail.com"},{"name":"jtfell","email":"hi@jtfell.com"},{"name":"ashkyd","email":"ash@kyd.com.au"}],"readme":"# core-hash-converter\n\nConverts a CoreMedia #hashstring into a config object using all available characters.\n\nCurrent characters supported, as per [html4](https://www.w3.org/TR/html4/types.html) spec:\n\n> ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens (\"-\"), underscores (\"\\_\"), colons (\":\"), and periods (\".\")\n\nOr as a [regex](https://regexr.com/):\n\n```regex\n/^[a-z]+[a-z0-9\\-_:\\.]*$/i\n```\n\nSo you can parse strings like:\n\n```\n\"stringOne:Hello_numberOne:5_lat:-32.3_lng:-141.55_isSomething:true\"\n```\n\nAnd they turn into JavaScript objects:\n\n```js\n{\n  stringOne: \"Hello\",\n  numberOne: 5,\n  lat: -32.3,\n  lng: -141.55,\n  isSomething: true,\n}\n```\n\n## Installation\n\nOn [JSR](https://jsr.io/@abcnews/core-hash-converter):\n\n```bash\n# deno, pnpm 10.9+, and yarn 4.9+ with first class JSR support\ndeno add jsr:@abcnews/core-hash-converter\npnpm add jsr:@abcnews/core-hash-converter\nyarn add jsr:@abcnews/core-hash-converter\n\n# npm, bun, and older versions of yarn or pnpm\nnpx jsr add @abcnews/core-hash-converter\nbunx jsr add @abcnews/core-hash-converter\nyarn dlx jsr add @abcnews/core-hash-converter\npnpm dlx jsr add @abcnews/core-hash-converter\n```\n\nOr [NPM](https://www.npmjs.com/package/@abcnews/core-hash-converter):\n\n```bash\nnpm install @abcnews/core-hash-converter\n```\n\n## Usage\n\n```js\nimport { parse } from \"@abcnews/core-hash-converter\";\n\nconst config = parse(\n\t\"stringOne:Hello_numberOne:5_lat:-32.3_lng:-141.55_isSomething:true_nothing:null\",\n);\n\nconsole.log(config);\n```\n\nIn a CoreMedia artile you can create a mount point with `#mymount_myNumer:42` and then use [mount-utils](https://github.com/abcnews/mount-utils) to select it with `selectMounts('mymount')` and then parse the `getMountValue` string with `parse(mountValue)`.\n\n## Coercion rules\n\nValues are coerced based on what they look like:\n\n| Value              | Becomes             | Type    |\n| ------------------ | ------------------- | ------- |\n| `true` / `false`   | `true` / `false`    | boolean |\n| `null`             | `null`              | null    |\n| `5`, `-32.3`, `.5` | `5`, `-32.3`, `0.5` | number  |\n| everything else    | unchanged           | string  |\n\nOnly plain decimal numbers are coerced. These all stay strings:\n\n| Value                   | Why                                                               |\n| ----------------------- | ----------------------------------------------------------------- |\n| `007`, `00000066`       | leading zeros are preserved (for zero-padded ids and hex colours) |\n| `1e3`, `1E3`            | exponent notation                                                 |\n| `0x10`, `0b101`, `0o17` | hex, binary, and octal literals                                   |\n| `Infinity`, `NaN`       | not plain decimals                                                |\n| `+5`                    | leading plus                                                      |\n| `5.`                    | trailing dot                                                      |\n\nThe literals are case sensitive: `True` and `NULL` stay strings.\n\n## Repeated keys\n\nA key that appears more than once collects its values into an array:\n\n```js\nparse(\"tag:birds_tag:marine_tag:coastal\");\n// { tag: [\"birds\", \"marine\", \"coastal\"] }\n```\n\nA key that appears once is **not** wrapped in an array:\n\n```js\nparse(\"tag:birds\");\n// { tag: \"birds\" }\n```\n\nValues are not deduplicated, and may be of mixed types.\n\n## Limitations\n\n- **Values cannot contain underscores.** `_` is the pair delimiter, so `value:1_000` parses as `{ value: 1 }` and the `000` is dropped.\n- **Values can contain colons.** Only the first `:` in a pair splits key from value, so `time:12:30` gives `{ time: \"12:30\" }`.\n- **Malformed pairs are skipped silently.** A segment with no colon contributes nothing — a typo like `inset_40` is simply dropped, with no error.\n\n## Development\n\nPushes to `main` with a new version number will automatically be pushed to JSR.\n\nBuild for NPM with `deno task build-npm` (will read your `deno.json` version number).\n\nThen `npm login` with your (ABC approved) NPM account and `npm publish --access public` to publish.\n\n## Notes\n\nThis tool is meant for use with ABC News Digital CMS CoreMedia, but could be helpful for others to use too.\n","readmeFilename":"README.md"}