{"_id":"@acusti/parsing","_rev":"21-dd8a11e7fe0ce713a1447975c0b1500b","name":"@acusti/parsing","dist-tags":{"latest":"0.20.2"},"versions":{"0.9.0":{"name":"@acusti/parsing","version":"0.9.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.9.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"a10467f3d6fe18e5feb86ccfafbf63c79a1c83b1","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.9.0.tgz","fileCount":17,"integrity":"sha512-4s23MjTq+fAvaoEbXylkJ/kaVr/UDgUQy/O7TPuWV+Yq+zsqNoc4BrXclrG+YZg+V7L/Wg/Uc3ymApLBCZt1MA==","signatures":[{"sig":"MEYCIQCjvDMSvqy2cyQZ73bYihY3zw96Y/6rpL4mHy4fGYz7rAIhAPCQAXPl61XPPLg0iUjwrbY2WJVrySTioN6slNuggaRz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111158},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"aa0bd674085f336bb31ea08e47e32b32924115c5","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.9.0_1711071596332_0.3348335712717976","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"@acusti/parsing","version":"0.10.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.10.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"38a303f252354dab84e65cef8be6345f3a153582","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.10.0.tgz","fileCount":17,"integrity":"sha512-LCwZQfLG2vZULAw+PIzckk6RBXvzbAvUJ+ejIydnau8d5AMvYfV7G8zc1/jmtrshaUpgQhISKOfE+XMKR3unsg==","signatures":[{"sig":"MEQCIBRKVd+4EQkmUGRVVtVVUfQZu/i9/lSALsNjlOfGtKKkAiB8Gny4SxRrHV02YUjfht5p1aap9mdbMdue0MkzvEVSzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119150},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"3fa735740d59ab75bf8b71b8ccbaca80e6d0b036","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.10.0_1711163091900_0.5095978398100529","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"@acusti/parsing","version":"0.11.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.11.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"cd76ea489efeedd94be2e44200a72662092bcec5","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.11.0.tgz","fileCount":17,"integrity":"sha512-m8I1qscA88ELi2r7p+h42xNNK5aqImAhs4P+LrNmzbOhmcWBBBz+2sbbUfZCkizC/THFfe6ED2t9qvQdHn0Cgw==","signatures":[{"sig":"MEYCIQC0uLtZFGYHhgtKxLA9KcqsONLhvGTHAlBpO376ulIaKQIhAPDtKRDuDCgyYiry7ozI6pVyqj6j6BghU0nzD+qQSKGJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129654},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"63febe040297c1cac29c898a8cda8f0330032d67","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.11.0_1711490191134_0.20148306553651985","host":"s3://npm-registry-packages"}},"0.0.0-debugnewlines-0":{"name":"@acusti/parsing","version":"0.0.0-debugnewlines-0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.0.0-debugnewlines-0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"494f3ebfa95e52fc88e6ac3464791b9cb37e9f02","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.0.0-debugnewlines-0.tgz","fileCount":17,"integrity":"sha512-Ra2j5AU3eWgOueGAwjO8EW54ozI72NvGKW/y3EPqRFWLeu9NqYxzDNYq1p2TBwlfQDzVQ38YehumRAuPnOm1CA==","signatures":[{"sig":"MEQCIFgeMXIrjzlVWTq4yBTTFc2JZQL4w78w1GKiz1NavEwTAiBBSSPdBTTjL9T06+777TpxZrKoAASwUDJ5ueZPBWN5Wg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134090},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"1a7be8886f12ce8dc9d53e83317a5bccd7147ee4","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.0.0-debugnewlines-0_1711660703190_0.9361790407029056","host":"s3://npm-registry-packages"}},"0.12.0":{"name":"@acusti/parsing","version":"0.12.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.12.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"d39e07ad6250a016027a0a497480e8770832eae5","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.12.0.tgz","fileCount":17,"integrity":"sha512-hK23ZOMaDMqAXf6347KZGUsovBbUqpjXnD/wWDneL2ywUoeC3eo/h7znRcEAlzK6wS0FaHz5DWUcBcmewHOLfA==","signatures":[{"sig":"MEUCIDXyZgFoWMqSmB9RQgMRRB7+cWcfDovr3mpQln41Wp/PAiEA7YkAKzUYq3uYY4sX2+4PbBtzJQpIHRpMpmMfkQmkbG8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130725},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"85139f844a429bbab47136301deb0cbb3e673095","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.12.0_1711671777530_0.2806723525040793","host":"s3://npm-registry-packages"}},"0.13.0":{"name":"@acusti/parsing","version":"0.13.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.13.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"9853224901a9423885e35ddcc9d83686565f0c2a","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.13.0.tgz","fileCount":17,"integrity":"sha512-EGn+zmtzikOL/uy+wZQybYbyBURlllEkrxX2UFiSCtc57p7F2y8I0jkvTxAX7jhZOOEfFE8tF9d21dzmlvVUhw==","signatures":[{"sig":"MEUCIHDYPmV8IketO0fXo0lO461MI2jmgFOZryxDJBvmSvHsAiEA7oVcyPrQFQGhq+l0kwmqJ7iVh+6GR59f44DCkMwMWrc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":140580},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"f54ec025aa7199927b6468be39e56f881e855a4d","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.13.0_1711673412784_0.5257598278803555","host":"s3://npm-registry-packages"}},"0.14.0":{"name":"@acusti/parsing","version":"0.14.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.14.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"98b441cc88537e49ce5ca02eec9f2b79e4e13928","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.14.0.tgz","fileCount":17,"integrity":"sha512-eyGib2c1aNDJmaANjJ0Zx5gU/LYv00IqgaBJZy3fylk78CRnMfV7Oz2X5HxUuMtJ3NXteAT7CnWUDzyTT40BUA==","signatures":[{"sig":"MEUCIQCJVSmEJpcNPi8/o2NdzLQucbGMdNJNwlAuNTJelarj0wIgLzhLdfEmRcn6LqXI9taHylyzi+qbtFprSbJ/2ZpyEvU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":145888},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"7b8e8fc43ee8132050bf49489c418ca706c4566c","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.14.0_1711729074305_0.03331615835353974","host":"s3://npm-registry-packages"}},"0.14.1":{"name":"@acusti/parsing","version":"0.14.1","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.14.1","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"389ef5ad0e1b051e058d4482bd95d800cfc090ad","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.14.1.tgz","fileCount":17,"integrity":"sha512-ybttLFpKZmerMGGQZnSFdcRrA54QcQ6pGdtXhNAeBUdq1mEM7RmxlZsvdWcyplL1ByvVNpw5SxVDZuxVI4hdKA==","signatures":[{"sig":"MEUCIFcntWaX5QwtRUfUfK2bRqUDbDtRf6taIt5J/nggGl7LAiEAkOlRRZDUmmwANIJb4ummNgzyzYRjdRWzFbHY4I8v26A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":146284},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"db021860f6bfbc8b33cf48c10cba174552758da6","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.14.1_1713828977606_0.5841251342764253","host":"s3://npm-registry-packages"}},"0.14.2":{"name":"@acusti/parsing","version":"0.14.2","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.14.2","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"12c51cd57abcdd6a2abc05aa1282107c0a181b6c","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.14.2.tgz","fileCount":17,"integrity":"sha512-oZZ8ss+O7wEGQ7BkuIyJYMyJHc3R+ZbncdAIhsV0GycL13u+us0wGmVplgTY3cNJb1/IAR+opBkLlmH0aqMlNA==","signatures":[{"sig":"MEUCIQDy4d4gQCklpAI9yHngvJcJh7/IYcNawSRIzuDJBnlUXQIgZ5BH7m5h+NcBCbDKtWGxL32QGevnggmGayzjSq6088E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":148160},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"fe2d662f7b715b295770d1d8a967579a91a76e12","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.14.2_1715030051588_0.16770478791899102","host":"s3://npm-registry-packages"}},"0.14.3":{"name":"@acusti/parsing","version":"0.14.3","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.14.3","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"1d967fc96266e65af8287592e7dc2b99a7bddc10","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.14.3.tgz","fileCount":17,"integrity":"sha512-q7Jdyy2PG3nvwAsRf8b1fX1pHiRu+bNJOrI8L9of4PF25mjlSA4vvam/HOYsWoyAnXYfxmBvlAPGu52Do11C5A==","signatures":[{"sig":"MEUCIHHEnrOyCJiIYECFTFfFExm9/FKA3IwQrL+W/p8AltxzAiEAhrcWCc0GmrO5/ZzxmcmrUId9bplfsAqJBxjoXeem60Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":154092},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"25173c4fd9952d61c9a7679668b10d0a17a1773f","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.5.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.14.3_1715360934102_0.8041417006881637","host":"s3://npm-registry-packages"}},"0.15.0":{"name":"@acusti/parsing","version":"0.15.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.15.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"29ef6a4b638d43d5877bdcec7a90b809bdb98d6c","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.15.0.tgz","fileCount":17,"integrity":"sha512-DsD/vaWsZ3pLLZkpNKCTAi6rlmAEVx/FmdV0b3q+QHp5QkIQvP3o+Dcgb3l8+oTLR7tF3iAhe8GxEgJ9cEbgzg==","signatures":[{"sig":"MEQCIDTZlmI1znNiTHA/tvcgbzSfRrK6BxZ+2lJT8rzSCSfgAiAWGEabdJ9Duw0HGt1dTGago5IzdVbaj+kIice9MJSKrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":160365},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"2133f3483e2e7e4a9d4728a86a7262216c7a0978","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.8.2","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.15.0_1724952351498_0.18119966843056434","host":"s3://npm-registry-packages"}},"0.16.0":{"name":"@acusti/parsing","version":"0.16.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.16.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"9a4a92df7934a61813628782f889acae447fc41d","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.16.0.tgz","fileCount":17,"integrity":"sha512-Yvm/4yIhiZStE44ds/M7Bx2ZOqXvApdXA8IUnDI3tL9/jR5B320g82hAg3DXgeE2fF/N95tglIsWr5Znhpu2PA==","signatures":[{"sig":"MEQCIBhzBBcZGtyaoFxkUwV/rnBpLffwmo+iZJjeEnbva3y7AiAyG3+kKJaQHhxO2hmftIS7chrA/PTq2NpBfREJyUL3sg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":160947},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"caf88e7531830b1ca9d175ac4a669746f5d18c46","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.8.2","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"22.7.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.16.0_1734629855998_0.9058120305353012","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@acusti/parsing","version":"0.16.1","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.16.1","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"66092f339f52404f5e4a40e432172a866fbe732c","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.16.1.tgz","fileCount":17,"integrity":"sha512-RuucZWN+7h0OwBmVX3zDw0OsdTnwqBYM6BCG7eN1ESed1k9+NJm3YaCPMTn//SJhcxHi2wyHYicQyiXfdBVpsg==","signatures":[{"sig":"MEUCIQDtM39q73V9wKlade6un1msEykqVbotpjCh16qN1vrwZQIgL7avS/BNXPwaGKldHWrFjETxBM0Y/1Y7WjBD6mP+7KU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":162028},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"6916a424996a6a6daa27d5063d0020294422e267","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.8.2","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"22.7.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.16.1_1737222721569_0.9589279111338616","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@acusti/parsing","version":"0.17.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.17.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"2ea42e28ed8fbc307e5b4e4271e3a6f0da2de51d","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.17.0.tgz","fileCount":17,"integrity":"sha512-3r+E4AjYk0W5a01U1fwjhQV5BiYAlqOyT0S1U9+w2mp+opSQEW7EHlc+qVzRCAVAVyQjdlcEFmOnpXa5vsqHUg==","signatures":[{"sig":"MEUCIQDV/vtEukicvQijRpdGP6A+wbMLgnqXszGvPnhjh54YQQIgZt0PF02AFMiPrTNcWZXkSNRL8FcQWMhMlsYy3qbnUt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174463},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"e439da289ce7693e74007aec2206a4914cc0101a","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.9.2","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3","typescript":"5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.17.0_1744324454838_0.7864225418542599","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@acusti/parsing","version":"0.18.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.18.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"00c2a0e4ef9f2b33a69703ed0fddb9dfeecf0951","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.18.0.tgz","fileCount":17,"integrity":"sha512-xEsFu1leMqAcLDc745RAtE3ZVLLba58zt0vhzJAtcfLJ9wVLzcEUfjr/xFiqhHhdAWmkQ3BQutStAoT00LPlyA==","signatures":[{"sig":"MEUCIB1pGB7O1GiBfRGcrrGX1jV4KF/6D5tdt2fu1pDnV0z4AiEAgsIJW8oc+8sEWOjv7Fxveqw14IX7Ek+bgiiMZBWYgds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174583},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"f7b9c709590d20f31d79898030974f40cd73e68d","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.9.2","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.1","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.18.0_1744399571245_0.12613724890537226","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@acusti/parsing","version":"0.19.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.19.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"e787b0ad180d49aad65a10ae7d5708eddb406ed6","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.19.0.tgz","fileCount":17,"integrity":"sha512-iK0lBqSB7CRoQLxOsRM13L3CRJkiNR+vJpWa3Zk8rZTfDrekHUsaeenFFdaPtgWGJlh4J7rPfyLG4qlHIqjJQQ==","signatures":[{"sig":"MEQCIEMUStLYAVn1r+T5a4R1PmKsvgXlccsU39R0Kp6oned3AiBydQ5nQfYnVPUam8RliZp7dAFSntE1HB6Z5rvQYjVenQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181058},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"d7bf0f69f76aa2ce649c6e457579d1014dec87b1","scripts":{"test":"vitest"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.9.2","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.4","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.19.0_1748565124122_0.935938944816765","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@acusti/parsing","version":"0.20.0","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.20.0","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"8f666aea52827289a4dfab2b469962f3f4eba369","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.20.0.tgz","fileCount":6,"integrity":"sha512-P6VGtrq0fX8wMK5LTizQxa71wtZA2GEJgMJUwp8YW2n63jmV65p33MLXmz4XCAhAeWw+zG2rovsRboSsQsya8w==","signatures":[{"sig":"MEUCIB4WGTlh+OXwwpL0YDll6AAO3wf5OacNa9SxJ9j6qp1DAiEA5HaVo1TUW8kHI9AOXBdHxpYU/nbyfKlZh3fFOornwSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52588},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"11ef240d8f08d99bbc9a65f62ec4274cf9c086a8","scripts":{"test":"vitest","build":"vite build"},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"10.9.2","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","vitest":"^3.1.4","typescript":"5.8.3","unplugin-dts":"^1.0.0-beta.0"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.20.0_1748819285275_0.6191178287552339","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@acusti/parsing","version":"0.20.1","keywords":["parse","parsing","json","llm","genai","generative-ai"],"author":{"url":"https://www.acusti.ca","name":"andrew patton","email":"andrew@acusti.ca"},"license":"Unlicense","_id":"@acusti/parsing@0.20.1","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","bugs":{"url":"https://github.com/acusti/uikit/issues"},"dist":{"shasum":"8cb85895cc9324f27937c5703e563a87e50c09ae","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.20.1.tgz","fileCount":6,"integrity":"sha512-uZDC8wN/w9mnvVAcyPNXSxPRlpJ07NvTL1KQJxDVytcavL/ea5dhSmpl0CJ5g8WbnFtlML+Tw7i5CmaJR2J7Mg==","signatures":[{"sig":"MEYCIQCow2YwWroQSd2NPTQM+bq+z8dVdC2BMpwQuVGEn6yELwIhAMPor/a7ibTmuDgYEU6M6uqnUBaF79cxz81X2ciSyz8A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52735},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":"./dist/index.js","gitHead":"7fa483de29bfa49ab7f04e7c0482104020399563","scripts":{"test":"vitest","build":"vite build"},"_npmUser":{"name":"acusti","actor":{"name":"acusti","type":"user","email":"andrew@acusti.ca"},"email":"andrew@acusti.ca"},"repository":{"url":"git+https://github.com/acusti/uikit.git","type":"git","directory":"packages/parsing"},"_npmVersion":"11.3.0","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","directories":{},"sideEffects":false,"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0-0","vitest":"^3.2.4","typescript":"5.8.3","unplugin-dts":"^1.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/parsing_0.20.1_1750700768983_0.9267579471198444","host":"s3://npm-registry-packages-npm-production"}},"0.20.2":{"name":"@acusti/parsing","version":"0.20.2","type":"module","sideEffects":false,"exports":"./dist/index.js","main":"./dist/index.js","types":"./dist/index.d.ts","description":"Loosely parse a string as JSON with numerous affordances for syntax errors","keywords":["parse","parsing","json","llm","genai","generative-ai"],"scripts":{"test":"vitest","build":"vite build"},"repository":{"type":"git","url":"git+https://github.com/acusti/uikit.git","directory":"packages/parsing"},"author":{"name":"andrew patton","email":"andrew@acusti.ca","url":"https://www.acusti.ca"},"license":"Unlicense","bugs":{"url":"https://github.com/acusti/uikit/issues"},"homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","devDependencies":{"typescript":"5.9.2","unplugin-dts":"^1.0.0-beta.6","vite":"^8.0.0-0","vitest":"^4"},"gitHead":"325d4a6962c7cf9801be9945128b823acb8d3fc8","_id":"@acusti/parsing@0.20.2","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-39RjqO/oOLiB8gLwP0C47jHA1gVuvBMIsZm0ca4CVeogPNIB7cd9Ejlx/e67JVb5qJkA1CFaYKXwlVCDE8HLCg==","shasum":"f972005200e8105d9475efcb80452c7bd17fe560","tarball":"https://registry.npmjs.org/@acusti/parsing/-/parsing-0.20.2.tgz","fileCount":6,"unpackedSize":50213,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBHEvnzZZwfkockr0oeT6vianDsHDqD7TnvA60p8Sa3HAiEArQaoiA1sUoWMJjRtn+pwMfyvfhkJjgV2SlxSXteuNaM="}]},"_npmUser":{"name":"acusti","email":"andrew@acusti.ca"},"directories":{},"maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/parsing_0.20.2_1771371747845_0.20216106059905914"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-22T01:39:56.230Z","modified":"2026-02-17T23:42:28.134Z","0.9.0":"2024-03-22T01:39:56.572Z","0.10.0":"2024-03-23T03:04:52.126Z","0.11.0":"2024-03-26T21:56:31.325Z","0.0.0-debugnewlines-0":"2024-03-28T21:18:23.378Z","0.12.0":"2024-03-29T00:22:57.841Z","0.13.0":"2024-03-29T00:50:13.026Z","0.14.0":"2024-03-29T16:17:54.489Z","0.14.1":"2024-04-22T23:36:17.788Z","0.14.2":"2024-05-06T21:14:11.783Z","0.14.3":"2024-05-10T17:08:54.296Z","0.15.0":"2024-08-29T17:25:51.667Z","0.16.0":"2024-12-19T17:37:36.276Z","0.16.1":"2025-01-18T17:52:01.759Z","0.17.0":"2025-04-10T22:34:15.023Z","0.18.0":"2025-04-11T19:26:11.507Z","0.19.0":"2025-05-30T00:32:04.329Z","0.20.0":"2025-06-01T23:08:05.459Z","0.20.1":"2025-06-23T17:46:09.193Z","0.20.2":"2026-02-17T23:42:28.005Z"},"bugs":{"url":"https://github.com/acusti/uikit/issues"},"author":{"name":"andrew patton","email":"andrew@acusti.ca","url":"https://www.acusti.ca"},"license":"Unlicense","homepage":"https://github.com/acusti/uikit/tree/main/packages/parsing#readme","keywords":["parse","parsing","json","llm","genai","generative-ai"],"repository":{"type":"git","url":"git+https://github.com/acusti/uikit.git","directory":"packages/parsing"},"description":"Loosely parse a string as JSON with numerous affordances for syntax errors","maintainers":[{"name":"acusti","email":"andrew@acusti.ca"}],"readme":"# @acusti/parsing\n\n[![latest version](https://img.shields.io/npm/v/@acusti/parsing?style=for-the-badge)](https://www.npmjs.com/package/@acusti/parsing)\n[![downloads per month](https://img.shields.io/npm/dm/@acusti/parsing?style=for-the-badge)](https://www.npmjs.com/package/@acusti/parsing)\n[![bundle size](https://deno.bundlejs.com/badge?q=@acusti/parsing)](https://bundlejs.com/?q=%40acusti%2Fparsing)\n[![supply chain security](https://socket.dev/api/badge/npm/package/@acusti/parsing/0.20.1)](https://socket.dev/npm/package/@acusti/parsing/overview/0.20.1)\n\n`@acusti/parsing` exports `parseAsJSON`, a function that takes a string and\nattempts to parse it as JSON, returning the resulting JS value, or `null`\nif the string defeated all attempts at parsing it. This is especially\nuseful for generative AI when you prompt an LLM to generate a response in\nJSON, because most models are unable to consistently generate valid JSON,\nand even when they do, will often have a pre- or post-amble as a part of\nthe response.\n\nThe [unit tests][] show the kinds of LLM responses and syntax errors that\nthe package can fix and convert into a valid result.\n\n## Usage\n\n```\nnpm install @acusti/parsing\n# or\nyarn add @acusti/parsing\n```\n\nImport `parseAsJSON` (it’s a named export) and pass a string to it:\n\n````js\nimport { parseAsJSON } from '@acusti/parsing';\n\n// it might neglect to close the outer curly braces\nparseAsJSON(`  Sure, here's an example of a JSON response for the \"Contact Form\" page:\n{\n    \"heading\": \"Get in Touch\",\n    \"form\": {\n        \"email\": \"info@example.net\",\n        \"message\": \"Please enter your message or inquiry below\"\n    }\n`);\n/* results in:\n{\n    heading: 'Get in Touch',\n    form: {\n        email: 'info@example.net',\n        message: 'Please enter your message or inquiry below',\n    },\n}\n*/\n\n// you might get a \"key\": \"value\" list with no syntax around it\nparseAsJSON(` Here are the props for the \"Blog\" page:\nProps:\n\"blogPostImage1\": \"/images/blog-post-image1.jpg\",\n\"blogPostSubheading1\": \"Exploring the Art of Sourdough Baking\",\n\"blogPostHeading1\": \"The Magic of Sourdough\",\n\"blogPostLede1\": \"At Masa Madre, we're passionate about creating the perfect sourdough bread. Learn more about the art and craft of this ancient tradition.\",\n\"blogPostImage2\": \"/images/blog-post-image2.jpg\",\n\"blogPostSubheading2\": \"From Seed to Loaf\",\n\"blogPostHeading2\": \"Our Journey to Your Table\",\n\"blogPostLede2\": \"Discover the journey of our sourdough bread, from the seed to the loaf.\",\n\"blogPostImage3\": \"/images/blog-post-image3.jpg\",\n\"blogPostSubheading3\": \"Sourdough 101\",\n\"blogPostHeading3\": \"Learn the Basics of Artisanal Bread Making\",\n\"blogPostLede3\": \"Get started on your sourdough journey with our beginner's guide to artisanal bread making.\",\n`);\n/* results in:\n{\n    blogPostImage1: '/images/blog-post-image1.jpg',\n    blogPostSubheading1: 'Exploring the Art of Sourdough Baking',\n    blogPostHeading1: 'The Magic of Sourdough',\n    blogPostLede1: \"At Masa Madre, we're passionate about creating the perfect sourdough bread. Learn more about the art and craft of this ancient tradition.\",\n    blogPostImage2: '/images/blog-post-image2.jpg',\n    blogPostSubheading2: 'From Seed to Loaf',\n    blogPostHeading2: 'Our Journey to Your Table',\n    blogPostLede2: 'Discover the journey of our sourdough bread, from the seed to the loaf.',\n    blogPostImage3: '/images/blog-post-image3.jpg',\n    blogPostSubheading3: 'Sourdough 101',\n    blogPostHeading3: 'Learn the Basics of Artisanal Bread Making',\n    blogPostLede3: \"Get started on your sourdough journey with our beginner's guide to artisanal bread making.\",\n}\n*/\n\n// in case llama 2 decides to give you a markdown table to represent the JSON\nparseAsJSON(`Here are the props for Vytas' Hatha Yoga classes:\nProps:\n| Prop Name | Value |\n| blogPostImage1 | /vytas-yoga-class-background.jpg |\n| shortBlogPostCaption1 | \"Find inner peace and balance through physical postures and breathing techniques\" |\n| blogPostHeading1 | \"Hatha Yoga Classes with Vytas\" |\n| miniBlogPostLede1 | \"Discover the transformative power of Hatha Yoga with Vytas, a seasoned yoga teacher\" |\n| blogPostImage2 | /vytas-yoga-community-background.jpg |\n| shortBlogPostCaption2 | \"Join a supportive community of like-minded individuals and deepen your practice with Vytas\" |\n| blogPostHeading2 | \"Community and Connection\" |\n| miniBlogPostLede2 | \"Vytas' Hatha Yoga classes offer a sense of community and connection\" | |`);\n/* results in:\n{\n    'Prop Name': 'Value',\n    blogPostImage1: '/vytas-yoga-class-background.jpg',\n    shortBlogPostCaption1: 'Find inner peace and balance through physical postures and breathing techniques',\n    blogPostHeading1: 'Hatha Yoga Classes with Vytas',\n    miniBlogPostLede1: 'Discover the transformative power of Hatha Yoga with Vytas, a seasoned yoga teacher',\n    blogPostImage2: '/vytas-yoga-community-background.jpg',\n    shortBlogPostCaption2: 'Join a supportive community of like-minded individuals and deepen your practice with Vytas',\n    blogPostHeading2: 'Community and Connection',\n    miniBlogPostLede2: \"Vytas' Hatha Yoga classes offer a sense of community and connection\",\n}\n*/\n\n// it might prematurely close the outer JSON object even though the content continues\nparseAsJSON(\n    '```json\\n{\"heading\":\"Organic Produce\",\"subheading\":\"The Benefits of Going Organic\",\"description\":\"Organic produce is grown without the use of synthetic pesticides, herbicides, or fertilizers.\"},\"items\":[{\"heading\":\"Organic Fruits\",\"subheading\":\"Nature\\'s Sweet Treats\"},{\"heading\":\"Organic Vegetables\",\"subheading\":\"Fresh from the Garden\"}]}\\n```',\n);\n/* results in:\n{\n    heading: 'Organic Produce',\n    subheading: 'The Benefits of Going Organic',\n    description: 'Organic produce is grown without the use of synthetic pesticides, herbicides, or fertilizers.',\n    items: [\n        {\n            heading: 'Organic Fruits',\n            subheading: \"Nature's Sweet Treats\",\n        },\n        {\n            heading: 'Organic Vegetables',\n            subheading: 'Fresh from the Garden',\n        },\n    ],\n}\n*/\n````\n\nAgain, there are more examples of the kinds of things that the parser can\nhandle in the [unit tests][].\n\nAlso, if you’re wondering the best way to get an LLM to return JSON, I\nfound the few-shot prompting approach suggested in Pinecone’s [Llama 2: AI\nDevelopers Handbook][] helpful with a variety of different models (Llama 2\n7B, OpenChat 3.5, OpenHermes 2.5, Zephyr 7B).\n\n[unit tests]:\n    https://github.com/acusti/uikit/blob/main/packages/parsing/src/parse-as-json.test.ts\n[llama 2: ai developers handbook]:\n    https://www.pinecone.io/learn/llama-2/#Llama-2-Chat-Prompt-Structure\n","readmeFilename":"README.md"}