{"_id":"jse-eval","_rev":"12-a0f30503d2fed97e8e456b1dfeaec794","name":"jse-eval","dist-tags":{"latest":"1.5.2","beta":"1.4.0-beta.1"},"versions":{"1.0.0":{"name":"jse-eval","version":"1.0.0","description":"JavaScript expression parsing and evaluation.","source":"index.ts","main":"dist/jse-eval.js","module":"dist/jse-eval.module.js","unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.0.3"},"devDependencies":{"@commitlint/cli":"^13.1.0","@commitlint/config-angular":"^13.1.0","@jsep-plugin/arrow":"^1.0.1","@jsep-plugin/assignment":"^1.0.1","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.0.1","@jsep-plugin/regex":"^1.0.1","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.0.0","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","eslint":"^7.32.0","husky":"^7.0.2","microbundle":"^0.13.3","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog","@semantic-release/git",["@semantic-release/npm",{"tarballDir":"./"}],["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"52ba6d9846460bbfe75aac48357c4004b70ec24f","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.0.0","_nodeVersion":"15.14.0","_npmVersion":"7.24.1","dist":{"integrity":"sha512-oXqbaUHOnRT7X82AKi+aOCuahFlZbhdYN7wgCipPHMZuDhTerPoi1LetSMjUco0f2D3f1k9kk+xU46tuD/qn4A==","shasum":"71a3607bf11ec5596c582b3b91fc9646ef64b8b2","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.0.0.tgz","fileCount":13,"unpackedSize":179246,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEZVduCbMDL889ZiR/KUGIJUJF3MTAn1IukEHW9OUyiXAiBlxQnnh83KGTGg6z1X2GqqrL2Onm7xAo6O7FbdUW+fIQ=="}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.0.0_1632726696428_0.4636119929010769"},"_hasShrinkwrap":false},"1.0.1":{"name":"jse-eval","version":"1.0.1","description":"JavaScript expression parsing and evaluation.","source":"index.ts","main":"dist/jse-eval.js","module":"dist/jse-eval.module.js","unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.1.0"},"devDependencies":{"@commitlint/cli":"^13.1.0","@commitlint/config-angular":"^13.1.0","@jsep-plugin/arrow":"^1.0.1","@jsep-plugin/assignment":"^1.0.1","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.1.0","@jsep-plugin/regex":"^1.0.1","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.0.1","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","eslint":"^7.32.0","husky":"^7.0.2","microbundle":"^0.13.3","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog","@semantic-release/git",["@semantic-release/npm",{"tarballDir":"./"}],["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"5f6354aa7e784aacc8ee56d25a25b60fe814501c","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.0.1","_nodeVersion":"15.14.0","_npmVersion":"7.24.1","dist":{"integrity":"sha512-dmKCPKnv6W609/iTE7NhRCrykvWUJ+BtrDNL+WorfyMBppo5bXpSHTQZdgEHG9E6YwEyPuI0rWA/z9epy9hZoA==","shasum":"ad13a7893c0dbc33915ed832be73e1fdef36ed59","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.0.1.tgz","fileCount":13,"unpackedSize":179171,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3Kt9fG6w6G23Nd9Z2X6bWPWOLzRlo+sADY+1X7/dpDAiAEZHRIRrF4js+n/oTfLlIAdadvR2t6jqY1KckX2/rkFw=="}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.0.1_1633361034437_0.1854744693985404"},"_hasShrinkwrap":false},"1.1.0":{"name":"jse-eval","version":"1.1.0","description":"JavaScript expression parsing and evaluation.","source":"index.ts","main":"dist/jse-eval.js","module":"dist/jse-eval.module.js","unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.1","@jsep-plugin/assignment":"^1.0.1","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.1.0","@jsep-plugin/regex":"^1.0.1","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.0.1","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog","@semantic-release/git",["@semantic-release/npm",{"tarballDir":"./"}],["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"c5f9d1eabe0bea139f9e292b6edab24062ed9ba6","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.1.0","_nodeVersion":"15.14.0","_npmVersion":"7.24.1","dist":{"integrity":"sha512-1rglbTfiIHMtLSvPyyrHc/0wpWM/VaiimSurWRlz8NuEnh1qykPlnlKJDR7zcJKMSGil8nJu8OCUqqYk3neDNg==","shasum":"3f06a6d4fb1f067a1dbd489a8d0bd52042893de3","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.1.0.tgz","fileCount":13,"unpackedSize":180644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2wrnCRA9TVsSAnZWagAAxEMP/3fcZQi3WE8uPJQLQhjH\nI5k8/ZGv+4dHyaShiNMNq21O3+EPchPzG1UWEhtihl8RqlsTkSSOzICK2OP1\neD0Jes/njo4Gy9m8f6Pud0g78TPwfwg0iGvLfJqBq/WCAIsGw1nwfoPD5ljV\njrBwLXpeNmxGwtX+BgHUetMEXvQQ0Ln0JE11pqhHZR5dxy0OZKTk/WbuUxXp\n6NoCN/2uI/7qoeiPqh/Y9tWiohBowQlXEJ54JJMCspfXcbRvs161h9PaLeoJ\n8K8idMkSlmBDlc2q/oeOg5Y3pLtWAaVaFWSd7RTrePvNMyZuuDnTnjaLawna\nOWz/PNMcxJ6Za6SlB9ufOwX9hcPGja4frZbfmaXXgVdmgLxBGgTvZ7vUl2lH\nwMq9IENF0V9OyBwBFN3YqjJ5r45XdJBN5PoC2jof4pfp7GylQjPQLR8aqIDO\nZNK+rPRXxBrfjoMa2i4L1GDx71wl5dn7b421AD6CFhuzbiMKjA+P1j9E6NEd\nJpc9Ki/o/UIGMaNmOmL3qxFb6QQ5uG2S0xI7M5HYGcQDVMY6900tHchqEwmP\nIJfFHwpDKyMjSU+ieuncxLk20BSv54Qi+cr0XteKbdnl/15JTJsxZgLW2+7c\n+O16m8oUlmBFyU50XrbovHc4nI+oJLCRlo4kxaHUw2gLY1aURsyXUBKrL3sQ\nPFYN\r\n=FnQK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKgIqLZwZMfrenNwcwCSYnZg35fBiV9fSqf6eiX648YwIgT8C9PaQ+7V4JwtMW0gJSpxKqAqDrjRQC/D+PIwjoIjQ="}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.1.0_1636583736856_0.7229691479372584"},"_hasShrinkwrap":false},"1.2.0":{"name":"jse-eval","version":"1.2.0","description":"JavaScript expression parsing and evaluation.","source":"index.ts","main":"dist/jse-eval.js","module":"dist/jse-eval.module.js","unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.1","@jsep-plugin/assignment":"^1.0.1","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.1.0","@jsep-plugin/regex":"^1.0.1","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.0.1","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog","@semantic-release/git",["@semantic-release/npm",{"tarballDir":"./"}],["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"6a01437505f5983d30317e15da0ceef8e954d1d3","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.2.0","_nodeVersion":"15.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-XjvzHf1URLMjwEOG5or5/XjQFf085oNYhDONh5VwTx9n7pHUwydDv5wTjoMrVUI1nhIQaNhTe0m6UJwigpb3KQ==","shasum":"6d4a03ca0ab4519a7f04aeaeb522ba33b29598ed","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.2.0.tgz","fileCount":13,"unpackedSize":184674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGIpDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzCA//VTj3jMCdN4eBAbjCRabX+UBZr/1vnoY6F1Ub3CpZpJN84/Y6\r\nvyeGybegxFYPBH28RQv6X3px/V+PCGcDyM3BCQXWPvIODvFEwBczPhmm5amy\r\nbx6825LXnMCcEEY65YzagwvKruSuMKfxlIb/L/bxWUYKDsKRFqP+Bp05dqVL\r\n+4xQxHc+mZFRcmZTyQU3g6oC0wDijuYToCvNyXaVSeeyM1sB2yQMi94BBI+f\r\nf5b/EZodZvNk95KZAzdb0gi+6tWzwTqL7ttGyeGzeBk1OGuCi8UKNJdOeCMt\r\n3NuliRwSpCPIBu9NwYvV5gWl+bw73Ej3orP9tXMffMYzy5X0Rl8o7A/GYZvT\r\n2JAArpQijVajPOHrOodaM0kpkt15WnZFI+gYWPto0rhvVez/5A+Lq0Ef6ihS\r\nboEQdIo74shuBOO82CTry7Bh0PYFX0OgpQkTFIX9MacL7u+QJB0aQ6X7jkj4\r\n7HnZIGrLSlcaaGGRhAZyXo6ryU7JQnM0FceFB56eSJys0akUWFIgvzE7JOuy\r\n32xRkOG5fMxy8RUgoOTJGA5g3Mm1cGANj7zn03ws4bc8o/l0suWkpE7UIQ6m\r\n45p6vatqxMhYMgh5mjkDkjtEVdAyqzUvRbWh/9MpabwVhivnu5dO5uXCpm/n\r\nOZ09YAdqF+RGv+Rt/0Qi1mzoJrqcQXPjudg=\r\n=o0i7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF6yoc2rN810TdZCTl7XDCuMmOw57a2nYO6/IBRB/OzPAiEAnK9svjykg7+PgB19KIVBshhV2fnVr35zQc+qP+zdFQE="}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.2.0_1645775427453_0.8485513331337251"},"_hasShrinkwrap":false},"1.3.0":{"name":"jse-eval","version":"1.3.0","description":"JavaScript expression parsing and evaluation.","source":"index.ts","main":"dist/jse-eval.js","module":"dist/jse-eval.module.js","unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.2","@jsep-plugin/assignment":"^1.2.0","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.2.0","@jsep-plugin/regex":"^1.0.1","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.1.0","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog","@semantic-release/git",["@semantic-release/npm",{"tarballDir":"./"}],["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"14bb66550277808699206f7ae296e849f104ba98","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.3.0","_nodeVersion":"15.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-r+oU+lvwY3OTrzP8z9mvLovFTrlTyB33CZUVphUxY6FvktRgEXLjuaqiqt4quMDQmEcXgmEXaDXzuF3eK7F+NA==","shasum":"4a787e47795a360011e81838223b0d6a6d4d1da3","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.3.0.tgz","fileCount":13,"unpackedSize":192370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLm/JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7SA/+I4y/r1uSQiVWDezK7qDOvjBUXgnu13suoBee9SrAkt144Pv6\r\nc+dSDQ5PWjxWvdjWSPBnN5pOPiqZKGHSzBnHlERD3skwzBTVOEGiNQfWeehb\r\nzistO0XoJax+QJX8Fl1Q3d6yued5WcXdX5DZWfrOCnPquEw0LVoBxtP2U4HR\r\nuR8Y+Adl8gzqAHWiG/PNg4yYdTaZxctirf1hb2Q5GKO4Hn83J/9h0A1KOJBl\r\ndefQsxoxCSVBPAlWfNdzLwjaZdd0wOFNG2DmN9M4TNqGlLcLyg75sVMvo2tw\r\n1hu79qdV8y6+55Xb0Gk2ZKu//vewe+0srGnbViOpVWcMuW38DQL1MmFjHCUs\r\n0aAqjZr4D0QBRTChkxBxa3qlCABHw2ntbhyi7o+6BO+ZZww0pEIg9vTKPfc3\r\ntO3jZ36mKJyoC7UybRrh+XT3pB5Nxz7K/O4ZwDqE31y4RdlCUVkBpEe1Ylxt\r\nP32///8KAn3U3LRV2om717s4/pM+cII0vsqiN7qL9DoE/v0kQTbm2f0tglyM\r\nmv4iR6O49RRot2ZLzAMgF+WF7Bknt2yclsnPDixdgJJldKmPdfbpzIUPZabi\r\nhbNiyyBz0FjiW5PQFgg5av5X3icAYvbggO1pfEut8Z9AjSVA7MEa/7DsD/aj\r\nJBoFWDyokvf7/nBxBYeTeJ3QZ87btkaAvTc=\r\n=wjZN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsK2CBwun38UWAcgolWRy0gzEi5/i0ymeQSteBjBfoagIhAJbc0aXduHqun3jUwUNgnC2NtQKDRnOfgAwLvBYpJ0wd"}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.3.0_1647210440932_0.2054351746885672"},"_hasShrinkwrap":false},"1.4.0-beta.1":{"name":"jse-eval","version":"1.4.0-beta.1","description":"JavaScript expression parsing and evaluation.","source":"index.ts","type":"module","main":"dist/jse-eval.cjs","module":"dist/jse-eval.module.js","exports":{"default":"./dist/jse-eval.module.js","import":"./dist/jse-eval.modern.js","require":"./dist/jse-eval.cjs"},"unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec && npm run --prefix test-cjs test","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.2","@jsep-plugin/assignment":"^1.2.0","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.2.0","@jsep-plugin/regex":"^1.0.1","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.1.0","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog",["@semantic-release/npm",{"tarballDir":"./"}],"@semantic-release/git",["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"readme":"# jse-eval\n\n[![Latest NPM release](https://img.shields.io/npm/v/jse-eval.svg)](https://www.npmjs.com/package/jse-eval)\n[![License](https://img.shields.io/badge/license-MIT-007ec6.svg)](https://github.com/donmccurdy/jse-eval/blob/master/LICENSE)\n[![CI](https://github.com/6utt3rfly/jse-eval/workflows/CI/badge.svg?branch=main&event=push)](https://github.com/6utt3rfly/jse-eval/actions?query=workflow%3ACI)\n<!-- [![Minzipped size](https://badgen.net/bundlephobia/minzip/jse-eval)](https://bundlephobia.com/result?p=jse-eval) -->\n\n## Credits\nHeavily based on [expression-eval](https://github.com/donmccurdy/expression-eval) and [jsep](https://github.com/EricSmekens/jsep),\nwith thanks to their awesome work.\n\n_Forked from [expression-eval](https://github.com/donmccurdy/expression-eval]) v5.0.0. Many thanks to @donmccurdy for the initial package_\n\n**JavaScript expression parsing and evaluation.**\n\n> **IMPORTANT:** As mentioned under [Security](#security) below, this library does not attempt to provide a secure sandbox for evaluation. Evaluation involving user inputs (expressions or values) may lead to unsafe behavior. If your project requires a secure sandbox, consider alternatives such as [vm2](https://www.npmjs.com/package/vm2).\n\n- [Usage](#usage)\n  * [Install](#install)\n- [API](#api)\n  * [Parsing](#parsing)\n  * [Evaluation](#evaluation)\n  * [Compilation](#compilation)\n- [Extending evaluation](#extending-evaluation)\n  * [Node Types Supported](#node-types-supported)\n- [Related Packages](#related-packages)\n- [Security](#security)\n- [Contributing](#contributing)\n- [License](#license)\n\n\n## Usage\nEvaluates an [estree](https://github.com/estree/estree) expression from [jsep](https://github.com/EricSmekens/jsep)\n(as well as [@babel/parser](https://babeljs.io/docs/en/babel-parser), [esprima](https://esprima.org/),\n[acorn](https://github.com/acornjs/acorn), or any other library that parses and returns a valid `estree` expression).\n\n\n### Install\n\nInstall:\n\n```\nnpm install --save jse-eval\n```\n\nImport:\n\n```js\n// ES6\nimport { parse, evaluate, compile, jsep } from 'jse-eval';\n\n// CommonJS\nconst { parse, evaluate, compile, jsep } = require('jse-eval');\n\n// UMD / standalone script\nconst { parse, evaluate, compile, jsep } = window.jseEval;\n```\n\n## API\n\n### Parsing\n\n```javascript\nimport { parse } from 'jse-eval';\nconst ast = parse('1 + foo');\n```\n\nThe result of the parse is an AST (abstract syntax tree), like:\n\n```json\n{\n  \"type\": \"BinaryExpression\",\n  \"operator\": \"+\",\n  \"left\": {\n    \"type\": \"Literal\",\n    \"value\": 1,\n    \"raw\": \"1\"\n  },\n  \"right\": {\n    \"type\": \"Identifier\",\n    \"name\": \"foo\"\n  }\n}\n```\n\n### Evaluation\n\n```javascript\nimport { parse, evaluate } from 'jse-eval';\nconst ast = parse('a + b / c'); // abstract syntax tree (AST)\nconst value = eval(ast, {a: 2, b: 2, c: 5}); // 2.4\n\n// alternatively:\nconst value = await evalAsync(ast, {a: 2, b: 2, c: 5}); // 2.4\n```\n\n### Compilation\n\n```javascript\nimport { compile } from 'jse-eval';\nconst fn = compile('foo.bar + 10');\nfn({foo: {bar: 'baz'}}); // 'baz10'\n\n// alternatively:\nimport { compileAsync } from 'jse-eval';\nconst fn = compileAsync('foo.bar + 10');\nfn({foo: {bar: 'baz'}}); // 'baz10'\n```\n\n### One-Line Parse + Evaluation\n```javascript\nimport { evalExpr } from 'jse-eval';\nevalExpr('foo.bar + 10', {foo: {bar: 'baz'}}); // baz10\n\n// alternatively:\nimport { evalExprAsync } from 'jse-eval';\nevalExprAsync('foo.bar + 10', {foo: {bar: 'baz'}}); // baz10\n```\n\n### JSEP Plugins\n```javascript\nimport { registerPlugin } from 'jse-eval';\nregisterPlugin(\n  require('@jsep-plugin/arrow'),\n  require('@jsep-plugin/assignment'),\n  require('@jsep-plugin/async-await'),\n  require('@jsep-plugin/new'),\n  require('@jsep-plugin/object'),\n  require('@jsep-plugin/regex'),\n  require('@jsep-plugin/spread'),\n  require('@jsep-plugin/template'),\n  require('@jsep-plugin/ternary')\n);\n\n// or alternatively:\nconst { jsep } = require('jse-eval');\njsep.plugins.register(\n  require('@jsep-plugin/arrow'),\n  require('@jsep-plugin/assignment'),\n  ...\n);\n```\n\n## Extending evaluation\n\nTo modify the evaluation, use any of the modification methods:\n- `addUnaryOp(operator, evaluator)`. Will add the operator to jsep, and the function to evaluate the operator\n- `addBinaryOp(operator, precedence | evaluator, evaluator)`. Will add the operator to jsep at the given\nprecedence (if provided), and the function to evaluate the operator\n- `addEvaluator(nodeType, evaluator)`. Will add the evaluator function to the map of functions\nfor each node type. This evaluator will be called with the ExpressionEval instance bound to it.\nThe evaluator is responsible for handling both sync and async, as needed, but can use the `this.isAsync`\nor `this.evalSyncAsync()` to help.\n  - If the node type is unknown, jse-eval will check for a `default` node type handler before\n  throwing an error for an unknown node type. If any other behavior is desired, this can be overridden\n  by providing a new `default` evaluator.\n\nExtensions may also be added as plugins using the `registerPlugin(myPlugin1, myPlugin2...)` method.\nThe plugins are extensions of the JSEP format. If the `init` method is defined in the plugin,\nthen the plugin will be added to JSEP, and/or if the `initEval` method is defined in the plugin,\nthen the `initEval` method will be called with the JseEval class as both `this` and as an argument\nso the plugin code may extend as necessary.\n\n### Example Extensions:\n```javascript\nimport * as expr from 'jse-eval';\n\nexpr.addBinaryOp('**', 11, true, (a, b) => a ** b);\nconsole.log(expr.evalExpr('2 ** 3 ** 2')); // 512\n\nexpr.addBinaryOp('^', 11, (a, b) => Math.pow(a, b)); // Replace XOR with Exponent\nconsole.log(expr.evalExpr('3^2')); // 9\n\nexpr.addEvaluator('TestNodeType', function(node) {\n  return node.test + this.context.string\n});\nconsole.log(expr.eval({ type: 'TestNodeType', test: 'testing ' }, { string: 'jse-eval' })); // 'testing jse-eval'\n\nconst myPlugin = {\n  name: 'Exponentiation',\n  init(jsep) {\n    // if only adding to jsep. Otherwise it's redundant with initEval\n    jsep.addBinaryOp('**', 11, true);\n  },\n  initEval(JseEval) {\n    JseEval.addBinaryOp('**', (a, b) => a ** b);\n  },\n};\nexpr.registerPlugin(myPlugin);\nconsole.log(expr.evalExpr('2 ** 3 ** 2')); // 512\n```\n\n### Node Types Supported:\nThis project will try to stay current with all JSEP's node types::\n- `ArrayExpression`\n- `LogicalExpression`/`BinaryExpression`\n- `CallExpression`\n- `ConditionalExpression`\n- `Compound` *Compound support will evaluate each expression and return the result of the final one*\n- `Identifier`\n- `Literal`\n- `MemberExpression`\n- `ThisExpression`\n- `UnaryExpression`\n\nAs well as the optional plugin node types:\n- `ArrowFunctionExpression`\n- `AssignmentExpression`/`UpdateExpression`\n- `AwaitExpression`\n- `NewExpression`\n- `ObjectExpression`\n- `SpreadElement`\n- `TaggedTemplateExpression`/`TemplateLiteral`\n\n## Related Packages\nDepending on your specific use-case, there are other\nrelated packages available, including:\n- [jsep](https://github.com/EricSmekens/jsep)\n- [expression-eval](https://github.com/donmccurdy/expression-eval)\n- [eval-estree-expression](https://github.com/jonschlinkert/eval-estree-expression)\n- [es-tree-walker](https://github.com/Rich-Harris/estree-walker)\n- [acorn](https://github.com/acornjs/acorn)\n- [astree](https://github.com/davidbonnet/astring)\n\n## Security\n\nAlthough this package does [avoid the use of `eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Do_not_ever_use_eval!), it _cannot guarantee that user-provided expressions, or user-provided inputs to evaluation, will not modify the state or behavior of your application_. This library does not attempt to provide a secure sandbox for evaluation. Evaluation of arbitrary user inputs (expressions or values) may lead to unsafe behavior. If your project requires a secure sandbox, consider alternatives such as [vm2](https://www.npmjs.com/package/vm2).\n\n## Contributing\n\nWant to file a bug, contribute some code, or improve documentation?\nExcellent! Read up on the guidelines for [contributing](CONTRIBUTING.md)\nand then feel free to submit a PR with your contribution.\n\n### Code of Conduct\n\nHelp us keep this project open and inclusive. Please read and follow\nthe [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## License\n\nMIT License.\n","readmeFilename":"README.md","gitHead":"145f39347ec4d520610980cefafa2442f295896f","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.4.0-beta.1","_nodeVersion":"15.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-kZetpEg5OCP4PL4vwdFhS5M0r9K+ZOOyTo6DtD+BPJ22ohYIM2UeLBD8q6cnAeffigfGJTNhU3thsGY4FWTlhw==","shasum":"1af25f8b8605ef60cc07def4bcf3bfe7349ebec0","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.4.0-beta.1.tgz","fileCount":13,"unpackedSize":204878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOj+4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpVA/+MI6sS7yHKo/eS8gHxjxNIYJARgrZQLoM9QzZ0oDE/epP4qaC\r\ncMarjt+1MdSvuEo6MO5QLBqs5uej6iSkMe589lJBGju/Rh/jUlzNSjqiS/I0\r\nL0cXXf9QZX3PWYpNTioNw9ivrtIyit+mvAOvVTjUYnWMQ+b1w+pfAJN80Y5o\r\nP0Jhz2ZWW7ZSkfzc3K2RuHUCU11bBfBhGWov3scJx4Ilhgy60txAMD0mkSSk\r\nPYd/pWr/QtrLbIxcSjbM2m8WJnI2uxiS7IkRdAti2mt1MIcHZ9I9h4GQ7zXW\r\nW09NI3LSnu6DUbEZRix5LIlpBY77sq5QDSH+NusBTtPaVZaGm/UlBpRnHiO5\r\n1t6X/6iHFWGHr2ALriQ0O3NpikMdHwsuSuDkFgH/vdZzMxQi3yt0R7peYQZI\r\nl3P1P5fmotK34EAM98SaxFIOtzWshPPdNVqlyOES0d2HhhoP1Y9J1Nfk9J8E\r\nNBY5aKgNOEaUONFJ87vOBDGm7niGLJCPAJU2FT/fs0cCZEHl83cVEBkssM+R\r\nBBWSBmDWovnHhrbBapZqtJBJydkYrgOSZhLIf0oCGNdk+1FUj2mIx6A/Cx56\r\n+7cEw4Qj5DLG6cnz05lELMjDCqhyVGUoRIXX2Gwh8hyYd0haTIdvFHHLWn5n\r\nGPtcKiAWjCG5NVjX1rXoHzwgcMdtIFIj3Uk=\r\n=VRej\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHnEwfR3EJlgvpKjfAsBd3D8B+YH9kUipbpu20XNxJkoAiA/8rdBkY53egd0gaFlBI6A2dEGUdp+F1spWmKTGt6nCw=="}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.4.0-beta.1_1647984568529_0.37962455647669247"},"_hasShrinkwrap":false},"1.4.0":{"name":"jse-eval","version":"1.4.0","description":"JavaScript expression parsing and evaluation.","source":"index.ts","type":"module","main":"dist/jse-eval.cjs","module":"dist/jse-eval.module.js","exports":{"default":"./dist/jse-eval.module.js","import":"./dist/jse-eval.modern.js","require":"./dist/jse-eval.cjs"},"unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec && npm run --prefix test-cjs test","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.2","@jsep-plugin/assignment":"^1.2.0","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.2.0","@jsep-plugin/regex":"^1.0.1","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.1.0","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog",["@semantic-release/npm",{"tarballDir":"./"}],"@semantic-release/git",["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"e35041db80356786c1aede45f9f0cbfe5192eb35","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.4.0","_nodeVersion":"15.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-5jc+PCmZ8IoyAv8unfeBGUqzMFnGEnSUuYIJX652KaEwcY4HLdo1uXfsA9l0v+TJdcLrcot/anWz8CqUzOqymA==","shasum":"f9706d81d2670fe22c786ea0db4aa4a10644b45e","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.4.0.tgz","fileCount":13,"unpackedSize":205170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOqPeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4Qw//QJ10lSR/M/5fD7Boa5kjlsEp+PhP6HyHFFQu/xJ9/h27PVeb\r\nSPA4eKHdkLvEqunV7xRWN2CvXqpr4FKBxWITbqVficvQ/XeWMsNbnIWMnDgn\r\ndR4/b/+JPLM13MzjCVE96rns9gOhdKkCBG3SSoB1ibRqIA3j+04ekIA0GvEi\r\n2Ui4tkR1L+SGi6QUY1KusUngagOwHInpj46UYReOUgkEQHmn8xOUHcr8EHBd\r\nX3vEi41/nUPVL1I/B/UHkVTcYi6dKnHMfXHNGFJLeFJz9Tp19iI0GbJlGMBv\r\npRXnx3ZRRN7gggXc9Zc8ZI5GakqFqiWLWdZw+XA1xAN3G5ZKxGBCwmPxC5Gv\r\n3f9Y31mJlL1m59NlvC5ADqsqm5eF/bbGMfZBTh/8Yd81VHyroZ6eyWfYUI7n\r\njLr9nK2SbWZqZ+Pp++W4Nr8sEtBXgNLHtuSwA3UIiC7kRvJICXNISm6sBq5r\r\nkTRNn3tUF5o79evhCQNwz2gzEC5Yn/yz41bEX9OtqWHv97bJH9fwBNOJuGDR\r\nrpAU5Q5DRu7rJh5jBvmklkisC2Sko3c+sDFDQRTpMFCMTd9qu/JeA/6XkI8j\r\nQXn14dd4BCvYFQ9pWS2grHzpx0XcuEmqpsu5NZrX33w2aTEmONi8qmqeHL6d\r\nhLWN+6lCkm34Z8OpweTEYKjIRyvWwl0uVHo=\r\n=6dHP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdjyvti7zrYUP+x4blmko36pn/h7X/62g/hV+3QPFeHgIhANAYKJXPE1H0U5uQ7jLhrnnPjLQTYMcvhU+v1F696r5U"}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.4.0_1648010206756_0.7813038565571626"},"_hasShrinkwrap":false},"1.4.1":{"name":"jse-eval","version":"1.4.1","description":"JavaScript expression parsing and evaluation.","source":"index.ts","type":"module","main":"dist/jse-eval.cjs","module":"dist/jse-eval.module.js","exports":{"import":"./dist/jse-eval.modern.js","require":"./dist/jse-eval.cjs"},"unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec && npm run --prefix test-cjs test","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.4","@jsep-plugin/assignment":"^1.2.0","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.2.0","@jsep-plugin/regex":"^1.0.2","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.1.2","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog",["@semantic-release/npm",{"tarballDir":"./"}],"@semantic-release/git",["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"c35bbe706aa819610a0ef7d0fe89955e2d21415c","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.4.1","_nodeVersion":"15.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-pa2NeAagPazTjUGbQGNlGcrDHphoTid72CkosLjP1aq0W4dd23jTbzg1svFHcdZvatYqDZdAY7GLiY0Zy6x9JA==","shasum":"5411fccb414fcd46d58fc8e89a77d2c43134e57f","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.4.1.tgz","fileCount":13,"unpackedSize":203085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQq0sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPCw/+PhUVFVO9pwGG/j/OIHM8V98oObmkYyx4ldUgqEu3PwJhi81/\r\n0gzulKpSdo9hWAPYWkeGTRwtMK7rGe3BCdjZS6JYxxfu9AROVpXq8qj4kMZ6\r\nq3hjeQkswS/ho4mcmBSP5JzqNXh98qNrELSIRq2wPEVCqYZlOMkWK3QQzdhf\r\nZl6AxLF1wRhDjBImaS0g1Sbu2BARjU4+h6gxG2YvIOS1YEktYQd/mFQd/cZh\r\nKO0mTERtK8p9xhfcB+ufkLU6PESI85lY7yyOYRRqBx9TpgLlHHK3oxTOWtNt\r\nzqIoq0tm4uKIN+OWKemoJZM7rJtgbjOtcwDSNlAyD0oSUkcqYCUtksfMRlh4\r\nIqxRSLIUlek0hlGdseJAibJ8RA6uFV6Xus64LRurKDHCVU3cEGdHTK4kaLtb\r\nMb38FXn6dlihCPwhl/O1ytX2qUvphrJC+jQPGdDBuVhixf8JelO1qhFCSqGb\r\nyuPhFDgxc4h0sDovxtVDsEupLs/ze0a5WvIMlxuVN/o/gcX1C9lRDEfw66o6\r\n4UbSd2BszwQFmte/7PnMQNGI5ZJmP3ORVU8fUPASNWYHdtoG3dcEhb04O9P4\r\n5qIxy0Bjo6ZeKFfpwTu4esM6MED6Zo4EVxas9GjJd4miGQHevXRt7UVJlBYJ\r\nBkUVdBaDjokUqcR5jZ3L3h03gpnQDAQJI0U=\r\n=WRET\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLBaH8RA5n6RHY2zPN0yxIfaE4wHel4I4uCdR9+e1poAiEA2n4350CdeAv8ub5VNndRBmryU7AvrQ6XP73Ley6aYkg="}]},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.4.1_1648536876775_0.1313631569878091"},"_hasShrinkwrap":false},"1.5.0":{"name":"jse-eval","version":"1.5.0","description":"JavaScript expression parsing and evaluation.","source":"index.ts","type":"module","main":"dist/jse-eval.cjs","module":"dist/jse-eval.module.js","exports":{"import":"./dist/jse-eval.modern.js","require":"./dist/jse-eval.cjs"},"unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec && npm run --prefix test-cjs test","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.4","@jsep-plugin/assignment":"^1.2.0","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.2.0","@jsep-plugin/regex":"^1.0.2","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.1.2","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog",["@semantic-release/npm",{"tarballDir":"./"}],"@semantic-release/git",["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"5bc321727b662ebbea327e4a92204d8a39d21ae9","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.5.0","_nodeVersion":"15.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-fXdjVN7aLyDADajWc2mTAw7nz63nxdNq9DiAdwe4Xnd9z42bDChrc4n1aOl19rIWUaLo4uetkpaM+9jHAHX4ag==","shasum":"9467464d3b70fd4f0fb19c8f49c2b1f0db7c0e03","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.5.0.tgz","fileCount":13,"unpackedSize":204500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDn2P/QBa8eJEf6UHNqGcSQvUDCFwqZyjpY5+uL6pslTAIgOfGQt796TsVVuEgwYRdFDjbTi5AJ54a+yED+voVhxoo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXlUlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJXA//bw/sXQRU/zBJ4k1Bo8LPNiDFZhanM0jiVGij952ClslQrjIp\r\nLzoX+JXrJ3df1Ufs3OKOzJOO/a09RtmGNFn4VJZZhmsDO2HU1O4exsJIDT6u\r\n4WmQQFdcsK04HYRinJDvVa1LKyod1VV5mSsBV5QAH5EF5HE3jzNMA7+6E0sG\r\nbm7EijDeaF6ETem69B58aAYOBsDWAVlKRC4BNt0GIdC2GL2LjyxFbhb6Kswf\r\nRTBdHjXabn5OxxwNXKxZo5IcSFwB3RRTdOn+wrQLGvdBMtnUDSoEZiXVnuUV\r\nVMw7qEdZR5bc9H/rWVLXP7IgnS0JpEPdtXum/GXyo1/8gXnRPSsbZdXggYjT\r\n8C7Ui1TnJQeMtgSPnWhsYA21fKjb8fht+JYDfryssu203ZILVxi8z0HN709B\r\n0inDwsmkkMRuf5dTAhIh5xkfbiao3LsCqBHkcDf0U0Cv/6OqjeSvvOTlL3JC\r\nitz+6uYGTAjFAO6a3CyIhBWhFPhLsdNKQgpcL+ACfTFrJrCEXNNtajt7b8d2\r\njIxwbA2NFUR+M2Z2VceahEG7UozNNWkLdlxTJPs1L9dnVbEIHkyZvyvJ1gGf\r\nW8Z02CF88B4ybMXDc4wonlApECxQRxzeW3AS/QxmzBuLAsuo897UbKmQe5Wh\r\nOeg4JycU5Tol3hmtYVpsBj/A0LmPjFaphx0=\r\n=EQTn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.5.0_1650349349524_0.5637167626608857"},"_hasShrinkwrap":false},"1.5.1":{"name":"jse-eval","version":"1.5.1","description":"JavaScript expression parsing and evaluation.","source":"index.ts","type":"module","main":"dist/jse-eval.cjs","module":"dist/jse-eval.module.js","exports":{"import":"./dist/jse-eval.modern.js","require":"./dist/jse-eval.cjs"},"unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec && npm run --prefix test-cjs test","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^14.1.0","@commitlint/config-angular":"^14.1.0","@jsep-plugin/arrow":"^1.0.4","@jsep-plugin/assignment":"^1.2.0","@jsep-plugin/async-await":"^1.0.1","@jsep-plugin/new":"^1.0.1","@jsep-plugin/object":"^1.2.0","@jsep-plugin/regex":"^1.0.2","@jsep-plugin/spread":"^1.0.1","@jsep-plugin/template":"^1.0.1","@jsep-plugin/ternary":"^1.1.2","@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","eslint":"^8.0.1","husky":"^7.0.2","microbundle":"^0.14.1","semantic-release":"^18.0.0","source-map-support":"^0.5.20","tap-spec":"^5.0.0","tape":"^5.3.1","typescript":"^4.4.3"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog",["@semantic-release/npm",{"tarballDir":"./"}],"@semantic-release/git",["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"0e9e20baf384a4e9edb12f3549cfd27e737c9b60","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.5.1","_nodeVersion":"15.14.0","_npmVersion":"7.24.2","dist":{"integrity":"sha512-wnMRaxvZUuBMxMNZd5Xs5z30c9Glb8p7hFERxrzdNKcWnqSAdvQM7+c+NCloaTniV/NtYpuQSsqEF+Twc6T71Q==","shasum":"8a6d73f52184dacf77efe27422ff24cb3197622b","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.5.1.tgz","fileCount":13,"unpackedSize":206264,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEeXrvGdPC3s3keYv0xN+kIi4Hdads10yfoEA/HbyzM5AiEAuFVJCS10XSUfpiZG4wn04Rxi5HYm3sLbRruilwD3Zjg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiykI5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIEw/9HnV1q8ves2gRIQscgyFFrHJ9EJt7Qcp1V6BeVEDAqdPHBaR/\r\nXMFtw7bQ9QwBsEbBgSdEqWKEOo61cP14gpX78j4RIwU3rXBpOVvJ+YBJ7C+E\r\ngQDy41+BsxLAGL5op0ftbw9d3xBoLTnXEENjFIlRE5cgHHRO+bx6bgw7UAd0\r\nac/U55RMaJSyGKnNDvyT6UMT+AgFUJNaBm0CMIkoJI89qQzD55GCE3fKnabo\r\nMK29ESb9y690UOPgfDPJksFS21sH9ULL4cdDcJ97A49pEu76FP/ECoJd13Qg\r\nYnPTrn0U/3/wcBBWM2BlbliDpwu6uIYzgeg4z3snomV/lxU7phNC380icehk\r\ndht7qEBXi5XNhpss31MzAxCEDQDF76I9cpUbtL5/13nJuSmWeqmsbljSpNgL\r\neD5zHLlh6NcGipQD5060uXFoRbI1rzT4dxKJZZmi3eQ/AwL8YVeZ6gzbgrGp\r\nKDVHji4YyOwYfr1Z9557JxZCAxI3k91moCMvr/xKtDLVtg05Ur5FSISo+AnW\r\n2RtZW+Oc33k1RF8D4IVPje/4vEolX2e8KF9ZfsFcRMIpwIWn9Q7mlZ7jX+mq\r\nS19C18JdIuVQeNLpNZ6or+b7Z4pZlELPL8fPCv41jbhiIdhCnPST/Bp1/V1Q\r\ntH6mzVYDvjuneumxF8qR5osbmSZJipMWEog=\r\n=WN0H\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.5.1_1657422393094_0.5529553920562986"},"_hasShrinkwrap":false},"1.5.2":{"name":"jse-eval","version":"1.5.2","description":"JavaScript expression parsing and evaluation.","source":"index.ts","type":"module","main":"dist/jse-eval.cjs","module":"dist/jse-eval.module.js","exports":{"import":"./dist/jse-eval.modern.js","require":"./dist/jse-eval.cjs"},"unpkg":"dist/jse-eval.umd.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"scripts":{"dev":"microbundle watch","build":"microbundle","test":"node test.js | tap-spec && npm run --prefix test-cjs test","lint":"eslint *.ts","prepare":"husky install","ci":"npm run lint && npm run build && npm test","release":"semantic-release","release:test":"semantic-release --dry-run --no-cli --debug"},"keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"license":"MIT","dependencies":{"jsep":"^1.2.0"},"devDependencies":{"@commitlint/cli":"^17.1.2","@commitlint/config-angular":"^17.1.0","@jsep-plugin/arrow":"^1.0.5","@jsep-plugin/assignment":"^1.2.1","@jsep-plugin/async-await":"^1.0.2","@jsep-plugin/new":"^1.0.2","@jsep-plugin/object":"^1.2.1","@jsep-plugin/regex":"^1.0.3","@jsep-plugin/spread":"^1.0.2","@jsep-plugin/template":"^1.0.2","@jsep-plugin/ternary":"^1.1.3","@semantic-release/changelog":"^6.0.1","@semantic-release/git":"^10.0.1","@types/tape":"^4.13.2","@typescript-eslint/eslint-plugin":"^5.39.0","@typescript-eslint/parser":"^5.39.0","eslint":"^8.24.0","husky":"^8.0.1","microbundle":"^0.15.1","semantic-release":"^19.0.5","source-map-support":"^0.5.21","tap-spec":"^5.0.0","tape":"^5.6.1","typescript":"^4.8.4"},"publishConfig":{"access":"public"},"release":{"branches":["+([0-9])?(.{+([0-9]),x}).x","main","next","next-major",{"name":"beta","prerelease":true},{"name":"alpha","prerelease":true}],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]}}],["@semantic-release/release-notes-generator",{"preset":"angular","parserOpts":{"noteKeywords":["BREAKING CHANGE","BREAKING CHANGES","BREAKING"]},"writerOpts":{"commitsSort":["scope","subject"]}}],"@semantic-release/changelog",["@semantic-release/npm",{"tarballDir":"./"}],"@semantic-release/git",["@semantic-release/github",{"assets":[{"path":"./*.tgz","label":"build"}]}]]},"gitHead":"2fd129722daed8886685d1efe2b74a5a035e3bce","bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"homepage":"https://github.com/6utt3rfly/jse-eval#readme","_id":"jse-eval@1.5.2","_nodeVersion":"16.17.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-o2Uc6F5CnfXTx5l+BRWSSBr4e8cNgebuxAaIQghKqk6cda0TazUDf/1Y/KhjWHN6xptnaQA3cZxhvYVSJca/YQ==","shasum":"6f746c304fe3b3c8ee3dca1a5bdd3614a29467bb","tarball":"https://registry.npmjs.org/jse-eval/-/jse-eval-1.5.2.tgz","fileCount":13,"unpackedSize":208785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFS5S/UQOBA4xBGnLgFXyPmb2clBRvvKbjTpz5Q7PkXTAiAEghI/9+NRYEIwt7w3fdKDeD21m/gkNtao0dWvViPNmQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX/WSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosMRAAkWauot4L8GOA56kthBqDKNgQzBLCuUMHdBoynvVkqnFrN11J\r\ncqAFuhYdl07Y62cHNJUr7m2nazjLBKxQUX7D2v0kOdDSv3VrheuwIngbpZlr\r\nKchhpXI+K/CVJF0Lvl1hNYG5LA9HKAJsGYQ++1+Kf3m7bHK4oUXvWGYdjFNJ\r\nqZq3V4H2kgEn7ve9jy7WP1iHjnbIuhxFaM4J/kxsCpY9ntIkV44ljHqXVs4u\r\nGs0oL8ZtXxnJfj1Olcppne25Y1QOGaUxMV5Zxpkln1PsemsjlzxBNMKsu/lX\r\nDkfcaJUw2b7sf+rBeSUXWDLKeuXW+uDnaHSG/58ywPUWPt5t7Ks8ExUO028g\r\n2w5W4YqwV2ge9ISIXo+uGn+KiCzHCrKAGohKo3ho6iZKtYpzKwcYhIqb+C/M\r\nu/HbvEr25yCy11B+0SbMafHUmLaPNExNAPXylVkIsYxCxL5VSeFvuzRzLp9y\r\nTDg1r0NL/Eskk/DYFeJJYPrfBplfA8rNSXYHMDk3p1AREngTlrsJtPdZSR0o\r\nT4JWffv0ZPnn9BBHmflD7DqIjbzxI7F8O1q85lQ/RIVwngxPqJrS473NwpHn\r\n2Rzowrfit6V1zA4Z7fjHfBthVZluElivLa0cMV8N4JMDK/75MBCK1GrVsgg4\r\n+bayH+PaQGXm52Voacht7EPq0LDnUyO+Ew0=\r\n=UpQI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"},"directories":{},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jse-eval_1.5.2_1667233170249_0.6825379153010134"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-27T07:11:36.368Z","1.0.0":"2021-09-27T07:11:36.604Z","modified":"2022-10-31T16:19:30.530Z","1.0.1":"2021-10-04T15:23:54.680Z","1.1.0":"2021-11-10T22:35:37.000Z","1.2.0":"2022-02-25T07:50:27.639Z","1.3.0":"2022-03-13T22:27:21.118Z","1.4.0-beta.1":"2022-03-22T21:29:28.672Z","1.4.0":"2022-03-23T04:36:46.883Z","1.4.1":"2022-03-29T06:54:36.963Z","1.5.0":"2022-04-19T06:22:29.755Z","1.5.1":"2022-07-10T03:06:33.308Z","1.5.2":"2022-10-31T16:19:30.442Z"},"maintainers":[{"name":"6utt3rfly","email":"6utt3rfly.npm@gmail.com"}],"description":"JavaScript expression parsing and evaluation.","homepage":"https://github.com/6utt3rfly/jse-eval#readme","keywords":["expression","eval","evaluation","parser","ast","abstract","syntax","tree","math","jsep","analysis","estree","javascript","safe","safe-eval","esprima","js-eval","expression-eval"],"repository":{"type":"git","url":"git+https://github.com/6utt3rfly/jse-eval.git"},"contributors":[{"name":"Don McCurdy","email":"dm@donmccurdy.com"}],"author":{"name":"Shelly","url":"https://github.com/6utt3rfly"},"bugs":{"url":"https://github.com/6utt3rfly/jse-eval/issues"},"license":"MIT","readme":"# jse-eval\n\n[![Latest NPM release](https://img.shields.io/npm/v/jse-eval.svg)](https://www.npmjs.com/package/jse-eval)\n[![License](https://img.shields.io/badge/license-MIT-007ec6.svg)](https://github.com/6utt3rfly/jse-eval/blob/master/LICENSE)\n[![CI](https://github.com/6utt3rfly/jse-eval/workflows/CI/badge.svg?branch=main&event=push)](https://github.com/6utt3rfly/jse-eval/actions?query=workflow%3ACI)\n<!-- [![Minzipped size](https://badgen.net/bundlephobia/minzip/jse-eval)](https://bundlephobia.com/result?p=jse-eval) -->\n\n## Credits\nHeavily based on [expression-eval](https://github.com/donmccurdy/expression-eval) and [jsep](https://github.com/EricSmekens/jsep),\nwith thanks to their awesome work.\n\n_Forked from [expression-eval](https://github.com/donmccurdy/expression-eval]) v5.0.0. Many thanks to @donmccurdy for the initial package_\n\n**JavaScript expression parsing and evaluation.**\n\n> **IMPORTANT:** As mentioned under [Security](#security) below, this library does not attempt to provide a secure sandbox for evaluation. Evaluation involving user inputs (expressions or values) may lead to unsafe behavior. If your project requires a secure sandbox, consider alternatives such as [vm2](https://www.npmjs.com/package/vm2).\n\n- [Usage](#usage)\n  * [Install](#install)\n- [API](#api)\n  * [Parsing](#parsing)\n  * [Evaluation](#evaluation)\n  * [Compilation](#compilation)\n- [Extending evaluation](#extending-evaluation)\n  * [Node Types Supported](#node-types-supported)\n- [Related Packages](#related-packages)\n- [Security](#security)\n- [Contributing](#contributing)\n- [License](#license)\n\n\n## Usage\nEvaluates an [estree](https://github.com/estree/estree) expression from [jsep](https://github.com/EricSmekens/jsep)\n(as well as [@babel/parser](https://babeljs.io/docs/en/babel-parser), [esprima](https://esprima.org/),\n[acorn](https://github.com/acornjs/acorn), or any other library that parses and returns a valid `estree` expression).\n\n\n### Install\n\nInstall:\n\n```\nnpm install --save jse-eval\n```\n\nImport:\n\n```js\n// ES6\nimport { parse, evaluate, compile, jsep } from 'jse-eval';\n\n// CommonJS\nconst { parse, evaluate, compile, jsep } = require('jse-eval');\n\n// UMD / standalone script\nconst { parse, evaluate, compile, jsep } = window.jseEval;\n```\n\n## API\n\n### Parsing\n\n```javascript\nimport { parse } from 'jse-eval';\nconst ast = parse('1 + foo');\n```\n\nThe result of the parse is an AST (abstract syntax tree), like:\n\n```json\n{\n  \"type\": \"BinaryExpression\",\n  \"operator\": \"+\",\n  \"left\": {\n    \"type\": \"Literal\",\n    \"value\": 1,\n    \"raw\": \"1\"\n  },\n  \"right\": {\n    \"type\": \"Identifier\",\n    \"name\": \"foo\"\n  }\n}\n```\n\n### Evaluation\nEvaluation executes the AST using the given context (`eval(ast, context)`. By default, the context is empty.\n\n```javascript\nimport { parse, evaluate } from 'jse-eval';\nconst ast = parse('a + b / c'); // abstract syntax tree (AST)\nconst value = eval(ast, {a: 2, b: 2, c: 5}); // 2.4\n\n// alternatively:\nconst value = await evalAsync(ast, {a: 2, b: 2, c: 5}); // 2.4\n```\n\nSince the default context is empty, it prevents using built-in JS functions.\nTo allow those functions, they can be added to the `context` argument passed into the `eval` method:\n```javascript\nconst context = {\n  Date,\n  Array,\n  Object,\n  encodeURI,\n  decodeURI,\n  isFinite,\n  isNaN,\n  JSON,\n  Math,\n  parseFloat,\n  parseInt,\n  RegExp,\n  // ...myCustomPropertiesAndFunctions,\n};\n```\n\n### Compilation\n\n```javascript\nimport { compile } from 'jse-eval';\nconst fn = compile('foo.bar + 10');\nfn({foo: {bar: 'baz'}}); // 'baz10'\n\n// alternatively:\nimport { compileAsync } from 'jse-eval';\nconst fn = compileAsync('foo.bar + 10');\nfn({foo: {bar: 'baz'}}); // 'baz10'\n```\n\n### One-Line Parse + Evaluation\n```javascript\nimport { evalExpr } from 'jse-eval';\nevalExpr('foo.bar + 10', {foo: {bar: 'baz'}}); // baz10\n\n// alternatively:\nimport { evalExprAsync } from 'jse-eval';\nevalExprAsync('foo.bar + 10', {foo: {bar: 'baz'}}); // baz10\n```\n\n### JSEP Plugins\n```javascript\nimport { registerPlugin } from 'jse-eval';\nregisterPlugin(\n  require('@jsep-plugin/arrow'),\n  require('@jsep-plugin/assignment'),\n  require('@jsep-plugin/async-await'),\n  require('@jsep-plugin/new'),\n  require('@jsep-plugin/object'),\n  require('@jsep-plugin/regex'),\n  require('@jsep-plugin/spread'),\n  require('@jsep-plugin/template'),\n  require('@jsep-plugin/ternary')\n);\n\n// or alternatively:\nconst { jsep } = require('jse-eval');\njsep.plugins.register(\n  require('@jsep-plugin/arrow'),\n  require('@jsep-plugin/assignment'),\n  // ...\n);\n```\n\n## Extending evaluation\n\nTo modify the evaluation, use any of the modification methods:\n- `addUnaryOp(operator, evaluator)`. Will add the operator to jsep, and the function to evaluate the operator\n- `addBinaryOp(operator, precedence | evaluator, evaluator)`. Will add the operator to jsep at the given\nprecedence (if provided), and the function to evaluate the operator\n- `addEvaluator(nodeType, evaluator)`. Will add the evaluator function to the map of functions\nfor each node type. This evaluator will be called with the ExpressionEval instance bound to it.\nThe evaluator is responsible for handling both sync and async, as needed, but can use the `this.isAsync`\nor `this.evalSyncAsync()` to help.\n  - *to prevent unsafe code execution, redefine `CallExpression` and `ArrowFunctionExpression` to throw an error*\n  - If the node type is unknown, jse-eval will check for a `default` node type handler before\n  throwing an error for an unknown node type. If any other behavior is desired, this can be overridden\n  by providing a new `default` evaluator.\n\nExtensions may also be added as plugins using the `registerPlugin(myPlugin1, myPlugin2...)` method.\nThe plugins are extensions of the JSEP format. If the `init` method is defined in the plugin,\nthen the plugin will be added to JSEP, and/or if the `initEval` method is defined in the plugin,\nthen the `initEval` method will be called with the JseEval class as both `this` and as an argument\nso the plugin code may extend as necessary.\n\n### Example Extensions:\n```javascript\nimport * as expr from 'jse-eval';\n\nexpr.addBinaryOp('**', 11, true, (a, b) => a ** b);\nconsole.log(expr.evalExpr('2 ** 3 ** 2')); // 512\n\nexpr.addBinaryOp('^', 11, (a, b) => Math.pow(a, b)); // Replace XOR with Exponent\nconsole.log(expr.evalExpr('3^2')); // 9\n\nexpr.addEvaluator('TestNodeType', function(node) {\n  return node.test + this.context.string\n});\nconsole.log(expr.eval({ type: 'TestNodeType', test: 'testing ' }, { string: 'jse-eval' })); // 'testing jse-eval'\n\n// override default implementation:\nexpr.addEvaluator('Identifier', function myIdentifier(node: Identifier) {\n  return context?.[node.name];\n});\nconsole.log(expr.eval({ type: 'Identifier', name: 'x' }, { x: 'jse-eval' })); // 'jse-eval'\n\n\nconst myPlugin = {\n  name: 'Exponentiation',\n  init(jsep) {\n    // if only adding to jsep. Otherwise it's redundant with initEval\n    jsep.addBinaryOp('**', 11, true);\n  },\n  initEval(JseEval) {\n    JseEval.addBinaryOp('**', (a, b) => a ** b);\n  },\n};\nexpr.registerPlugin(myPlugin);\nconsole.log(expr.evalExpr('2 ** 3 ** 2')); // 512\n```\n\n### Node Types Supported:\nThis project will try to stay current with all JSEP's node types::\n- `ArrayExpression`\n- `LogicalExpression`/`BinaryExpression`\n- `CallExpression` *potentially unsafe*\n- `ConditionalExpression`\n- `Compound` *Compound support will evaluate each expression and return the result of the final one*\n- `Identifier`\n- `Literal`\n- `MemberExpression`\n- `ThisExpression`\n- `UnaryExpression`\n\nAs well as the optional plugin node types:\n- `ArrowFunctionExpression` *potentially unsafe*\n- `AssignmentExpression`/`UpdateExpression`\n- `AwaitExpression`\n- `NewExpression`\n- `ObjectExpression`\n- `SpreadElement`\n- `TaggedTemplateExpression`/`TemplateLiteral`\n\n## Related Packages\nDepending on your specific use-case, there are other\nrelated packages available, including:\n- [jsep](https://github.com/EricSmekens/jsep)\n- [expression-eval](https://github.com/donmccurdy/expression-eval)\n- [eval-estree-expression](https://github.com/jonschlinkert/eval-estree-expression)\n- [es-tree-walker](https://github.com/Rich-Harris/estree-walker)\n- [acorn](https://github.com/acornjs/acorn)\n- [astring](https://github.com/davidbonnet/astring)\n\n## Security\n\nAlthough this package does [avoid the use of `eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Do_not_ever_use_eval!), it _cannot guarantee that user-provided expressions, or user-provided inputs to evaluation, will not modify the state or behavior of your application_. This library does not attempt to provide a secure sandbox for evaluation. Evaluation of arbitrary user inputs (expressions or values) may lead to unsafe behavior. If your project requires a secure sandbox, consider alternatives such as [vm2](https://www.npmjs.com/package/vm2).\n\n## Contributing\n\nWant to file a bug, contribute some code, or improve documentation?\nExcellent! Read up on the guidelines for [contributing](CONTRIBUTING.md)\nand then feel free to submit a PR with your contribution.\n\n### Code of Conduct\n\nHelp us keep this project open and inclusive. Please read and follow\nthe [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## License\n\nMIT License.\n","readmeFilename":"README.md"}