{"_id":"@swaggerexpert/arazzo-runtime-expression","_rev":"8-1db18a2a20c10d62e120afac51729cac","name":"@swaggerexpert/arazzo-runtime-expression","dist-tags":{"latest":"3.2.0"},"versions":{"1.0.0":{"name":"@swaggerexpert/arazzo-runtime-expression","version":"1.0.0","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","_id":"@swaggerexpert/arazzo-runtime-expression@1.0.0","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"dist":{"shasum":"71a8c7db10ad32180cc053597a4555edc4af856b","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-1.0.0.tgz","fileCount":39,"integrity":"sha512-5guC2HgGq9nyxy56XdQ7T8TPztOxidIqzPjt9VNAQWPsIHRQrvHa+xJ1kwwMwineYty+OZuDtcJQYA8kfdbo5Q==","signatures":[{"sig":"MEUCIQCn/TEwEDSQXMtV5wvBVg2Ou7fOe9l4pkSNZgUIzZ4DxgIgSpM4jcPg9aVXgTts7dX/9jWHc0yhvBYduB2ACmF92MY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118470},"main":"./cjs/index.cjs","type":"module","types":"./types/index.d.ts","watch":{"test":"{src,test}/*.js"},"engines":{"node":">=12.20.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"gitHead":"3e55e52a25bdc0210366f02e1f6d5ae4e1c7c887","scripts":{"test":"mocha","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","watch":"npm-watch","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","test:watch":"npm-watch test","prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/runtime-expression.bnf --out=./src/runtime-expression.js && cd ./src","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs"},"_npmUser":{"name":"char0n","email":"vladimir.gorej@gmail.com"},"repository":{"url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git","type":"git"},"_npmVersion":"10.8.2","description":"Arazzo Runtime expressions parser, validator and extractor.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"apg-lite":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"=5.2.0","husky":"=9.1.7","mocha":"=11.1.0","apg-js":"^4.4.0","prettier":"^3.1.1","cross-env":"^7.0.3","npm-watch":"^0.13.0","@babel/cli":"=7.26.4","@babel/core":"=7.26.9","@commitlint/cli":"=19.7.1","@babel/preset-env":"=7.26.9","babel-plugin-module-resolver":"^5.0.2","@commitlint/config-conventional":"=19.7.1"},"_npmOperationalInternal":{"tmp":"tmp/arazzo-runtime-expression_1.0.0_1739826660194_0.9390784943997881","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@swaggerexpert/arazzo-runtime-expression","version":"1.0.1","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","_id":"@swaggerexpert/arazzo-runtime-expression@1.0.1","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"dist":{"shasum":"405bd67038e9495b2a8cf7150afe6a5f4dd98a2b","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-1.0.1.tgz","fileCount":39,"integrity":"sha512-nzQ3cOkxmHG2Q6+NQrw33n4VUWFXUuxpQt8ElMYCILS+UiC1vfbmTWi8y+yDRsGhec9cdnnWVA2n+2BeerfqbA==","signatures":[{"sig":"MEQCIEPJe/vVamZLMdY2Kf49bPWGla7QyzLgQ8nqbC5NfNvjAiAay43d4fqIob3DLBVcnFSRabLGQacN1/IN01Q0dSMZeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118943},"main":"./cjs/index.cjs","type":"module","types":"./types/index.d.ts","watch":{"test":"{src,test}/*.js"},"engines":{"node":">=12.20.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"gitHead":"c50c663320e6e8358bdcffc50c0570942089e143","scripts":{"test":"mocha","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","watch":"npm-watch","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","test:watch":"npm-watch test","prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/runtime-expression.bnf --out=./src/runtime-expression.js && cd ./src","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs"},"_npmUser":{"name":"char0n","email":"vladimir.gorej@gmail.com"},"repository":{"url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git","type":"git"},"_npmVersion":"10.8.2","description":"Arazzo Runtime expressions parser, validator and extractor.","directories":{},"_nodeVersion":"20.18.0","dependencies":{"apg-lite":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"=5.2.0","husky":"=9.1.7","mocha":"=11.1.0","apg-js":"^4.4.0","prettier":"^3.1.1","cross-env":"^7.0.3","npm-watch":"^0.13.0","@babel/cli":"=7.26.4","@babel/core":"=7.26.9","@commitlint/cli":"=19.7.1","@babel/preset-env":"=7.26.9","babel-plugin-module-resolver":"^5.0.2","@commitlint/config-conventional":"=19.7.1"},"_npmOperationalInternal":{"tmp":"tmp/arazzo-runtime-expression_1.0.1_1739830666423_0.2848582177862615","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@swaggerexpert/arazzo-runtime-expression","version":"2.0.1","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","_id":"@swaggerexpert/arazzo-runtime-expression@2.0.1","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"dist":{"shasum":"9da8944acefa13068d3226607335ac213a4245ca","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-2.0.1.tgz","fileCount":35,"integrity":"sha512-0LM5wO2IGogKguDScbdXc2O4kDWdfYM1s5+P+JGK31vN+2aA5X6N4MalDEsTq51l8/dLasDyeNzkLECTeDqmCA==","signatures":[{"sig":"MEQCIDZmOWdwcGMpNEylsFIXSrl8AgZ1Sge4O/WcK88hZWutAiA9uwryiG5VsobmyZfRJZI+FDxdRF7o7untIvC+E5vN7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@swaggerexpert%2farazzo-runtime-expression@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176120},"main":"./cjs/index.cjs","type":"module","_from":"file:dist/swaggerexpert-arazzo-runtime-expression-2.0.1.tgz","types":"./types/index.d.ts","watch":{"test":"{src,test}/*.js"},"engines":{"node":">=16.14.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"cross-env UPDATE_SNAPSHOT=new mocha","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","watch":"npm-watch","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","test:watch":"npm-watch test","prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/grammar.bnf --out=./src/grammar.js && cd ./src","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3a25f11-135c-4625-b4ba-df8d16e3533f"}},"_resolved":"/home/runner/work/arazzo-runtime-expression/arazzo-runtime-expression/dist/swaggerexpert-arazzo-runtime-expression-2.0.1.tgz","_integrity":"sha512-0LM5wO2IGogKguDScbdXc2O4kDWdfYM1s5+P+JGK31vN+2aA5X6N4MalDEsTq51l8/dLasDyeNzkLECTeDqmCA==","repository":{"url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git","type":"git"},"_npmVersion":"11.6.2","description":"Arazzo Runtime expressions parser, validator and extractor.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"apg-lite":"^1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"=6.2.2","husky":"=9.1.7","mocha":"=11.7.5","apg-js":"^4.4.0","prettier":"^3.1.1","cross-env":"^10.0.0","npm-watch":"^0.13.0","@babel/cli":"=7.28.6","@babel/core":"=7.28.6","@commitlint/cli":"=20.3.1","semantic-release":"^25.0.2","@babel/preset-env":"=7.28.6","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","mocha-expect-snapshot":"^8.0.0","@semantic-release/github":"^12.0.2","babel-plugin-module-resolver":"^5.0.2","@commitlint/config-conventional":"=20.3.1","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/arazzo-runtime-expression_2.0.1_1769177095578_0.16767316116634357","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@swaggerexpert/arazzo-runtime-expression","version":"2.0.2","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","_id":"@swaggerexpert/arazzo-runtime-expression@2.0.2","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"dist":{"shasum":"b4971a3154bfd692f3412da918f920d56e86ee56","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-2.0.2.tgz","fileCount":35,"integrity":"sha512-FijBlpLdfRfoeTIKz8d4t0hKp6bxjlPsM4awIsGlQYfjnSsn5X7bMc8aaDbCcG+gaitn66ZSFZLirmd5PdUjCg==","signatures":[{"sig":"MEYCIQC42EfOODd4/QZf190DRrEhufX7FHYMXdg1I0fDjOo7ZQIhAIP0Jq5ufZrrgvfqbr8QymrCUu2Lcx3DBOWrlTnFb2Fp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@swaggerexpert%2farazzo-runtime-expression@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176985},"main":"./cjs/index.cjs","type":"module","_from":"file:dist/swaggerexpert-arazzo-runtime-expression-2.0.2.tgz","types":"./types/index.d.ts","watch":{"test":"{src,test}/*.js"},"engines":{"node":">=16.14.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"cross-env UPDATE_SNAPSHOT=new mocha","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","watch":"npm-watch","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","test:watch":"npm-watch test","prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/grammar.bnf --out=./src/grammar.js && cd ./src","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3a25f11-135c-4625-b4ba-df8d16e3533f"}},"_resolved":"/home/runner/work/arazzo-runtime-expression/arazzo-runtime-expression/dist/swaggerexpert-arazzo-runtime-expression-2.0.2.tgz","_integrity":"sha512-FijBlpLdfRfoeTIKz8d4t0hKp6bxjlPsM4awIsGlQYfjnSsn5X7bMc8aaDbCcG+gaitn66ZSFZLirmd5PdUjCg==","repository":{"url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git","type":"git"},"_npmVersion":"11.6.2","description":"Arazzo Runtime expressions parser, validator and extractor.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"apg-lite":"^1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"=6.2.2","husky":"=9.1.7","mocha":"=11.7.5","apg-js":"^4.4.0","prettier":"^3.1.1","cross-env":"^10.0.0","npm-watch":"^0.13.0","@babel/cli":"=7.28.6","@babel/core":"=7.28.6","@commitlint/cli":"=20.3.1","semantic-release":"^25.0.2","@babel/preset-env":"=7.28.6","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","mocha-expect-snapshot":"^8.0.0","@semantic-release/github":"^12.0.2","babel-plugin-module-resolver":"^5.0.2","@commitlint/config-conventional":"=20.3.1","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/arazzo-runtime-expression_2.0.2_1769696174386_0.8370628997159051","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@swaggerexpert/arazzo-runtime-expression","version":"2.0.3","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","_id":"@swaggerexpert/arazzo-runtime-expression@2.0.3","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"dist":{"shasum":"4cc5af64fb625a336d696d70c6d5bb01c6c50118","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-2.0.3.tgz","fileCount":35,"integrity":"sha512-iGzCT3a6edX/LyQFhaR5l1JEyGtCQArGVjKDk8T7biaz24TE3CgDUMyeWzhGq9x7GBDj6KsxkI1WKEdERiDT5A==","signatures":[{"sig":"MEQCIHeLYpJQvL9/yVsVNYB1a1sBlq+YFrdPt/mWF75h5a/mAiBq0PjFiGcj5MEZQhTsZh+2+JI00fICXmzWJS45eyzotQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@swaggerexpert%2farazzo-runtime-expression@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176987},"main":"./cjs/index.cjs","type":"module","_from":"file:dist/swaggerexpert-arazzo-runtime-expression-2.0.3.tgz","types":"./types/index.d.ts","watch":{"test":"{src,test}/*.js"},"engines":{"node":">=16.14.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"cross-env UPDATE_SNAPSHOT=new mocha","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","watch":"npm-watch","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","test:watch":"npm-watch test","prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/grammar.bnf --out=./src/grammar.js && cd ./src","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3a25f11-135c-4625-b4ba-df8d16e3533f"}},"_resolved":"/home/runner/work/arazzo-runtime-expression/arazzo-runtime-expression/dist/swaggerexpert-arazzo-runtime-expression-2.0.3.tgz","_integrity":"sha512-iGzCT3a6edX/LyQFhaR5l1JEyGtCQArGVjKDk8T7biaz24TE3CgDUMyeWzhGq9x7GBDj6KsxkI1WKEdERiDT5A==","repository":{"url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git","type":"git"},"_npmVersion":"11.6.2","description":"Arazzo Runtime expressions parser, validator and extractor.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"apg-lite":"^1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"=6.2.2","husky":"=9.1.7","mocha":"=11.7.5","apg-js":"^4.4.0","prettier":"^3.1.1","cross-env":"^10.0.0","npm-watch":"^0.13.0","@babel/cli":"=7.28.6","@babel/core":"=7.28.6","@commitlint/cli":"=20.4.1","semantic-release":"^25.0.2","@babel/preset-env":"=7.29.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","mocha-expect-snapshot":"^8.0.0","@semantic-release/github":"^12.0.2","babel-plugin-module-resolver":"^5.0.2","@commitlint/config-conventional":"=20.4.1","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/arazzo-runtime-expression_2.0.3_1770590612465_0.8728394429671942","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@swaggerexpert/arazzo-runtime-expression","version":"3.0.0","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","_id":"@swaggerexpert/arazzo-runtime-expression@3.0.0","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"dist":{"shasum":"64fba7fa069e4b5d8c698b7333d995f0557aa2fb","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-3.0.0.tgz","fileCount":35,"integrity":"sha512-ppOPKm/et4XXtyfDZpZEcUoyT9CQnuUFJjjZuLTD6/UL68aEXX3Y8ufPVyqz7q8eciGvSxJ1ZpXr9jtq4cHIPw==","signatures":[{"sig":"MEYCIQDG/ih/DqWPoSc9GfipUvd7HEsZj4AME8B8c/xKwR1DdgIhAPZYHTN9/8OUDpjB8Ymk+bZsP/7XiCwQIZPAuUATTphI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@swaggerexpert%2farazzo-runtime-expression@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182909},"main":"./cjs/index.cjs","type":"module","_from":"file:dist/swaggerexpert-arazzo-runtime-expression-3.0.0.tgz","types":"./types/index.d.ts","watch":{"test":"{src,test}/*.js"},"engines":{"node":">=16.14.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"cross-env UPDATE_SNAPSHOT=new mocha","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","watch":"npm-watch","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","test:watch":"npm-watch test","prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/grammar.bnf --out=./src/grammar.js && cd ./src","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3a25f11-135c-4625-b4ba-df8d16e3533f"}},"_resolved":"/home/runner/work/arazzo-runtime-expression/arazzo-runtime-expression/dist/swaggerexpert-arazzo-runtime-expression-3.0.0.tgz","_integrity":"sha512-ppOPKm/et4XXtyfDZpZEcUoyT9CQnuUFJjjZuLTD6/UL68aEXX3Y8ufPVyqz7q8eciGvSxJ1ZpXr9jtq4cHIPw==","repository":{"url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git","type":"git"},"_npmVersion":"11.16.0","description":"Arazzo Runtime expressions parser, validator and extractor.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"apg-lite":"^1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"=6.2.2","husky":"=9.1.7","mocha":"=11.7.6","apg-js":"^4.4.0","prettier":"^3.1.1","cross-env":"^10.0.0","npm-watch":"^0.13.0","@babel/cli":"=8.0.1","@babel/core":"=8.0.1","@commitlint/cli":"=21.2.0","semantic-release":"^25.0.2","@babel/preset-env":"=8.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","mocha-expect-snapshot":"^8.0.0","@semantic-release/github":"^12.0.2","babel-plugin-module-resolver":"^5.0.2","@commitlint/config-conventional":"=21.2.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/arazzo-runtime-expression_3.0.0_1783414333690_0.9601497922327393","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@swaggerexpert/arazzo-runtime-expression","version":"3.1.0","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","_id":"@swaggerexpert/arazzo-runtime-expression@3.1.0","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"dist":{"shasum":"5c94a5475d881298a28a2813d1181d0e75d46515","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-3.1.0.tgz","fileCount":37,"integrity":"sha512-m3TP2AqPGHn54nNQEvEGpt9Vpkp9eDkxup18FJ+eabWkfqInfg8jeWeDqNiwqmgDaxrA3eP1ISNsBvQVyj3Ruw==","signatures":[{"sig":"MEYCIQDVTMiiEfNQR7J+0+bhfldoYKxrXuqPhm7Vie2UlLwEuQIhAIx5hgIXQEB9dK+TyCXlQwU0QQon3T2Ge2EHqcZNHxhY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@swaggerexpert%2farazzo-runtime-expression@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":191146},"main":"./cjs/index.cjs","type":"module","_from":"file:dist/swaggerexpert-arazzo-runtime-expression-3.1.0.tgz","types":"./types/index.d.ts","watch":{"test":"{src,test}/*.js"},"engines":{"node":">=16.14.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"cross-env UPDATE_SNAPSHOT=new mocha","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","watch":"npm-watch","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","test:watch":"npm-watch test","prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/grammar.bnf --out=./src/grammar.js && cd ./src","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3a25f11-135c-4625-b4ba-df8d16e3533f"}},"_resolved":"/home/runner/work/arazzo-runtime-expression/arazzo-runtime-expression/dist/swaggerexpert-arazzo-runtime-expression-3.1.0.tgz","_integrity":"sha512-m3TP2AqPGHn54nNQEvEGpt9Vpkp9eDkxup18FJ+eabWkfqInfg8jeWeDqNiwqmgDaxrA3eP1ISNsBvQVyj3Ruw==","repository":{"url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git","type":"git"},"_npmVersion":"11.16.0","description":"Arazzo Runtime expressions parser, validator and extractor.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"apg-lite":"^1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"=6.2.2","husky":"=9.1.7","mocha":"=11.7.6","apg-js":"^4.4.0","prettier":"^3.1.1","cross-env":"^10.0.0","npm-watch":"^0.13.0","@babel/cli":"=8.0.1","@babel/core":"=8.0.1","@commitlint/cli":"=21.2.0","semantic-release":"^25.0.2","@babel/preset-env":"=8.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.3","mocha-expect-snapshot":"^8.0.0","@semantic-release/github":"^12.0.2","babel-plugin-module-resolver":"^5.0.2","@commitlint/config-conventional":"=21.2.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/arazzo-runtime-expression_3.1.0_1783493815900_0.09013177657851434","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@swaggerexpert/arazzo-runtime-expression","publishConfig":{"access":"public"},"version":"3.2.0","description":"Arazzo Runtime expressions parser, validator and extractor.","main":"./cjs/index.cjs","types":"./types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./es/index.mjs","require":"./cjs/index.cjs"},"./package.json":"./package.json"},"watch":{"test":"{src,test}/*.js"},"scripts":{"prepublishOnly":"npm run build","grammar:compile":"node ./scripts/apg-js.js --lite --in=./src/grammar.bnf --out=./src/grammar.js && cd ./src","build":"npm run grammar:compile && npm run build:es && npm run build:cjs && npm run build:cjs:apg-lite","build:es":"cross-env BABEL_ENV=es babel src --out-dir es --extensions '.js' --out-file-extension '.mjs'","build:cjs":"cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.js' --out-file-extension '.cjs'","build:cjs:apg-lite":"cross-env BABEL_ENV=cjs babel node_modules/apg-lite/lib/parser.js --out-file ./cjs/apg-lite.cjs","test":"cross-env UPDATE_SNAPSHOT=new mocha","test:watch":"npm-watch test","watch":"npm-watch"},"engines":{"node":">=16.14.0"},"type":"module","repository":{"type":"git","url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git"},"keywords":["arazzo","runtime","expression","parser","validator","extractor"],"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","dependencies":{"apg-lite":"^1.0.5"},"devDependencies":{"@babel/cli":"=8.0.4","@babel/core":"=8.0.1","@babel/preset-env":"=8.0.2","@commitlint/cli":"=21.2.2","@commitlint/config-conventional":"=21.2.2","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/git":"^11.0.1","@semantic-release/github":"^12.0.2","@semantic-release/npm":"^13.1.3","@semantic-release/release-notes-generator":"^14.1.0","apg-js":"^4.4.0","babel-plugin-module-resolver":"^5.0.2","chai":"=6.2.2","cross-env":"^10.0.0","husky":"=9.1.7","mocha":"=11.8.0","mocha-expect-snapshot":"^8.0.0","npm-watch":"^0.13.0","prettier":"^3.1.1","semantic-release":"^25.0.2"},"_id":"@swaggerexpert/arazzo-runtime-expression@3.2.0","_integrity":"sha512-cDza37MvgKXlIVDmACr4vAF3DaliCkZ/aMDXuPx1BDdkPMoSKW65LF8OA2IpmvOX6BMGjPSpB4Asl1nSHPqvKA==","_resolved":"/home/runner/work/arazzo-runtime-expression/arazzo-runtime-expression/dist/swaggerexpert-arazzo-runtime-expression-3.2.0.tgz","_from":"file:dist/swaggerexpert-arazzo-runtime-expression-3.2.0.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-cDza37MvgKXlIVDmACr4vAF3DaliCkZ/aMDXuPx1BDdkPMoSKW65LF8OA2IpmvOX6BMGjPSpB4Asl1nSHPqvKA==","shasum":"b16842bb88e44fbe3dbd29fd0ea0e49a86397a43","tarball":"https://registry.npmjs.org/@swaggerexpert/arazzo-runtime-expression/-/arazzo-runtime-expression-3.2.0.tgz","fileCount":37,"unpackedSize":199505,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@swaggerexpert%2farazzo-runtime-expression@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD/OeLlTxBhdiE/Lb3yvWjxAKhoRXdIWR+eDBSTCfj8rQIhALqgA2fMU6WkG44CipORukbA5wz+YCm7YsAXyuz/JaMe"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3a25f11-135c-4625-b4ba-df8d16e3533f"}},"directories":{},"maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/arazzo-runtime-expression_3.2.0_1788099418933_0.8006213574804699"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-17T21:11:00.093Z","modified":"2026-08-30T14:16:59.435Z","1.0.0":"2025-02-17T21:11:00.384Z","1.0.1":"2025-02-17T22:17:46.577Z","2.0.1":"2026-01-23T14:04:55.731Z","2.0.2":"2026-01-29T14:16:14.549Z","2.0.3":"2026-02-08T22:43:32.628Z","3.0.0":"2026-07-07T08:52:13.826Z","3.1.0":"2026-07-08T06:56:56.039Z","3.2.0":"2026-08-30T14:16:59.058Z"},"bugs":{"url":"https://github.com/swaggerexpert/arazzo-runtime-expression/issues"},"author":{"name":"Vladimír Gorej","email":"vladimir.gorej@gmail.com"},"license":"Apache-2.0","homepage":"https://github.com/swaggerexpert/arazzo-runtime-expression#readme","keywords":["arazzo","runtime","expression","parser","validator","extractor"],"repository":{"type":"git","url":"git+https://github.com/swaggerexpert/arazzo-runtime-expression.git"},"description":"Arazzo Runtime expressions parser, validator and extractor.","maintainers":[{"name":"char0n","email":"vladimir.gorej@gmail.com"}],"readme":"# @swaggerexpert/arazzo-runtime-expression\n\n[![npmversion](https://img.shields.io/npm/v/%40swaggerexpert%2Farazzo-runtime-expression?style=flat-square&label=npm%20package&color=%234DC81F&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40swaggerexpert%2Farazzo-runtime-expression)](https://www.npmjs.com/package/@swaggerexpert/arazzo-runtime-expression)\n[![npm](https://img.shields.io/npm/dm/@swaggerexpert/arazzo-runtime-expression)](https://www.npmjs.com/package/@swaggerexpert/arazzo-runtime-expression)\n[![Test workflow](https://github.com/swaggerexpert/arazzo-runtime-expression/actions/workflows/test.yml/badge.svg)](https://github.com/swaggerexpert/arazzo-runtime-expression/actions)\n[![Dependabot enabled](https://img.shields.io/badge/Dependabot-enabled-blue.svg)](https://dependabot.com/)\n[![try on RunKit](https://img.shields.io/badge/try%20on-RunKit-brightgreen.svg?style=flat)](https://npm.runkit.com/@swaggerexpert/arazzo-runtime-expression)\n[![Tidelift](https://tidelift.com/badges/package/npm/@swaggerexpert%2Farazzo-runtime-expression)](https://tidelift.com/subscription/pkg/npm-.swaggerexpert-arazzo-runtime-expression?utm_source=npm-swaggerexpert-arazzo-runtime-expression&utm_medium=referral&utm_campaign=readme)\n\n[Arazzo Runtime Expressions](https://spec.openapis.org/arazzo/latest.html#runtime-expressions) allows values to be defined based on information that will be available within the HTTP message in an actual API call,\nor within objects serialized from the Arazzo document such as [workflows](https://spec.openapis.org/arazzo/latest.html#workflow-object) or [steps](https://spec.openapis.org/arazzo/latest.html#step-object).\n\n`@swaggerexpert/arazzo-runtime-expression` is a **parser**, **validator**, **extractor** and **interpolator** for Arazzo Runtime Expressions.\n\nIt supports Runtime Expressions defined in following Arazzo specification versions:\n\n- [Arazzo 1.0.0](https://spec.openapis.org/arazzo/v1.0.0.html)\n- [Arazzo 1.0.1](https://spec.openapis.org/arazzo/v1.0.1.html)\n- [Arazzo 1.1.0](https://spec.openapis.org/arazzo/v1.1.0.html)\n\n<table>\n  <tr>\n    <td align=\"right\" valign=\"middle\">\n        <img src=\"https://raw.githubusercontent.com/swaggerexpert/arazzo-runtime-expression/main/assets/tidelift.webp\" alt=\"Tidelift\" width=\"60\" />\n      </td>\n      <td valign=\"middle\">\n        <a href=\"https://tidelift.com/subscription/pkg/npm-.swaggerexpert-arazzo-runtime-expression?utm_source=npm-swaggerexpert-arazzo-runtime-expression&utm_medium=referral&utm_campaign=readme\">\n            Get professionally supported @swaggerexpert/arazzo-runtime-expression with Tidelift Subscription.\n        </a>\n      </td>\n  </tr>\n</table>\n\n## Table of Contents\n\n- [Getting started](#getting-started)\n  - [Installation](#installation)\n  - [Usage](#usage)\n    - [Extraction](#extraction)\n    - [Interpolation](#interpolation)\n    - [Parsing](#parsing)\n      - [Translators](#translators)\n      - [Statistics](#statistics)\n      - [Tracing](#tracing)\n    - [Validation](#validation)\n    - [Errors](#errors)\n    - [Grammar](#grammar)\n- [More about Arazzo runtime expressions](#more-about-arazzo-runtime-expressions)\n- [License](#license)\n\n\n## Getting started\n\n### Installation\n\nYou can install `@swaggerexpert/arazzo-runtime-expression` using `npm`:\n\n```sh\n $ npm install @swaggerexpert/arazzo-runtime-expression\n```\n\n### Usage\n\n`@swaggerexpert/arazzo-runtime-expression` currently supports **extraction**, **interpolation**, **parsing** and **validation**.\nBoth parser and validator are based on a superset of [ABNF](https://www.rfc-editor.org/rfc/rfc5234) ([SABNF](https://cs.github.com/ldthomas/apg-js2/blob/master/SABNF.md))\nand use [apg-lite](https://github.com/ldthomas/apg-lite) parser generator.\n\n#### Extraction\n\nArazzo embeds Runtime Expressions into string values surrounded with `{}` curly braces.\nTo extract Runtime Expressions from this embedded form, use the **extract** function.\nThe function returns an array of all extracted expressions, which can be used for further parsing or validation.\n\n```js\nimport { extract, test, parse } from '@swaggerexpert/arazzo-runtime-expression';\n\n// Extract single expression\nextract('{$request.header.accept}'); // => ['$request.header.accept']\n\n// Extract multiple expressions from a template string\nextract('client_id={$inputs.clientId}&grant_type={$inputs.grantType}');\n// => ['$inputs.clientId', '$inputs.grantType']\n\n// No expressions found\nextract('no expressions here'); // => []\n\n// Use extracted expressions\nconst expressions = extract('{$url}');\ntest(expressions[0]); // => true\nparse(expressions[0]); // => { result, tree }\n```\n\n#### Interpolation\n\nArazzo embeds Runtime Expressions into string values surrounded with `{}` curly braces.\nTo render such a template string, use the **interpolate** function. It replaces every `{expression}`\noccurrence with a value produced by a **resolver** callback, while preserving all literal content.\n\nBecause this package is a parser and has no knowledge of the runtime context (HTTP messages, workflow\ninputs/outputs, etc.), you supply the resolution logic through the `resolver` callback. The callback\nreceives the raw expression (e.g. `$inputs.name`) and returns its value.\n\n```js\nimport { interpolate } from '@swaggerexpert/arazzo-runtime-expression';\n\n// Single expression\ninterpolate('Hello {$inputs.name}!', () => 'world'); // => 'Hello world!'\n\n// Multiple expressions resolved from a lookup table\nconst values = { '$inputs.clientId': 'abc', '$inputs.grantType': 'authorization_code' };\ninterpolate('client_id={$inputs.clientId}&grant_type={$inputs.grantType}', (expression) => values[expression]);\n// => 'client_id=abc&grant_type=authorization_code'\n\n// Strings without expressions are returned unchanged\ninterpolate('no expressions here', () => 'X'); // => 'no expressions here'\n```\n\nResolved values are stringified before being spliced into the template. The default stringification\nrenders `undefined` and `null` as an empty string, uses strings as-is, serializes objects with\n`JSON.stringify` and coerces everything else via `String()`. This can be customized via the\n`stringify` option.\n\n```js\nimport { interpolate } from '@swaggerexpert/arazzo-runtime-expression';\n\ninterpolate('{$request.body}', () => ({ id: 1 }), {\n  stringify: (value) => JSON.stringify(value, null, 2),\n});\n// => '{\\n  \"id\": 1\\n}'\n```\n\n#### Parsing\n\nParsing a Runtime Expression is as simple as importing the **parse** function and calling it.\n\n```js\nimport { parse } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst parseResult = parse('$request.header.accept');\n```\n\n**parseResult** variable has the following shape:\n\n```\n{\n  result: <ParseResult['result']>,\n  tree: <ParseResult['tree']>,\n  stats: <ParseResult['stats']>,\n  trace: <ParseResult['trace']>,\n}\n```\n\n[TypeScript typings](https://github.com/swaggerexpert/arazzo-runtime-expression/blob/main/types/index.d.ts) are available for all fields attached to parse result object returned by the `parse` function.\n\n##### Translators\n\n`@swaggerexpert/arazzo-runtime-expression` provides several translators to convert the parse result into different tree representations.\n\n###### CST translator\n\n[Concrete Syntax Tree](https://en.wikipedia.org/wiki/Parse_tree) (Parse tree) representation is available on parse result\nwhen instance of `CSTTranslator` is provided via a `translator` option to the `parse` function.\nCST is suitable to be consumed by other tools like IDEs, editors, etc...\n\n```js\nimport { parse, CSTTranslator } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst { tree: cst } = parse('$request.header.accept', { translator: new CSTTranslator() });\n```\n\nCST tree has a shape documented by [TypeScript typings (CSTNode)](https://github.com/swaggerexpert/arazzo-runtime-expression/blob/main/types/index.d.ts).\n\n###### AST translator\n\n**Default translator**. [Abstract Syntax Tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree) representation is available on parse result\nby default or when instance of `ASTTranslator` is provided via a `translator` option to the `parse` function.\nAST is suitable to be consumed by implementations that need to analyze the structure of the runtime expression.\n\n```js\nimport { parse } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst { tree: ast } = parse('$request.header.accept');\n```\n\nor\n\n```js\nimport { parse, ASTTranslator } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst { tree: ast } = parse('$request.header.accept', { translator: new ASTTranslator() });\n```\n\nAST tree has a shape documented by [TypeScript typings (ASTNode)](https://github.com/swaggerexpert/arazzo-runtime-expression/blob/main/types/index.d.ts).\n\n###### XML translator\n\n```js\nimport { parse, XMLTranslator } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst { tree: xml } = parse('$request.header.accept', { translator: new XMLTranslator() });\n```\n\n##### Statistics\n\n`parse` function returns additional statistical information about the parsing process.\nCollection of the statistics can be enabled by setting `stats` option to `true`.\n\n```js\nimport { parse } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst { stats } = parse('$request.header.accept', { stats: true });\n\nstats.displayStats(); // returns operator statistics as string\n```\n\n##### Tracing\n\n`parse` function returns additional tracing information about the parsing process.\nTracing can be enabled by setting `trace` option to `true`. Tracing is essential\nfor debugging failed parses or analyzing rule execution flow.\n\n```js\nimport { parse } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst { result, trace } = parse('$invalid', { trace: true });\n\nresult.success; // false\ntrace.displayTrace(); // returns trace information as string\n```\n\nTracing also allows you to infer expected tokens at a failure point. This is useful for generating meaningful syntax error messages.\n\n```js\nimport { parse } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst { trace } = parse('$invalid', { trace: true });\n\nconst expectations = trace.inferExpectations();\nconsole.log(expectations.toString()); // e.g., \"expected '$url', '$method', '$statusCode', '$request.', ...\"\n```\n\n#### Validation\n\nValidating a Runtime Expression is as simple as importing the **test** function and calling it.\n\n```js\nimport { test } from '@swaggerexpert/arazzo-runtime-expression';\n\ntest('$request.header.accept'); // => true\ntest('nonsensical string'); // => false\n```\n\n#### Errors\n\n`@swaggerexpert/arazzo-runtime-expression` provides a structured error class hierarchy,\nenabling precise error handling across runtime expression operations.\n\n```js\nimport { ArazzoRuntimeExpressionError, ArazzoRuntimeExpressionParseError } from '@swaggerexpert/arazzo-runtime-expression';\n```\n\n**ArazzoRuntimeExpressionError** is the base class for all errors. **ArazzoRuntimeExpressionParseError** is thrown when parsing fails\nand includes additional context about the expression that failed to parse.\n\n```js\nimport { parse, ArazzoRuntimeExpressionParseError } from '@swaggerexpert/arazzo-runtime-expression';\n\ntry {\n  parse(123); // non-string input\n} catch (error) {\n  if (error instanceof ArazzoRuntimeExpressionParseError) {\n    console.log(error.runtimeExpression); // the expression that failed\n  }\n}\n```\n\n#### Grammar\n\nNew grammar instance can be created in following way:\n\n```js\nimport { Grammar } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst grammar = new Grammar();\n```\n\nTo obtain original ABNF (SABNF) grammar as a string:\n\n```js\nimport { Grammar } from '@swaggerexpert/arazzo-runtime-expression';\n\nconst grammar = new Grammar();\n\ngrammar.toString();\n// or\nString(grammar);\n```\n\n## More about Arazzo runtime expressions\n\nThe runtime expression is defined by the following [ABNF](https://tools.ietf.org/html/rfc5234) syntax\n\n```abnf\n; Arazzo runtime expression ABNF syntax\n; Rule order mirrors the Arazzo 1.1.0 specification (Runtime Expressions section).\n\n; Top-level expression\nexpression = (\n    \"$url\" /\n    \"$method\" /\n    \"$statusCode\" /\n    \"$request.\" source /\n    \"$response.\" source /\n    \"$message.\" source /\n    \"$inputs.\" inputs-reference /\n    \"$outputs.\" outputs-reference /\n    \"$steps.\" steps-reference /\n    \"$workflows.\" workflows-reference /\n    \"$sourceDescriptions.\" source-reference /\n    \"$components.\" components-reference /\n    \"$self\"\n  )\n\n; Request/Response/Message sources\nsource                  = ( header-reference / query-reference / path-reference / body-reference / payload-reference )\nheader-reference        = \"header.\" token\nquery-reference         = \"query.\" name\npath-reference          = \"path.\" name\nbody-reference          = \"body\" [\"#\" json-pointer ]\npayload-reference       = \"payload\" [\"#\" json-pointer ]\n\n; Input/Output references\ninputs-reference        = input-name [ \"#\" json-pointer ]\noutputs-reference       = output-name [ \"#\" json-pointer ]\ninput-name              = identifier\noutput-name             = identifier\n\n; Steps expressions\nsteps-reference         = step-id \".outputs.\" output-name [ \"#\" json-pointer ]\nstep-id                 = identifier-strict\n\n; Workflows expressions\nworkflows-reference       = workflow-id \".\" ( workflows-value-reference / workflows-steps-reference )\nworkflows-value-reference = workflow-field \".\" workflow-field-name [ \"#\" json-pointer ]\nworkflows-steps-reference = \"steps\" \".\" step-id\nworkflow-id               = identifier-strict\nworkflow-field            = \"inputs\" / \"outputs\"\nworkflow-field-name       = identifier\n\n; Source descriptions expressions\nsource-reference        = source-name \".\" source-reference-id\nsource-name             = identifier-strict\nsource-reference-id     = 1*CHAR\n                        ; operationIds have no character restrictions in OpenAPI/AsyncAPI\n\n; Components expressions\ncomponents-reference    = component-type \".\" component-name\ncomponent-type          = \"parameters\" / \"successActions\" / \"failureActions\"\ncomponent-name          = identifier\n\n; Identifier rules\nidentifier-strict = 1*( ALPHA / DIGIT / \"-\" / \"_\" )\n                  ; Alphanumeric with hyphens, underscores (no dots)\nidentifier        = 1*( ALPHA / DIGIT / \".\" / \"-\" / \"_\" )\n                  ; Alphanumeric with dots, hyphens, underscores\n\n; Unconstrained name rule for query/path references\nname                    = *( CHAR )\n\n; JSON Pointer (RFC 6901, adapted)\n; { (%x7B) and } (%x7D) are excluded from 'unescaped' for unambiguous embedded expression parsing\njson-pointer     = *( \"/\" reference-token )\nreference-token  = *( unescaped / escaped )\nunescaped        = %x00-2E / %x30-7A / %x7C / %x7F-10FFFF\n                 ; %x2F ('/'), %x7E ('~'), %x7B ('{'), %x7D ('}') are excluded\nescaped          = \"~\" ( \"0\" / \"1\" )\n                 ; representing '~' and '/', respectively\n\n; https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.6\ntoken          = 1*tchar\ntchar          = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n               / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n               / DIGIT / ALPHA\n               ; any VCHAR, except delimiters\n\n; https://www.rfc-editor.org/rfc/rfc7159#section-7\nCHAR = unescape /\n    escape (\n        %x22 /          ; \"    quotation mark  U+0022\n        %x5C /          ; \\    reverse solidus U+005C\n        %x2F /          ; /    solidus         U+002F\n        %x62 /          ; b    backspace       U+0008\n        %x66 /          ; f    form feed       U+000C\n        %x6E /          ; n    line feed       U+000A\n        %x72 /          ; r    carriage return U+000D\n        %x74 /          ; t    tab             U+0009\n        %x75 4HEXDIG )  ; uXXXX                U+XXXX\nescape         = %x5C   ; \\\nunescape       = %x20-21 / %x23-5B / %x5D-7A / %x7C / %x7E-10FFFF\n               ; %x7B ('{') and %x7D ('}') are excluded from 'unescape'\n\n; Grammar for parsing template strings with embedded expressions\nexpression-string    = *( literal-char / embedded-expression )\nembedded-expression  = \"{\" expression \"}\"\nliteral-char         = %x00-7A / %x7C / %x7E-10FFFF  ; anything except { (%x7B) and } (%x7D)\n\n; https://datatracker.ietf.org/doc/html/rfc5234#appendix-B.1\nALPHA          =  %x41-5A / %x61-7A   ; A-Z / a-z\nDIGIT          =  %x30-39   ; 0-9\nHEXDIG         =  DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\"\n```\n\nThe `name` identifier is case-sensitive, whereas `token` is not.\n\nThe table below provides examples of runtime expressions and examples of their use in a value:\n\n#### Examples\n\nSource Location | example expression  | notes\n---|:---|:---|\nHTTP Method            | `$method`         | The allowable values for the `$method` will be those for the HTTP operation.\nRequested media type | `$request.header.accept`        |\nRequest parameter      | `$request.path.id`        | Request parameters MUST be declared in the `parameters` section of the parent operation or they cannot be evaluated. This includes request headers.\nRequest body property   | `$request.body#/user/uuid`   | In operations which accept payloads, references may be made to portions of the `requestBody` or the entire body.\nRequest URL            | `$url`            |\nResponse value         | `$response.body#/status`       |  In operations which return payloads, references may be made to portions of the response body or the entire body.\nResponse header        | `$response.header.Server` |  Single header values only are available.\nMessage payload value  | `$message.payload#/user/id` |  For event-driven (AsyncAPI) operations, references may be made to portions of the message payload or the entire payload.\nSelf URI               | `$self`           |  References the canonical URI of the current Arazzo Description.\nWorkflow input         | `$inputs.username` |  Single input values only are available.\nWorkflow input property | `$inputs.customer#/firstName` | To access nested properties within an input object, use JSON Pointer syntax.\nStep output value        | `$steps.someStepId.outputs.pets` |  In situations where the output named property return payloads, references may be made to portions of the response body (e.g., `$steps.someStepId.outputs.pets#/0/id`) or the entire body.\nWorkflow output value | `$outputs.bar` or `$workflows.foo.outputs.bar` |  In situations where the output named property return payloads, references may be made to portions of the response body (e.g., `$workflows.foo.outputs.mappedResponse#/name`) or the entire body.\nStep dependency (`dependsOn`) | `$workflows.foo.steps.bar` | References a step (`bar`) defined in a different workflow (`foo`) within the current Arazzo Document.\nSource description reference | `$sourceDescriptions.petstore.getPetById` | References an operationId or workflowId from the named source description.\nComponents parameter | `$components.parameters.foo` | Accesses a foo parameter defined within the Components Object.\nComponents action    | `$components.successActions.bar` | Accesses a success or failure action defined within the Components Object.\n\nRuntime expressions preserve the type of the referenced value.\nExpressions can be embedded into string values by surrounding the expression with `{}` curly braces.\n\n## License\n\n`@swaggerexpert/arazzo-runtime-expression` is licensed under [Apache 2.0 license](https://github.com/swaggerexpert/arazzo-runtime-expression/blob/main/LICENSE).\n`@swaggerexpert/arazzo-runtime-expression` comes with an explicit [NOTICE](https://github.com/swaggerexpert/arazzo-runtime-expression/blob/main/NOTICE) file\ncontaining additional legal notices and information.\n","readmeFilename":"README.md"}