{"_id":"@amql/selector","name":"@amql/selector","dist-tags":{"alpha":"0.0.0-alpha.0","latest":"0.0.0-alpha.0"},"versions":{"0.0.0-alpha.0":{"name":"@amql/selector","version":"0.0.0-alpha.0","type":"module","exports":{".":{"types":"./index.d.ts","flow":"./index.js.flow","require":"./index.cjs","import":"./index.js"}},"engines":{"node":">=18.0.0"},"scripts":{"prepack":"wasm-js-bridge build-workspace"},"license":"MIT","description":"Structural selector parser and matcher for annotation trees","repository":{"type":"git","url":"git+https://github.com/vikr01/aql.git"},"peerDependencies":{"@amql/predicates":"^0.0.0-alpha.0"},"_id":"@amql/selector@0.0.0-alpha.0","gitHead":"4ee0598df7c53c686813ef469453e946c91514be","types":"./index.d.ts","bugs":{"url":"https://github.com/vikr01/aql/issues"},"homepage":"https://github.com/vikr01/aql#readme","_nodeVersion":"22.17.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-c6AFNZPNjhqWxZG3jUWijRC/2R4NtP5nTaDz95rkh+BZV3vtivu0lPmD2adScs91FiIeWN2byp7ByK+l1Yw31A==","shasum":"44b543bf40759a8bec9de2ef4f9f207042f19207","tarball":"https://registry.npmjs.org/@amql/selector/-/selector-0.0.0-alpha.0.tgz","fileCount":6,"unpackedSize":265229,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGwYOYNMlWo2bLnpOEwV1nWeSWDYtXYFj58EgkozRzsZAiBdlyTMH56tUzKksepLlqs3/yOjiGyPvp6zPco7XwKjug=="}]},"_npmUser":{"name":"vikr01","email":"vik120@icloud.com"},"directories":{},"maintainers":[{"name":"vikr01","email":"vik120@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/selector_0.0.0-alpha.0_1773348916595_0.14514179520140402"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-12T20:55:16.121Z","0.0.0-alpha.0":"2026-03-12T20:55:16.753Z","modified":"2026-03-12T20:55:17.239Z"},"maintainers":[{"name":"vikr01","email":"vik120@icloud.com"}],"description":"Structural selector parser and matcher for annotation trees","homepage":"https://github.com/vikr01/aql#readme","repository":{"type":"git","url":"git+https://github.com/vikr01/aql.git"},"bugs":{"url":"https://github.com/vikr01/aql/issues"},"license":"MIT","readme":"# amql-selector\n\n> CSS-like selector parsing and matching for AQL annotation trees\n\n## Role\n\n- Parses selectors like `controller[method=\"POST\"] > handler`\n- Matches annotations against compound selectors with combinators\n- Defines shared newtypes: `TagName`, `AttrName`\n- Dependency of [amql-engine](../amql-engine)\n\n## Features\n\n- `wasm` — WASM bindings via `wasm_bindgen`\n- `ts` — TypeScript type generation via `ts-rs`\n- `jsonschema` — JSON Schema derivation via `schemars`\n\n## Types\n\n- `SelectorAst` — parsed selector tree\n- `CompoundSelector` — tag + attribute predicates\n- `Combinator` — Child, Descendant, AdjacentSibling, GeneralSibling\n- `AttrPredicate` — attribute comparison (name, op, value)\n- `TagName` — opaque newtype for annotation/element tag names\n- `AttrName` — opaque newtype for attribute keys\n\n## Getting Started\n\n```rust\nuse aql_selector::{parse_selector, TagName, AttrName};\n\nlet ast = parse_selector(\"controller[method=\\\"POST\\\"] > handler\")?;\nassert_eq!(ast.compounds.len(), 2);\n```\n\n## npm\n\n- Package: `@aql/selector`\n- Build: `bun run build` (wasm-pack + codegen)\n- Types: branded newtypes (`TagName`, `AttrName`), generated via `ts-rs`\n\n## License\n\n[MIT](../../LICENSE)\n","readmeFilename":"README.md","_rev":"1-91e10af036097affee64bcdcfd479c4c"}