pipe/test/fixtures/firestore_queries/adapters.json
trvon 1f60197a15
feat(queries): inventory firestore query surfaces as typed records
Add `pipe queries`, which lists every Firestore query a project can issue:
scope, collection, path pattern, filters with operators and value types,
composites, orderBy, limit, cursors, realtime, aggregation, in-loop, plus a
confidence and the reasons it is not exact. Receivers are matched by static
type and cloud_firestore library URI, never by name.

Queries are followed through chains, local variables (flow-insensitive with
two cuts), fields, getters and one level of helper methods with arguments
bound. An --adapter-config (YAML or JSON) maps declarative query APIs such as
a server-side gateway onto the same schema.

Inventory only: no rules, findings or baseline changes. Every emitted name is
validated against a safe character set so no source text reaches the output.
2026-09-23 18:03:09 -06:00

29 lines
1 KiB
JSON

{
"adapters": [
{
"interface": ["Gateway", "Transaction"],
"library": "package:firestore_queries/data/gateway.dart",
"methods": {
"queryCollection": {"scope": "collection", "path": 0},
"queryCollectionGroup": {"scope": "collectionGroup", "path": 0}
},
"args": {
"filters": "filters",
"arrayContains": "filters",
"inFilter": "filters",
"ranges": "filters",
"orderBy": "orderBy",
"limit": "limit",
"startAfterId": "cursor"
},
"types": {
"WhereEquals": {"field": 0, "op": "==", "value": 1},
"WhereIn": {"field": 0, "op": "in", "value": 1},
"WhereArrayContains": {"field": 0, "op": "array-contains", "value": 1},
"WhereRange": {"field": 0, "ops": {"gte": ">=", "gt": ">", "lte": "<=", "lt": "<"}},
"WhereCmp": {"field": 0, "opArg": 1, "opMap": {"lessThan": "<", "greaterThan": ">"}, "value": 2},
"OrderBy": {"kind": "orderBy", "field": 0, "descending": "descending"}
}
}
]
}