{"_id":"@allemandi/bible-validate","_rev":"23-e6962a27f5bac8a7b5dd95e02db78f59","name":"@allemandi/bible-validate","dist-tags":{"latest":"2.2.13"},"versions":{"0.1.0":{"name":"@allemandi/bible-validate","version":"0.1.0","keywords":["bible","validation","verses"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@0.1.0","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"d4f80cecf86e39d4a0b0e4b88d4af27417efade3","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-0.1.0.tgz","fileCount":11,"integrity":"sha512-Nxolzhemiqb+K4DjNpq7FTYQZmkqJaszsr9etgoa0qbh2aRGLWbzjOERaqiU7OZwsJGb/Hoyh+W1psqJgjDPMA==","signatures":[{"sig":"MEQCIFix+T/A+BovlXiW4cpqVnUzTMDo+qggvQTwGWB+pBcdAiBbTjiJ/gBu1SvCwbNyaSpaYgKo6xAMOn9lqa+C+yOucA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32940},"main":"dist/index.cjs","type":"module","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Lightweight Bible passage validation utilities.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_0.1.0_1748191267168_0.8334925310077024","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@allemandi/bible-validate","version":"1.0.0","keywords":["bible","validation","verses"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@1.0.0","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"e12ded172e4cf291a8addc5af91cd07c73ebaa2c","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-1.0.0.tgz","fileCount":11,"integrity":"sha512-+hai+lXH9KR5Zr7Cm5HsjX22as1KoPzGro5TBmaSVTnFz41ELJf0KOuDCamkUI2rnkJU960Vi0FxmsX5xrWk1w==","signatures":[{"sig":"MEYCIQDHcdVFQUE+dCHNX9UOmwpGtil19HEa0Q9t3it8r6+nfwIhAP4IIU7lgGsl4o+pq7MENu8MZp9XpmuYpl8X33L9tweg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72234},"main":"dist/index.cjs","type":"module","module":"dist/index.module.js","source":"src/index.js","browser":"dist/index.umd.js","exports":{"import":"./dist/index.module.js","browser":"./dist/index.umd.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for Bible passage validation","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_1.0.0_1748212363974_0.5525399101671222","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@allemandi/bible-validate","version":"1.0.1","keywords":["bible","validation","verses"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@1.0.1","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"83e442e3ab3f0431ef743960191d14635ad81070","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-1.0.1.tgz","fileCount":11,"integrity":"sha512-UEivYkKYbO1G2KJA6emMvRgKzSizqUI6hiG1+adqZxnbzW//L54Tv6rGwqlCaUf1B6zeQ2pn3ROO7vjUjNBVyA==","signatures":[{"sig":"MEUCIBBDCFjp6cpkzpFAUaTFYwsoWvQ6a6Csq49fM0LIHuudAiEA5GJ3gUkElynS6+dIh+95FGmctPk9r6eti/OMa3q4Czk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72255},"main":"dist/index.cjs","type":"module","module":"dist/index.module.js","source":"src/index.js","browser":"dist/index.umd.js","exports":{"import":"./dist/index.module.js","browser":"./dist/index.umd.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for Bible passage validation","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_1.0.1_1748213369909_0.6566938777040376","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@allemandi/bible-validate","version":"1.0.2","keywords":["bible","validation","verses"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@1.0.2","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"ea6ff7c240a4bfd8a3801e2cd1f75219157be11b","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-1.0.2.tgz","fileCount":11,"integrity":"sha512-SqrbmBptYW7xOjNEzIpyIT2kGSHiikKuQ7+8D/9eyclCEupowlelRsZPLltSDk375nDPEEAL8RnV86Mp7Bo9pg==","signatures":[{"sig":"MEUCIB/efwVibLeJ5MID3qVkfhW5YlqzMAeQSRz7WBjBP3EVAiEA4v5sdHuLzODq5ROGiL3irFzA2GiOXfetO5ya/10PI9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72536},"main":"dist/index.cjs","type":"module","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for Bible passage validation","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_1.0.2_1748214073765_0.2653219626481471","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@allemandi/bible-validate","version":"1.0.3","keywords":["bible","validation","verses"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@1.0.3","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"42d301b4263c993e75a783086660ab06b66aa04a","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-1.0.3.tgz","fileCount":11,"integrity":"sha512-dLI6uhrgt5OmOeXmb2xQ+xroVgF4fajiSca+RMzxbd/sND08hH1PjRRKwLTSOPxKeeD4b94QwGpNdvgGrIvpGA==","signatures":[{"sig":"MEQCIBNmj1mEznw/WH0eai14dkxQ3FsnhzWCT1ti2D2sc27rAiByBDu87JJ1clYnCC+HI0wWSn1jrJNhw7Oe+auOUh00xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81677},"main":"dist/index.cjs","type":"module","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_1.0.3_1748220163180_0.3825886581038711","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@allemandi/bible-validate","version":"1.0.4","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@1.0.4","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"dcc39ce8d7202c2249e183d771826a7b500c1709","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-1.0.4.tgz","fileCount":11,"integrity":"sha512-i7nmkcj/BzrwJwHLKYfK7v42bMmCgYPxXEVlRxEHSDb2sgvP5ev5UEdPegHrl+kw81UwekU1LuE8F4j4ffNkuw==","signatures":[{"sig":"MEUCIC5Xk62fCQdIsqVyOcjkqD+OcwZzymFTMkBzRPkAq45BAiEApjwrx83sLxlDsS1yLC6nB0nWRgEFOqdmALMv2nSPxBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81926},"main":"dist/index.cjs","type":"module","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_1.0.4_1748224138286_0.8304125434050023","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@allemandi/bible-validate","version":"1.1.0","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@1.1.0","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"2379438950a2be0d1d63a41202a3dd02d113b1f3","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-1.1.0.tgz","fileCount":11,"integrity":"sha512-CVwzbmxeHF8pApgi6v62gZtT0cqmJNI4AyHE07YMPyiPz3MN8um5zxZLJlmrZ1PcjpYXExDKmh0SgyDSlby7nQ==","signatures":[{"sig":"MEYCIQDSyKcw/fqyVj3IYL/S6aGVGQEwlTAUaFee3IoxUfon/gIhAMSPbBaTMVB1fg8feSoSKhzP7QYqyB+epcsnCOnKlTXU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96769},"main":"dist/index.cjs","type":"module","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_1.1.0_1748281016804_0.25420129568911176","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@allemandi/bible-validate","version":"1.1.1","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@1.1.1","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"0791924d22b4169773151de4c2dd4e570114abb9","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-1.1.1.tgz","fileCount":11,"integrity":"sha512-gQ9WXdFokIT+gMLKOE3u5EfTaB1XL2RcMvIGxmI1f30GjLjA2s2EZA+OXpUATCgCYs0ztW5DUvlHPRugbIRbeg==","signatures":[{"sig":"MEUCIHDwziLuaEd2fVS9qogYPTAq5w/yDdfnGOcGoKz4XMp7AiEA7jDLJ+C74hUgfRJhvSr9DaEdMh30jTzCiLev4aAMR+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95960},"main":"dist/index.cjs","type":"module","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_1.1.1_1748680557252_0.8656511526165029","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@allemandi/bible-validate","version":"2.0.0","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.0.0","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"f00b1bae02fea641b349f6c253ea5e90ab03dcdf","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.0.0.tgz","fileCount":11,"integrity":"sha512-AijtDi0/U8J+sRmzDaN3MhK+ALCseqq7kSEzX9B0XpXnVzD3Qq/BhQa9KxAaZBbgPnX6ZEXwgzJUGLorcATx5g==","signatures":[{"sig":"MEQCIGIxNNIAUaJliAwWViYvwxc7v1vkLuXUvheWg82+jNiaAiAsMK59TI9YU1m53UP3FkiTECnNnXA6HhCbbU99BsYP8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94741},"main":"dist/index.cjs","type":"module","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.0.0_1748683562178_0.5307940481285134","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@allemandi/bible-validate","version":"2.1.0","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.1.0","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"99aca212070f8b0d04ddcd992efb70e3409859a4","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.1.0.tgz","fileCount":11,"integrity":"sha512-cP7cZKZRHB4If0bcw/VShTPmTYwiM/EInfCsm8cVqOsWaY7kBc1pyURGYa5SUd6RCkmL+FUGwrwoKpj1BUXACw==","signatures":[{"sig":"MEQCIA22UXM9x1QhQx/9l54LBdtAy54D1EyHFLTN0mMo+G6mAiANM0mUwUVIzfhK1huNG9Wh5MGAoFoZrNaXyQ/d9bxZZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96608},"main":"dist/index.cjs","type":"module","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":"./dist/index.module.js","require":"./dist/index.cjs"},"scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/.bin/jest","build":"microbundle --name bibleValidate"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","microbundle":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.1.0_1748686938773_0.41507117713213293","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@allemandi/bible-validate","version":"2.2.0","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.0","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"8fbffa1aa5521d7c78b365409be6226edbe22292","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.0.tgz","fileCount":24,"integrity":"sha512-1jo0OWzpcKxJmT79e5aCu+jJH8CddgUO9XtV6Z6FkKYNGAIv8cmWrFzpwide6Pw4sGgBV7/4XUohAylfStTRNQ==","signatures":[{"sig":"MEYCIQDxHr6l5oSpMUb/4C2LdSrRvyDAIApMZwVhZNHBHPyvPwIhAP67iSZXAV/KrWg+DsPnno7AEkh+hHBUXPWgs16XwOjP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151356},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"microbundle --name bibleValidate","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","typescript":"^5.8.3","microbundle":"^0.15.1","documentation":"^14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.0_1748735524966_0.20785591354862532","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@allemandi/bible-validate","version":"2.2.2","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.2","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"76d47c5a5191fb778d8b3eacb5ea3eced0b4ce0e","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.2.tgz","fileCount":24,"integrity":"sha512-apjC8j0OssVwSxxpW7pGBoGWb5tdzXYAdUP41TZip83IQkeP9iMoKiDoD8IEQqrjAtnwoEcUsfN5J3bGRXxqdA==","signatures":[{"sig":"MEUCIBXIq9joJpk3Oak5XQ1okRwRqm5U06nuuMhRDOkDYuAAAiEAsLFNmpamQRr/KGx6h7R2/Ah3nK5D3D6jrXyjDbIlgqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150064},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"microbundle --name bibleValidate","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Utilities for validating and parsing Bible references","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","typescript":"^5.8.3","microbundle":"^0.15.1","documentation":"^14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.2_1748795956380_0.15943147739106167","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"@allemandi/bible-validate","version":"2.2.3","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.3","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"b78c606541f56fb43aa27fda2ccfa1fb0cd4bc96","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.3.tgz","fileCount":24,"integrity":"sha512-MB52XIGI0AA8wnWrDpanrNY9u0tbfllPmHgmzMr29gwU8tvLiAVofTxpXwp3IKnmUmpVHcqum/H76vBe00F1Sw==","signatures":[{"sig":"MEYCIQCYXlDisvLs4BkdFdroE+r8TXhrSZ48KX/yYkHyl16x+wIhANvYRSo7XsEP95HX0j2vb1tRWWFFqdyGcSurmE6byavl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150111},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"microbundle --name bibleValidate","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","globals":"^16.1.0","@eslint/js":"^9.27.0","typescript":"^5.8.3","microbundle":"^0.15.1","documentation":"^14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.3_1749819909359_0.5753362281890533","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"@allemandi/bible-validate","version":"2.2.4","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.4","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"dist":{"shasum":"a2fc90e9f138438796b8939cea61bec5674d1f74","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.4.tgz","fileCount":24,"integrity":"sha512-6QAnTP+j3hZ7n1POUnmUMHMJ5DjZOz0nhgLIXFHhtz+e1JAWANGr3PH1qv8lncEOZ/Te/V7zDT2X9yFtuo9ytQ==","signatures":[{"sig":"MEYCIQDENfTjzr/jfyGL4TWx9q5cG22DctJLig6Ydkyq/a2MuwIhAMQ5lXuYdbv8RbWLmMSG7FCTI/UJm/Ht1xPukbxMUwPd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150111},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"microbundle --name bibleValidate","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"allemandi","email":"myallemandi@outlook.com"},"repository":{"url":"https://github.com/allemandi/bible-validate","type":"git"},"description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Daniel Lam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.1","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","microbundle":"^0.15.1","documentation":"^14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.4_1764886682806_0.19634275335335372","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"@allemandi/bible-validate","version":"2.2.5","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.5","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"5efe4abe026e9add8ebbaf8cd818adf20abe9d4d","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.5.tgz","fileCount":21,"integrity":"sha512-c6DvPH9yAM9cvgpf4Ap9h4fnJnzQwSGvpNaCoSLFmLc7QZXx9K0yRPMjfMGabX6OLv0b3/DCwE+m7Bl9YiAS4w==","signatures":[{"sig":"MEUCIQCRHbiHEUvQ2F9+vK0AuVQ8u5KLkGV2Iwl3C7lwdU6dOgIgYWJ4Fa4rF5s7f5NafSvvHRHw/VjXVJz21o97HmW6C1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150111},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"0975425776854a92838b2699367145b20050ad83","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"microbundle --name bibleValidate","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.7.0","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.1","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","microbundle":"^0.15.1","documentation":"^14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.5_1765503109668_0.7864018351482844","host":"s3://npm-registry-packages-npm-production"}},"2.2.6":{"name":"@allemandi/bible-validate","version":"2.2.6","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.6","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"10199f033436aa898abc8fe0041013894b4be396","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.6.tgz","fileCount":21,"integrity":"sha512-hK7+brRz84GL6Oyh17SvBWogrJwbpqEg7BF4OKI+OcLejzpm0QovIpgrN4ErvLhEXS1qyFiE5PtQK9/K3B2dhw==","signatures":[{"sig":"MEQCIB/UblkU/PNW3QJIBnqiifVNXAE+bbmYkzHhuwDsWU4NAiAP0u8fqXmEW4u3FXhY3eI4WvRkOadlxxULDDwxTy+pDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150111},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"cf72b69aa4bfa79f422d62d5f4f753a5409d642c","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"microbundle --name bibleValidate","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.10.0","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.39.1","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"^5.9.3","microbundle":"^0.15.1","documentation":"^14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.6_1771375133707_0.8527947589019218","host":"s3://npm-registry-packages-npm-production"}},"2.2.7":{"name":"@allemandi/bible-validate","version":"2.2.7","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.7","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"29a0d96d6cdd27183ac6c565a0ec0c631e97a97d","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.7.tgz","fileCount":21,"integrity":"sha512-4KXtiA+pnjNUW7iIzZTgGVCYznd6xJUBiCmuVYSXQSDBF7f7f7H5mBZYi4DbZwr6iqisW1duX2yWL/WarjRIHQ==","signatures":[{"sig":"MEUCIEFdOOizHDjzBWhFH7/VrUgtIdOpehR1+/J2vMjzEKoVAiEAgs+vSvHz13KbjFemnR7EwIP07DVCToGmvt0x4uYJE8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":214035},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"187d9a0260d58a7f0d6adf480ea099a9b8c82dab","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"rollup -c","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.11.0","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","rollup":"^4.59.0","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","documentation":"^14.0.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.7_1772420951110_0.3585665304673731","host":"s3://npm-registry-packages-npm-production"}},"2.2.8":{"name":"@allemandi/bible-validate","version":"2.2.8","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.8","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"e829a3ace0238da18417b328ce197bd76a1400d6","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.8.tgz","fileCount":21,"integrity":"sha512-uk2Au8e2GxFxgRGOJT0X99qpz68lh0crmomqrIUkO2ipPr+duc+vjEdJV132tpJfzagcirA5KXNqTBvIFofKoQ==","signatures":[{"sig":"MEYCIQC3/rHYdWqPna6Wy7EUGiki2Bl0Y56sN9T0yADNdgioHgIhAK12tI4XzmCIDmJky+Uq5F9W7sMDjrADqtSJ5JDhu7zk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247040},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"6452a393994ffde2ab9772cde5527ea438f557e7","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"rollup -c","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.11.0","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","rollup":"^4.59.0","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","documentation":"^14.0.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.8_1772422057730_0.5039998404822148","host":"s3://npm-registry-packages-npm-production"}},"2.2.9":{"name":"@allemandi/bible-validate","version":"2.2.9","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.9","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"a611b5daa4a7bfcce72a0dbb316ac037ef3c1c22","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.9.tgz","fileCount":21,"integrity":"sha512-TWR7n7uaPGnJUqd4i1erW6hsnW3VggwifUgTJ0iBWfMgxhfXbR7yONkrz7jf4CYiPlslVKguU6Tt1lNgA8XDGA==","signatures":[{"sig":"MEUCIQCkZIcx763pqjqhje8t1BMsAKQyeIZhToyqqgvi+l2nNgIgOhzSsV/ti3YhRodi3ivAp6xPvHwC2nx3Zw2Ij5jJtS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247040},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"be0266262cb1430421efb5127eee332d8dd18120","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn run test:jest && yarn run test:types","build":"yarn run build:js && yarn run build:types","build:js":"rollup -c","test:jest":"node --experimental-vm-modules node_modules/.bin/jest","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.11.0","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","rollup":"^4.59.0","globals":"^17.4.0","@eslint/js":"^10.0.1","typescript":"^5.9.3","documentation":"^14.0.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.9_1772422465982_0.6140574824270184","host":"s3://npm-registry-packages-npm-production"}},"2.2.10":{"name":"@allemandi/bible-validate","version":"2.2.10","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.10","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"30a0ee9e87f19472620806b5a8bddc9405bf3cfb","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.10.tgz","fileCount":21,"integrity":"sha512-sEh2lnBNYihVirvw4sYkX8Od9tib52IH/tgw28sZCOgTm2US87c5oKw0bCHtt7o4kXaWHfnts1zcEa0a/c0GaA==","signatures":[{"sig":"MEUCIQD8hdGPw6Vzo/5AwVDdf/DriL7r9yeccr+X3yfGj0aOeAIgf57OmLoGguU765HTBjRCbjrRJewUeFJvIpI4m62tU8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264989},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"f27708a2052506952963700dcf1736e06149b869","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn test:jest && yarn test:types","build":"yarn build:types && yarn build:js","build:js":"rollup -c","test:jest":"node --experimental-vm-modules $(yarn bin jest)","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.11.1","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","rollup":"^4.59.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","documentation":"^14.0.3","rollup-plugin-dts":"^6.4.0","@rollup/plugin-json":"^6.1.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.10_1773594085708_0.21990128927231778","host":"s3://npm-registry-packages-npm-production"}},"2.2.11":{"name":"@allemandi/bible-validate","version":"2.2.11","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.11","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"78c4441f6c3743c2cbecd77fd68428e359eaf88f","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.11.tgz","fileCount":21,"integrity":"sha512-EyRswLfi7qq9TdvrICkugG9UuRy3RBMQuXGo7GnfkUpP5pevVt/UJnyXWaEqnm73+/6EdUnNkfKMTzZZvxGNkA==","signatures":[{"sig":"MEYCIQDImFtuX81kZoYM/zz7UUK71YCGpcXmHDb0/P69Nj65ygIhAOOXbbStqsHFHAu8jiqbYnhvxIEgTWP5cWDVdciPzAgA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265093},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"49594c811d8edcd188fd040d7e3cf2a6ea0da759","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn test:jest && yarn test:types","build":"yarn build:types && yarn build:js","build:js":"rollup -c","test:dist":"node tests/smoke-cjs.cjs && node tests/smoke-esm.js && node tests/smoke-umd.cjs","test:jest":"node --experimental-vm-modules $(yarn bin jest)","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.11.1","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","rollup":"^4.59.0","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","documentation":"^14.0.3","rollup-plugin-dts":"^6.4.0","@rollup/plugin-json":"^6.1.0","eslint-config-prettier":"^10.1.8","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.11_1773712211100_0.4175814104441886","host":"s3://npm-registry-packages-npm-production"}},"2.2.12":{"name":"@allemandi/bible-validate","version":"2.2.12","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","_id":"@allemandi/bible-validate@2.2.12","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"homepage":"https://github.com/allemandi/bible-validate#readme","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"dist":{"shasum":"3db554966608b955d55abc4e662f2f467fd9b12e","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.12.tgz","fileCount":21,"integrity":"sha512-9ImapVt+8hpbKhp9wTVma3+/2FpR32CCvYSOaZeD5spi+4jhTLIgWewxHbxDZZgYThR0VoQseMCyE+4Lg4XW8g==","signatures":[{"sig":"MEUCIQCI9zGo/gh6NhQFLSYPfdOnhvvLloS+i9LxC7PYmD//9gIgPux3b9MKe5AlpKFqeLG6gaZklfFdBorTjMMj40El7tI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265002},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","module":"dist/index.module.js","source":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"gitHead":"0758c39e90eb27788af0fe3c5178af1fbf159598","scripts":{"docs":"documentation build src/*.js -f md -o ./docs/API.md --access public --sort-order kind","lint":"eslint .","test":"yarn test:jest && yarn test:types","build":"yarn build:types && yarn build:js","build:js":"rollup -c","test:dist":"node tests/smoke-cjs.cjs && node tests/smoke-esm.js && node tests/smoke-umd.cjs","test:jest":"node --experimental-vm-modules $(yarn bin jest)","test:types":"tsc --noEmit","build:types":"tsc --project tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"repository":{"url":"git+https://github.com/allemandi/bible-validate.git","type":"git"},"_npmVersion":"11.12.1","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"10.2.0","rollup":"4.60.1","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"6.0.2","documentation":"^14.0.3","rollup-plugin-dts":"6.4.1","@rollup/plugin-json":"^6.1.0","eslint-config-prettier":"^10.1.8"},"_npmOperationalInternal":{"tmp":"tmp/bible-validate_2.2.12_1775563920852_0.7375983544779532","host":"s3://npm-registry-packages-npm-production"}},"2.2.13":{"name":"@allemandi/bible-validate","version":"2.2.13","description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","sideEffects":false,"engines":{"node":">=18.0.0"},"main":"dist/index.cjs","module":"dist/index.module.js","types":"dist/index.d.ts","unpkg":"dist/index.umd.js","source":"src/index.js","type":"module","exports":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.module.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"scripts":{"test:jest":"node --experimental-vm-modules $(yarn bin jest)","test:types":"tsc --noEmit","test:dist":"node tests/smoke-cjs.cjs && node tests/smoke-esm.js && node tests/smoke-umd.cjs","test":"yarn test:jest && yarn test:types","lint":"eslint .","build:js":"rollup -c","build:types":"tsc --project tsconfig.json","build":"yarn build:types && yarn build:js"},"repository":{"type":"git","url":"git+https://github.com/allemandi/bible-validate.git"},"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","devDependencies":{"@eslint/js":"^10.0.1","@rollup/plugin-json":"^6.1.0","@typescript/native":"npm:typescript@^7.0.2","eslint":"10.7.0","eslint-config-prettier":"^10.1.8","globals":"^17.4.0","jest":"^30.2.0","prettier":"^3.8.1","rollup":"4.62.2","rollup-plugin-dts":"6.4.1","typescript":"npm:@typescript/typescript6@^6.0.2"},"gitHead":"bcfedfe15174c3574a9042938d66f4f25264b509","_id":"@allemandi/bible-validate@2.2.13","bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"homepage":"https://github.com/allemandi/bible-validate#readme","_nodeVersion":"22.23.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-nHAeMKwTLmET3NvnXHqd1BQPQkgb6o8cNmeKhxOkKf+0Oj8cfqukUWHMqorzgD/eFwlpVcnKB/fA/FekTDQSag==","shasum":"7d6dc707e8f55101cc520fa49054c240ded945d8","tarball":"https://registry.npmjs.org/@allemandi/bible-validate/-/bible-validate-2.2.13.tgz","fileCount":21,"unpackedSize":284781,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allemandi%2fbible-validate@2.2.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIATF5Pa4DYIvFkcSDEGVJ4TsOtq6rnMbgRtQCrLTd7caAiEAvLwJ6u3rmZj1r+MGwo6G4XtCiYaGkb+RTxx2lc8xF4g="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6d66cd64-7c12-40d2-acb7-90236b0e5db6"}},"directories":{},"maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bible-validate_2.2.13_1786482239256_0.7134509654438361"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-25T16:41:07.101Z","modified":"2026-08-11T21:03:59.706Z","0.1.0":"2025-05-25T16:41:07.344Z","1.0.0":"2025-05-25T22:32:44.202Z","1.0.1":"2025-05-25T22:49:30.165Z","1.0.2":"2025-05-25T23:01:13.954Z","1.0.3":"2025-05-26T00:42:43.370Z","1.0.4":"2025-05-26T01:48:58.483Z","1.1.0":"2025-05-26T17:36:56.961Z","1.1.1":"2025-05-31T08:35:57.487Z","2.0.0":"2025-05-31T09:26:02.381Z","2.1.0":"2025-05-31T10:22:18.939Z","2.2.0":"2025-05-31T23:52:05.194Z","2.2.2":"2025-06-01T16:39:16.558Z","2.2.3":"2025-06-13T13:05:09.559Z","2.2.4":"2025-12-04T22:18:03.049Z","2.2.5":"2025-12-12T01:31:49.810Z","2.2.6":"2026-02-18T00:38:53.864Z","2.2.7":"2026-03-02T03:09:11.269Z","2.2.8":"2026-03-02T03:27:37.883Z","2.2.9":"2026-03-02T03:34:26.118Z","2.2.10":"2026-03-15T17:01:25.886Z","2.2.11":"2026-03-17T01:50:11.252Z","2.2.12":"2026-04-07T12:12:01.103Z","2.2.13":"2026-08-11T21:03:59.407Z"},"bugs":{"url":"https://github.com/allemandi/bible-validate/issues"},"author":{"name":"allemandi","email":"69766017+allemandi@users.noreply.github.com"},"license":"MIT","homepage":"https://github.com/allemandi/bible-validate#readme","keywords":["bible","scripture","bible-reference","bible-parser","bible-validation","reference-parser","verse-parser","chapter-verse","bible-books","bible-utils","bible-format","bible-api","umd","esm","commonjs"],"repository":{"type":"git","url":"git+https://github.com/allemandi/bible-validate.git"},"description":"Fast, type-safe utilities for parsing, validating, and normalizing Bible references.","maintainers":[{"name":"allemandi","email":"myallemandi@outlook.com"}],"readme":"# 📖 @allemandi/bible-validate\n\n[![NPM Version](https://img.shields.io/npm/v/@allemandi/bible-validate)](https://www.npmjs.com/package/@allemandi/bible-validate)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/allemandi/bible-validate/blob/main/LICENSE)\n\n> **Fast, type-safe utilities for parsing, validating, and normalizing Bible references.**\n>\n> Works in Node.js, browsers – supports ESM, CommonJS, UMD, and TypeScript.\n\n<!-- omit from toc -->\n\n## 🔖 Table of Contents\n\n- [✨ Features](#-features)\n- [🛠️ Installation](#️-installation)\n- [🚀 Quick Usage Examples](#-quick-usage-examples)\n- [📚 API Reference](#-api-reference)\n  - [parseBibleReference](#parsebiblereference)\n  - [normalizeBookName](#normalizebookname)\n  - [parseChapterVerse](#parsechapterverse)\n  - [extractBookAndRange](#extractbookandrange)\n  - [isValidBook](#isvalidbook)\n  - [isValidChapter](#isvalidchapter)\n  - [isValidReference](#isvalidreference)\n  - [formatReference](#formatreference)\n  - [parseAndValidateReference](#parseandvalidatereference)\n  - [getBook](#getbook)\n  - [getChapterCount](#getchaptercount)\n  - [getVerseCount](#getversecount)\n  - [listBibleBooks](#listbiblebooks)\n  - [listAliases](#listaliases)\n  - [listChapters](#listchapters)\n  - [listVerses](#listverses)\n- [🧪 Tests](#-tests)\n- [🤝 Contributing](#-contributing)\n\n## ✨ Features\n\n- Validate Bible book names and aliases\n- Get chapter and verse counts\n- Normalize references (e.g. `\"III John Chapter 1 verses 3 - 8\"` to `\"3 John 1:3-8\"`)\n- Validate full references (book, chapter, verse range)\n- Parse and format Bible references with optional structured output\n\n## 🛠️ Installation\n\n```bash\n# Yarn\nyarn add @allemandi/bible-validate\n\n# or NPM\nnpm install @allemandi/bible-validate\n```\n\n## 🚀 Quick Usage Examples\n\n**ESM**\n\n```js\nimport { parseAndValidateReference, isValidBook, getChapterCount } from '@allemandi/bible-validate';\nconst ref = 'GeN Chapter 3:  16 to 18';\nconst result = parseAndValidateReference(ref, { structured: true });\nconsole.log(result);\n//  {\n//     isValid: true,\n//     book: 'Genesis',\n//     chapter: 3,\n//     verseStart: 16,\n//     verseEnd: 18,\n//     formatted: 'Genesis 3:16-18',\n//     error: null,\n//     original: 'GeN Chapter 3:  16 to 18'\n//   }\n\n// Check book validity\nconsole.log(isValidBook('Second Chronicles')); // true\n\n// Get verse count for specific chapter in a book\nconsole.log(getVerseCount('Rev', 3)); // 22\n```\n\n**CommonJS**\n\n```js\nconst { parseAndValidateReference } = require('@allemandi/bible-validate');\n```\n\n**UMD (Browser)**\n\n```html\n<script src=\"https://unpkg.com/@allemandi/bible-validate\"></script>\n<script>\n  const result = window.bibleValidate.parseAndValidateReference('John 3:16');\n  console.log(result);\n</script>\n```\n\n## 📚 API Reference\n\n---\n\n### parseBibleReference\n\nParses a Bible reference string into its book, chapter, and verse components, supporting various formats and spacing.\n\n#### Parameters\n\n- `ref` (`string`): The Bible reference string to parse, which may include ordinal prefixes, varying case, punctuation, and verse ranges.\n\n#### Return Value\n\n- `ParsedReference | null`: An object with normalized book name, chapter, verseStart, and verseEnd fields, or null if the input is not a string.\n\n#### Examples\n\n```javascript\n// Parses ordinal prefix and returns structured reference\nparseBibleReference('2nd Kings 4:2');\n// { book: '2kings', chapter: 4, verseStart: 2, verseEnd: null }\n\n// Handles mixed casing, chapter/verse labels, and verse range\nparseBibleReference(' Iii JohN  Chap. 1 verses 9 to  11');\n// { book: '3john', chapter: 1, verseStart: 9, verseEnd: 11 }\n\n// Returns null fields when chapter and verse are omitted\nparseBibleReference('Genesis');\n// { book: 'genesis', chapter: null, verseStart: null, verseEnd: null }\n\n// Cleans and parses input with excessive spacing\nparseBibleReference('  1st   Samuel    17 : 4-9 ');\n// { book: '1samuel', chapter: 17, verseStart: 4, verseEnd: 9 }\n\n// Returns null for invalid or non-string input\nparseBibleReference('!!!');\n// { book: null, chapter: null, verseStart: null, verseEnd: null }\nparseBibleReference(42); // null\n```\n\n---\n\n### normalizeBookName\n\nNormalizes a Bible book name or alias by trimming spaces, removing common prefixes, converting ordinal prefixes to digits, and stripping non-alphanumeric characters.\n\n#### Parameters\n\n- `name` (`string`): The raw book name or alias to normalize, possibly with prefixes, punctuation, and mixed case.\n\n#### Return Value\n\n- `string | null`: A cleaned lowercase alphanumeric string with numeric prefixes for ordinals, or null if input is null or undefined.\n\n#### Examples\n\n```javascript\n// Converts ordinal prefix to digit and removes punctuation\nnormalizeBookName('1st John'); // '1john'\n\n// Removes unified prefixes and lowercases the name\nnormalizeBookName('The Epistle to the Romans'); // 'romans'\n\n// Strips non-alphanumeric characters and trims spaces\nnormalizeBookName('  Book of *EX*  '); // 'ex'\n\n// Returns null if input is null or undefined\nnormalizeBookName(null); // null\n```\n\n---\n\n### parseChapterVerse\n\nParses a string representing a chapter and optional verse or verse range into an object with numeric values.\n\n#### Parameters\n\n- `str` (`string`): The string containing chapter and verse references, which may include words, punctuation, and ranges.\n\n#### Return Value\n\n- `Object | null`: An object with shape `{ chapter, verseStart, verseEnd }` or null if no numeric chapter is present.\n\n#### Examples\n\n```javascript\n// Parses chapter only reference\nparseChapterVerse('12'); // { chapter: 12, verseStart: null, verseEnd: null }\n\n// Parses chapter and single verse reference\nparseChapterVerse('5:3'); // { chapter: 5, verseStart: 3, verseEnd: null }\n\n// Parses chapter with verse range including words and punctuation\nparseChapterVerse('Chapter 13 Verses 4–7'); // { chapter: 13, verseStart: 4, verseEnd: 7 }\n\n// Parses chapter with verse range using \"to\" as a separator\nparseChapterVerse('chap. 13, v3 to 8'); // { chapter: 13, verseStart: 3, verseEnd: 8 }\n\n// Returns null if no numeric chapter is present\nparseChapterVerse('nonsense'); // null\n\n// Parses chapter and verse range with extra whitespace and punctuation\nparseChapterVerse('  10 : 2  - 6 '); // { chapter: 10, verseStart: 2, verseEnd: 6 }\n\n// Handles pure whitespace and number combination\nparseChapterVerse('  11  1   2 '); // { chapter: 11, verseStart: 1, verseEnd: 2 }\n```\n\n---\n\n### extractBookAndRange\n\nSplits a Bible reference string into the book name and chapter/verse range parts, trimming empty space. No further normalization.\n\n#### Parameters\n\n- `ref` (`string`): The Bible reference string containing a book name optionally followed by a chapter/verse range.\n\n#### Return Value\n\n- `Array<string | null>`: An array in the format `[bookName, range]` or `[null, null]` for empty or invalid input.\n\n#### Examples\n\n```javascript\n// Extracts book and range from a standard reference\nextractBookAndRange('1st John 3:16'); // ['1st John', '3:16']\n\n// Extracts book name with punctuation and range\nextractBookAndRange('The Revelation 4:5'); // [\"The Revelation\", '4:5']\n\n// Returns book name with empty range when no range is given\nextractBookAndRange('Genesis'); // ['Genesis', '']\n\n// Returns [null, null] for empty or invalid input\nextractBookAndRange(''); // [null, null]\n\n// Handles leading spaces and complex ranges with simple chapter abbreviations\nextractBookAndRange(' Exodus   12. 1 to 3'); // ['Exodus', '12. 1 to 3']\nextractBookAndRange('Exodus Chapter 12:1-3'); // ['Exodus', 'Chapter 12:1-3']\nextractBookAndRange(' Exodus  Ch. 12. 1 to 3'); // ['Exodus', 'Ch. 12. 1 to 3']\nextractBookAndRange('second Kings Chape 1 to 3'); // ['second Kings Chape', '1 to 3']\n```\n\n---\n\n### isValidBook\n\nChecks if a given book name or alias corresponds to a valid Bible book.\n\n#### Parameters\n\n- `book` (`string | null | undefined`): The name or alias of the book to lookup, which will be normalized internally.\n\n#### Return Value\n\n- `boolean`: True if the book exists in the Bible collection, false otherwise.\n\n#### Examples\n\n```javascript\n// Valid full book name returns true\nisValidBook('Genesis'); // true\n\n// Valid alias, case-insensitive, returns true\nisValidBook('gEn'); // true\n\n// Unknown book returns false\nisValidBook('Judas'); // false\n\n// Empty string returns false\nisValidBook(''); // false\n\n// Null or undefined input returns false\nisValidBook(null); // false\nisValidBook(undefined); // false\n```\n\n---\n\n### isValidChapter\n\nChecks if the given chapter number is valid for the specified Bible book.\n\n#### Parameters\n\n- `book` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n- `chapter` (`number`): The chapter number to check, expected to be a positive integer.\n\n#### Return Value\n\n- `boolean`: True if the chapter is within the valid range for the book; otherwise, false.\n\n#### Examples\n\n```javascript\n// Valid chapters for Genesis include 1 and 50\nisValidChapter('Genesis', 1); // true\nisValidChapter('Genesis', 50); // true\n\n// Invalid chapters are below 1 or above the book's chapter count\nisValidChapter('Genesis', 0); // false\nisValidChapter('Genesis', 51); // false\nisValidChapter('Genesis', -1); // false\n\n// Returns false if the book is unknown or input is null/undefined\nisValidChapter('Judas', 1); // false\nisValidChapter(null, 1); // false\nisValidChapter('Genesis', null); // false\n```\n\n---\n\n### isValidReference\n\nValidates whether a given Bible reference consisting of book, chapter, and verse(s) is valid.\n\n#### Parameters\n\n- `book` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n- `chapter` (`number`): The chapter number, must be a positive integer within the book's chapter count.\n- `verseStart` (`number`): The starting verse number, must be a positive integer within the chapter's verse count.\n- `verseEnd` (`number | null`, optional, default `null`): Optional ending verse number, must be greater than or equal to verseStart and within the chapter's verse count if provided.\n\n#### Return Value\n\n- `boolean`: True if the reference is valid within the book's chapter and verse bounds, otherwise false.\n\n#### Examples\n\n```javascript\n// Valid single verse in Genesis chapter 1\nisValidReference('Genesis', 1, 1); // true\n\n// Valid last verse in Genesis chapter 1\nisValidReference('Genesis', 1, 31); // true\n\n// Invalid verse number exceeding the number of verses in chapter 1 of Genesis\nisValidReference('Genesis', 1, 32); // false\n\n// Invalid chapter number (0) in Genesis\nisValidReference('Genesis', 0, 1); // false\n\n// Invalid verse number (0) in Genesis chapter 1\nisValidReference('Genesis', 1, 0); // false\n\n// Invalid unknown book name returns false\nisValidReference('Blah', 1, 1); // false\n\n// Reference with a verse range, valid only if verseEnd >= verseStart and within chapter verse count\nisValidReference('Genesis', 1, 1, 5); // true\n\n// Case-insensitive book name input is accepted\nisValidReference('gEnEsIs', 1, 1); // true\n```\n\n---\n\n### formatReference\n\nFormats a scripture reference string based on the provided input. Input is not normalized.\n\n#### Parameters\n\n- `reference` (`Object`): The reference object.\n  - `reference.book` (`string`): The name of the book (e.g., \"Genesis\").\n  - `reference.chapter` (`number`, optional): The chapter number.\n  - `reference.verseStart` (`number`, optional): The starting verse number.\n  - `reference.verseEnd` (`number | null`, optional): The ending verse number (optional, used for ranges).\n\n#### Return Value\n\n- `string`: A formatted Bible reference (e.g., \"Genesis 1:1-5\"). Returns an empty string if no input is provided.\n\n#### Examples\n\n```javascript\nformatReference({}); // ''\nformatReference({ book: 'Genesis' }); // 'Genesis'\nformatReference({ book: 'Genesis', chapter: 1 }); // 'Genesis 1'\nformatReference({ book: 'Genesis', chapter: 1, verseStart: 1 }); // 'Genesis 1:1'\nformatReference({ book: 'Genesis', chapter: 1, verseStart: 1, verseEnd: 5 }); // 'Genesis 1:1-5'\nformatReference({ book: 'Genesis', chapter: 1, verseStart: 3, verseEnd: 3 }); // 'Genesis 1:3'\n```\n\n---\n\n### parseAndValidateReference\n\nParses and validates a Bible reference string.\n\n#### Parameters\n\n- `reference` (`string`): The raw Bible reference string to be parsed, normalized, and formatted (e.g., \"Genesis 1:1\", \"Letter to the Romans. Ch 2 , 1 to 3\").\n- `options` (`Object`, optional, default `{}`): Optional configuration.\n  - `options.structured` (`boolean`, optional, default `false`): If true, returns the detailed structured object.\n\n#### Return Value\n\n- `SimpleResult | StructuredResult`: Result object depending on `options.structured`.\n\n#### Examples\n\n```javascript\nparseAndValidateReference('  GN. Ch 1 , 1 to 3');\n// → { isValid: true, formatted: 'Genesis 1:1-3', error: null, original: '  GN. Ch 1 , 1 to 3' }\n\nparseAndValidateReference('gEnEsIs 1 verse 1', { structured: true });\n// → {\n//     isValid: true,\n//     book: 'Genesis',\n//     chapter: 1,\n//     verseStart: 1,\n//     verseEnd: null,\n//     formatted: 'Genesis 1:1',\n//     error: null,\n//     original: 'gEnEsIs 1 verse 1'\n//   }\n\nparseAndValidateReference('Book of Judas 1:1');\n// → { isValid: false, error: 'Invalid book name', original: 'Book of Judas 1:1' }\n```\n\n---\n\n### getBook\n\nRetrieves a book object from the Bible collection matching the given book name or its aliases, ignoring case and special characters.\n\n#### Parameters\n\n- `book` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n\n#### Return Value\n\n- `BibleBook | null`: The matched book object containing book name, aliases, and chapters, or null if no match is found.\n\n#### Examples\n\n```javascript\n// Returns the Genesis book object with its aliases and 50 chapters\ngetBook('Genesis'); // { book: 'Genesis', aliases: ['Gen', 'Ge', 'Gn'], chapters: [...] }\n\n// Returns the Song of Solomon book object when queried with a normalized alias ignoring punctuation and case\ngetBook('The CANticle of CantiClEs !!?*'); // { book: 'Song of Solomon', aliases: [...], chapters: [...] }\n\n// Returns null for an unknown or invalid book name\ngetBook('Judas'); // null\n```\n\n---\n\n### getChapterCount\n\nReturns the number of chapters for a given Bible book name or alias, or null if the book is not found.\n\n#### Parameters\n\n- `name` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n\n#### Return Value\n\n- `number | null`: The total number of chapters in the matched book, or null if no book is found.\n\n#### Examples\n\n```javascript\n// Returns 50 chapters for Genesis\ngetChapterCount('Genesis'); // 50\n\n// Returns null for an unknown or invalid book name\ngetChapterCount('Judas');\n```\n\n---\n\n### getVerseCount\n\nReturns the number of verses in a specified chapter of a given Bible book, or null if the book or chapter is invalid.\n\n#### Parameters\n\n- `name` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n- `chapter` (`number`): The chapter number to retrieve the verse count for; must be within valid range.\n\n#### Return Value\n\n- `number | null`: The count of verses in the specified chapter, or null if the book is unknown or chapter is out of bounds.\n\n#### Examples\n\n```javascript\n// Returns 25, the number of verses in Genesis chapter 2\ngetVerseCount('GeN.  ', 2); // 25\n\n// Returns null for an invalid book name\ngetVerseCount('Judas', 1);\n\n// Returns null for a chapter number that is too high\ngetVerseCount('Genesis', 999);\n\n// Returns null for a chapter number less than 1\ngetVerseCount('Genesis', 0);\n```\n\n---\n\n### listBibleBooks\n\nReturns an array of all Bible book names in their canonical order.\n\n#### Return Value\n\n- `Array<string>`: An array containing 66 book names starting with Genesis and ending with Revelation.\n\n#### Examples\n\n```javascript\n// Returns an array of 66 Bible books\nlistBibleBooks();\n\n// The first and last elements are Genesis and Revelation respectively\nconst books = listBibleBooks();\nconsole.log(books[0]); // \"Genesis\"\nconsole.log(books[books.length - 1]); // \"Revelation\"\n```\n\n---\n\n### listAliases\n\nReturns all aliases for a given book name, including the official book title, optionally normalized.\n\n#### Parameters\n\n- `bookName` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n- `options` (`Object`, optional, default `{}`): Optional settings.\n  - `options.normalized` (`boolean`, optional, default `false`): If true, returns all aliases normalized (lowercased and stripped of special characters).\n\n#### Return Value\n\n- `Array<string> | null`: An array of aliases including the official book name, either normalized or in original form, or null if no matching book is found.\n\n#### Examples\n\n```javascript\n// Returns non-normalized aliases for \"Second Corinthians\"\nlistAliases('Second Corinthians');\n// Expected output: [\"2 Corinthians\", \"2 Co\", ...other aliases]\n\n// Returns normalized aliases for \"Song\" with normalization enabled\nlistAliases('Song', { normalized: true });\n// Expected output: [\"songofsolomon\", \"canticleofcanticles\", \"sos\", ...]\n\n// Returns null for unrecognized or empty book names\nlistAliases('UnknownBook'); // null\nlistAliases(null); // null\nlistAliases(''); // null\n```\n\n---\n\n### listChapters\n\nReturns an array of chapter numbers for a given Bible book, starting from 1 up to the total chapter count.\n\n#### Parameters\n\n- `bookName` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n\n#### Return Value\n\n- `Array<number> | null`: An array of chapter numbers from 1 to the book's chapter count, or null if the book is invalid or not found.\n\n#### Examples\n\n```javascript\n// Returns an array [1, 2, ..., 40] for Exodus, which has 40 chapters\nlistChapters('Exodus'); // [1, 2, 3, ..., 40]\n\n// Returns null for an invalid or unknown book\nlistChapters('UnknownBook'); // null\n```\n\n---\n\n### listVerses\n\nLists all verse numbers for a given book and chapter as a sequential array starting from 1.\n\n#### Parameters\n\n- `bookName` (`string`): The name or alias of the book to lookup, which will be normalized internally.\n- `chapter` (`number`): The chapter number within the book.\n\n#### Return Value\n\n- `Array<number> | null`: An array of verse numbers from 1 up to the chapter's verse count, or null if the book or chapter is invalid or out of range.\n\n#### Examples\n\n```javascript\n// Returns an array of verses [1, 2, ..., 31] for Genesis chapter 1\nlistVerses('Genesis', 1); // [1, 2, 3, ..., 31]\n\n// Returns null for a missing chapter parameter\nlistVerses('Genesis'); // null\n\n// Returns null for an invalid chapter number or unknown book\nlistVerses('Genesis', 0); // null\nlistVerses('Genesis', 999); // null\nlistVerses('UnknownBook', 1); // null\n```\n\n---\n\n## 🧪 Tests\n\n> Available in the GitHub repo only.\n\n```bash\n# Run the test suite with Jest\nyarn test\n# or\nnpm test\n```\n\n## 🤝 Contributing\n\nIf you have ideas, improvements, or new features:\n\n1. Fork the project\n2. Create your feature branch (git checkout -b feature/amazing-feature)\n3. Commit your changes (git commit -m 'Add some amazing feature')\n4. Push to the branch (git push origin feature/amazing-feature)\n5. Open a Pull Request\n","readmeFilename":"README.md"}