flowquery 1.0.86 → 1.0.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -0
- package/dist/compute/flowquery.d.ts +18 -0
- package/dist/compute/flowquery.d.ts.map +1 -1
- package/dist/compute/flowquery.js +26 -0
- package/dist/compute/flowquery.js.map +1 -1
- package/dist/compute/runner.d.ts +29 -0
- package/dist/compute/runner.d.ts.map +1 -1
- package/dist/compute/runner.js +111 -3
- package/dist/compute/runner.js.map +1 -1
- package/dist/extensibility.d.ts +4 -1
- package/dist/extensibility.d.ts.map +1 -1
- package/dist/extensibility.js +14 -1
- package/dist/extensibility.js.map +1 -1
- package/dist/flowquery.min.js +1 -1
- package/dist/graph/data.d.ts +1 -0
- package/dist/graph/data.d.ts.map +1 -1
- package/dist/graph/data.js +3 -0
- package/dist/graph/data.js.map +1 -1
- package/dist/graph/data_cache.d.ts +3 -1
- package/dist/graph/data_cache.d.ts.map +1 -1
- package/dist/graph/data_cache.js +5 -4
- package/dist/graph/data_cache.js.map +1 -1
- package/dist/graph/data_resolver.d.ts +13 -0
- package/dist/graph/data_resolver.d.ts.map +1 -1
- package/dist/graph/data_resolver.js +52 -0
- package/dist/graph/data_resolver.js.map +1 -1
- package/dist/graph/database.d.ts +19 -0
- package/dist/graph/database.d.ts.map +1 -1
- package/dist/graph/database.js +76 -0
- package/dist/graph/database.js.map +1 -1
- package/dist/graph/node.d.ts +21 -0
- package/dist/graph/node.d.ts.map +1 -1
- package/dist/graph/node.js +147 -0
- package/dist/graph/node.js.map +1 -1
- package/dist/graph/pattern.d.ts +19 -1
- package/dist/graph/pattern.d.ts.map +1 -1
- package/dist/graph/pattern.js +279 -1
- package/dist/graph/pattern.js.map +1 -1
- package/dist/graph/pattern_expression.d.ts +3 -1
- package/dist/graph/pattern_expression.d.ts.map +1 -1
- package/dist/graph/pattern_expression.js +8 -3
- package/dist/graph/pattern_expression.js.map +1 -1
- package/dist/graph/patterns.d.ts +2 -1
- package/dist/graph/patterns.d.ts.map +1 -1
- package/dist/graph/patterns.js +3 -3
- package/dist/graph/patterns.js.map +1 -1
- package/dist/graph/physical_node.d.ts +10 -1
- package/dist/graph/physical_node.d.ts.map +1 -1
- package/dist/graph/physical_node.js +19 -2
- package/dist/graph/physical_node.js.map +1 -1
- package/dist/graph/physical_relationship.d.ts +10 -1
- package/dist/graph/physical_relationship.d.ts.map +1 -1
- package/dist/graph/physical_relationship.js +21 -2
- package/dist/graph/physical_relationship.js.map +1 -1
- package/dist/graph/relationship.d.ts +25 -1
- package/dist/graph/relationship.d.ts.map +1 -1
- package/dist/graph/relationship.js +135 -0
- package/dist/graph/relationship.js.map +1 -1
- package/dist/graph/relationship_match_collector.d.ts +1 -1
- package/dist/graph/relationship_match_collector.d.ts.map +1 -1
- package/dist/graph/relationship_match_collector.js +29 -3
- package/dist/graph/relationship_match_collector.js.map +1 -1
- package/dist/graph/relationship_reference.d.ts.map +1 -1
- package/dist/graph/relationship_reference.js +1 -2
- package/dist/graph/relationship_reference.js.map +1 -1
- package/dist/graph/source_access.d.ts +107 -0
- package/dist/graph/source_access.d.ts.map +1 -0
- package/dist/graph/source_access.js +726 -0
- package/dist/graph/source_access.js.map +1 -0
- package/dist/graph/source_context.d.ts +101 -0
- package/dist/graph/source_context.d.ts.map +1 -0
- package/dist/graph/source_context.js +392 -0
- package/dist/graph/source_context.js.map +1 -0
- package/dist/graph/source_provider.d.ts +263 -0
- package/dist/graph/source_provider.d.ts.map +1 -0
- package/dist/graph/source_provider.js +306 -0
- package/dist/graph/source_provider.js.map +1 -0
- package/dist/graph/statement_source.d.ts +27 -0
- package/dist/graph/statement_source.d.ts.map +1 -0
- package/dist/graph/statement_source.js +117 -0
- package/dist/graph/statement_source.js.map +1 -0
- package/dist/graph/virtual_statement.d.ts +19 -1
- package/dist/graph/virtual_statement.d.ts.map +1 -1
- package/dist/graph/virtual_statement.js +197 -5
- package/dist/graph/virtual_statement.js.map +1 -1
- package/dist/index.browser.d.ts +3 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +14 -0
- package/dist/index.browser.js.map +1 -1
- package/dist/index.node.d.ts +3 -0
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +14 -1
- package/dist/index.node.js.map +1 -1
- package/dist/parsing/operations/aggregated_return.d.ts +2 -0
- package/dist/parsing/operations/aggregated_return.d.ts.map +1 -1
- package/dist/parsing/operations/aggregated_return.js +6 -0
- package/dist/parsing/operations/aggregated_return.js.map +1 -1
- package/dist/parsing/operations/aggregated_with.d.ts +2 -0
- package/dist/parsing/operations/aggregated_with.d.ts.map +1 -1
- package/dist/parsing/operations/aggregated_with.js +6 -0
- package/dist/parsing/operations/aggregated_with.js.map +1 -1
- package/dist/parsing/operations/create_node.d.ts +5 -1
- package/dist/parsing/operations/create_node.d.ts.map +1 -1
- package/dist/parsing/operations/create_node.js +20 -1
- package/dist/parsing/operations/create_node.js.map +1 -1
- package/dist/parsing/operations/create_relationship.d.ts +5 -1
- package/dist/parsing/operations/create_relationship.d.ts.map +1 -1
- package/dist/parsing/operations/create_relationship.js +21 -1
- package/dist/parsing/operations/create_relationship.js.map +1 -1
- package/dist/parsing/operations/limit.d.ts +1 -0
- package/dist/parsing/operations/limit.d.ts.map +1 -1
- package/dist/parsing/operations/limit.js +3 -0
- package/dist/parsing/operations/limit.js.map +1 -1
- package/dist/parsing/operations/match.d.ts +16 -0
- package/dist/parsing/operations/match.d.ts.map +1 -1
- package/dist/parsing/operations/match.js +104 -8
- package/dist/parsing/operations/match.js.map +1 -1
- package/dist/parsing/operations/operation.d.ts +6 -0
- package/dist/parsing/operations/operation.d.ts.map +1 -1
- package/dist/parsing/operations/operation.js +8 -0
- package/dist/parsing/operations/operation.js.map +1 -1
- package/dist/parsing/operations/return.d.ts +10 -0
- package/dist/parsing/operations/return.d.ts.map +1 -1
- package/dist/parsing/operations/return.js +23 -0
- package/dist/parsing/operations/return.js.map +1 -1
- package/dist/parsing/operations/unwind.d.ts +1 -0
- package/dist/parsing/operations/unwind.d.ts.map +1 -1
- package/dist/parsing/operations/unwind.js +9 -2
- package/dist/parsing/operations/unwind.js.map +1 -1
- package/dist/parsing/operations/where.d.ts +1 -0
- package/dist/parsing/operations/where.d.ts.map +1 -1
- package/dist/parsing/operations/where.js +4 -0
- package/dist/parsing/operations/where.js.map +1 -1
- package/dist/parsing/operations/with.d.ts +1 -0
- package/dist/parsing/operations/with.d.ts.map +1 -1
- package/dist/parsing/operations/with.js +4 -0
- package/dist/parsing/operations/with.js.map +1 -1
- package/dist/parsing/parser.d.ts.map +1 -1
- package/dist/parsing/parser.js +20 -2
- package/dist/parsing/parser.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -935,6 +935,107 @@ MATCH (t:Todo) WHERE t.id = 3 RETURN t.title
|
|
|
935
935
|
|
|
936
936
|
`$`-prefixed identifiers are **only** allowed inside virtual definitions. Non-equality operators in `WHERE` (`>`, `<`, `CONTAINS`, etc.) are **not** extracted as pass-down parameters. `OR` predicates are also not extracted.
|
|
937
937
|
|
|
938
|
+
#### Backend-Aware Virtual Sources
|
|
939
|
+
|
|
940
|
+
By default a virtual definition is loaded eagerly: its sub-query runs once per query and all rows are held in memory. For large or remote backends, a **source provider** lets FlowQuery read only what a pattern needs. This is opt-in: existing `CREATE VIRTUAL` definitions behave exactly as before.
|
|
941
|
+
|
|
942
|
+
A provider declares versioned capabilities and implements a required `scan` plus optional `lookup` (nodes by id) and `expand` (relationships by `left_id`/`right_id`):
|
|
943
|
+
|
|
944
|
+
```typescript
|
|
945
|
+
import FlowQuery from "flowquery";
|
|
946
|
+
import { cursorPages, matchesPredicate } from "flowquery/extensibility";
|
|
947
|
+
|
|
948
|
+
FlowQuery.registerNodeSource("Person", {
|
|
949
|
+
capabilities: {
|
|
950
|
+
version: 1,
|
|
951
|
+
lookup: true, // implements lookup()
|
|
952
|
+
cacheable: true, // identical reads within one query may be cached
|
|
953
|
+
maxBatchSize: 50, // ids per lookup/expand request
|
|
954
|
+
predicates: { operators: ["eq", "in", "gt", "gte", "lt", "lte"] },
|
|
955
|
+
},
|
|
956
|
+
// Any SourceResult: an array, a promise of an array, or a (async) iterable of pages.
|
|
957
|
+
scan: (req, ctx) =>
|
|
958
|
+
cursorPages((cursor) => api.people({ filter: req.predicate, cursor, signal: ctx.signal })),
|
|
959
|
+
lookup: (req) => api.peopleByIds(req.ids),
|
|
960
|
+
});
|
|
961
|
+
|
|
962
|
+
FlowQuery.registerRelationshipSource("KNOWS", "Person", "Person", {
|
|
963
|
+
capabilities: { version: 1, expand: { left: true, right: true } },
|
|
964
|
+
scan: () => api.allKnows(),
|
|
965
|
+
expand: (req) => api.knows({ [req.side === "left" ? "from" : "to"]: req.ids }),
|
|
966
|
+
});
|
|
967
|
+
|
|
968
|
+
const fq = new FlowQuery("MATCH (a:Person {id: 7})-[:KNOWS]->(b:Person) RETURN b.name LIMIT 10");
|
|
969
|
+
await fq.run();
|
|
970
|
+
console.log(fq.sourceStats); // calls, pages, rows, cache hits, batches, plans...
|
|
971
|
+
```
|
|
972
|
+
|
|
973
|
+
With these capabilities, the query above issues a `lookup` for id 7, one batched `expand` for its outgoing relationships and batched `lookup`s for the targets, instead of loading every person and relationship. What the engine does with a provider:
|
|
974
|
+
|
|
975
|
+
- **Correlated loading and batching.** Relationships are expanded per page of anchor nodes, and target nodes are fetched with batched lookups. Each request carries at most `min(sources.maxBatchSize, capabilities.maxBatchSize)` distinct ids.
|
|
976
|
+
- **Selective start points.** A chain such as `(a)-[:R]->(b)-[:R]->(c {id: 3})` may start from the more selective end (a bound reference, an id lookup or a pushable predicate). The decision is recorded in `sourceStats.plans`. This can change result order, which is never guaranteed without `ORDER BY`.
|
|
977
|
+
- **Predicate push-down.** Pattern property constraints and top-level `AND`-ed `WHERE` comparisons (`=`, `<`, `<=`, `>`, `>=`, `IN`) on a node's properties, compared against literals or parameters, are sent as `request.predicate` when the capabilities allow it. The legacy `$args` map is still sent as `request.args`.
|
|
978
|
+
- **Streaming and early termination.** Pages are consumed as they arrive. Once a `LIMIT` without `ORDER BY` or aggregation is satisfied, reading stops: the provider's iterator is closed and `ctx.signal` is aborted when the query ends.
|
|
979
|
+
- **Query-scoped caching.** Reads of `cacheable` sources are cached for the duration of one query only. The cache is bounded by `sources.cacheCapacity` rows.
|
|
980
|
+
- **Cancellation.** Call `runner.cancel()`, or pass `sources: { signal }`. In-flight reads are aborted and `run()` rejects with `QueryCancelledError`.
|
|
981
|
+
- **Read contexts.** An optional `openReadContext()`/`closeReadContext(snapshot)` pair is called once per query, which is useful for snapshots or transactions. The value is available as `ctx.snapshot`.
|
|
982
|
+
|
|
983
|
+
Providers may return a **superset**: FlowQuery always re-checks every row. Property constraints, anchor ids and the `WHERE` clause are evaluated as usual, so a provider may ignore predicates, ids or page sizes and still be correct. Predicates are never pushed for `null`, booleans, non-finite numbers, non-primitive `IN` items or into `OPTIONAL MATCH`. String ranges are pushed only when `stringOrdering: "binary"` is declared. `matchesPredicate(predicate, row)` is a reference implementation of these semantics for in-memory providers.
|
|
984
|
+
|
|
985
|
+
Errors are reported through typed exceptions:
|
|
986
|
+
|
|
987
|
+
- `SourceCapabilityError`: an invalid declaration, raised at registration.
|
|
988
|
+
- `SourceResponseError`: malformed pages or a repeated cursor.
|
|
989
|
+
- `SourceError`: any other provider failure, wrapped with the source name.
|
|
990
|
+
|
|
991
|
+
A provider may throw `SourceUnsupportedError` from `lookup`/`expand` to fall back to a scan.
|
|
992
|
+
|
|
993
|
+
Query-level tuning goes in `RunnerOptions.sources`. The defaults are:
|
|
994
|
+
|
|
995
|
+
- `pageSize: 256`
|
|
996
|
+
- `maxBatchSize: 100`
|
|
997
|
+
- `cacheCapacity: 10000`
|
|
998
|
+
- `maxPrefetchRows: 1024`
|
|
999
|
+
- `reorder: true`
|
|
1000
|
+
|
|
1001
|
+
**In-memory sources.** `inMemoryNodeSource(rows)` and `inMemoryRelationshipSource(rows)` are ready-made providers over arrays. They support lookup, expansion from both sides, every predicate operator and paging, which makes them handy for tests, examples and small reference data. Options are `{ cacheable?: boolean, maxBatchSize?: number }`.
|
|
1002
|
+
|
|
1003
|
+
```typescript
|
|
1004
|
+
import { inMemoryNodeSource, inMemoryRelationshipSource } from "flowquery/extensibility";
|
|
1005
|
+
|
|
1006
|
+
FlowQuery.registerNodeSource(
|
|
1007
|
+
"Person",
|
|
1008
|
+
inMemoryNodeSource([
|
|
1009
|
+
{ id: 1, name: "Ada" },
|
|
1010
|
+
{ id: 2, name: "Bob" },
|
|
1011
|
+
])
|
|
1012
|
+
);
|
|
1013
|
+
FlowQuery.registerRelationshipSource(
|
|
1014
|
+
"KNOWS",
|
|
1015
|
+
"Person",
|
|
1016
|
+
"Person",
|
|
1017
|
+
inMemoryRelationshipSource([{ left_id: 1, right_id: 2 }])
|
|
1018
|
+
);
|
|
1019
|
+
```
|
|
1020
|
+
|
|
1021
|
+
**Statement-backed sources.** A `CREATE VIRTUAL` definition can opt into the same contract declaratively with a `WITH CAPABILITIES { ... }` clause between the pattern and `AS`. Each request then runs the sub-query with `$request` bound to the request: `operation`, `label`/`type`, `ids`, `side`, `predicate` and `pageSize`.
|
|
1022
|
+
|
|
1023
|
+
```cypher
|
|
1024
|
+
CREATE VIRTUAL (:Ticket) WITH CAPABILITIES {lookup: true, streaming: true} AS {
|
|
1025
|
+
LOAD JSON FROM f"https://api.example.com/tickets?ids={join(coalesce($request.ids, []), ',')}" AS t
|
|
1026
|
+
RETURN t.id AS id, t.title AS title
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
CREATE VIRTUAL (:Ticket)-[:BLOCKS]-(:Ticket)
|
|
1030
|
+
WITH CAPABILITIES {expand: {left: true}, maxBatchSize: 50, predicates: {operators: ['eq', 'in']}} AS {
|
|
1031
|
+
...
|
|
1032
|
+
}
|
|
1033
|
+
```
|
|
1034
|
+
|
|
1035
|
+
The map takes the same keys as the capabilities object; `version` defaults to the current contract version. Invalid capabilities reject the whole definition. With `streaming: true`, eligible sub-queries (no `ORDER BY` or aggregation in the final `RETURN`) hand rows over page by page. Redefining the label without `WITH CAPABILITIES`, or deleting it, restores eager loading.
|
|
1036
|
+
|
|
1037
|
+
The same opt-in is available programmatically with `FlowQuery.setNodeSourceCapabilities(label, capabilities)` and `FlowQuery.setRelationshipSourceCapabilities(type, sourceLabel, targetLabel, capabilities)`; pass `null` to opt out.
|
|
1038
|
+
|
|
938
1039
|
### Reserved Keywords as Identifiers
|
|
939
1040
|
|
|
940
1041
|
Reserved words (`return`, `with`, `from`, `to`, etc.) can be used as:
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NodeSourceCapabilities, NodeSourceProvider, RelationshipSourceCapabilities, RelationshipSourceProvider } from "../graph/source_provider";
|
|
1
2
|
import Function from "../parsing/functions/function";
|
|
2
3
|
import { FunctionMetadata } from "../parsing/functions/function_metadata";
|
|
3
4
|
import Runner from "./runner";
|
|
@@ -38,6 +39,23 @@ declare class FlowQuery extends Runner {
|
|
|
38
39
|
* Base Function class for creating custom plugin functions.
|
|
39
40
|
*/
|
|
40
41
|
static Function: typeof Function;
|
|
42
|
+
/**
|
|
43
|
+
* Register a backend-aware node source for `label` (replacing any
|
|
44
|
+
* existing virtual definition). See `NodeSourceProvider`.
|
|
45
|
+
*/
|
|
46
|
+
static registerNodeSource(label: string, provider: NodeSourceProvider): void;
|
|
47
|
+
/**
|
|
48
|
+
* Register a backend-aware relationship source for
|
|
49
|
+
* `(:sourceLabel)-[:type]->(:targetLabel)`. See `RelationshipSourceProvider`.
|
|
50
|
+
*/
|
|
51
|
+
static registerRelationshipSource(type: string, sourceLabel: string | null, targetLabel: string | null, provider: RelationshipSourceProvider): void;
|
|
52
|
+
/**
|
|
53
|
+
* Opt a `CREATE VIRTUAL (:label) AS { ... }` definition into the source
|
|
54
|
+
* contract with explicit capabilities, or pass `null` to opt out.
|
|
55
|
+
*/
|
|
56
|
+
static setNodeSourceCapabilities(label: string, capabilities: NodeSourceCapabilities | null): void;
|
|
57
|
+
/** Relationship counterpart of {@link FlowQuery.setNodeSourceCapabilities}. */
|
|
58
|
+
static setRelationshipSourceCapabilities(type: string, sourceLabel: string | null, targetLabel: string | null, capabilities: RelationshipSourceCapabilities | null): void;
|
|
41
59
|
}
|
|
42
60
|
export default FlowQuery;
|
|
43
61
|
//# sourceMappingURL=flowquery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowquery.d.ts","sourceRoot":"","sources":["../../src/compute/flowquery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flowquery.d.ts","sourceRoot":"","sources":["../../src/compute/flowquery.ts"],"names":[],"mappings":"AACA,OAAO,EACH,sBAAsB,EACtB,kBAAkB,EAClB,8BAA8B,EAC9B,0BAA0B,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAM,SAAU,SAAQ,MAAM;IAC1B;;OAEG;IACH,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB,KAAK,gBAAgB,EAAE,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IAE3E;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAEjC;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAI5E;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,QAAQ,EAAE,0BAA0B,GACrC,IAAI;IAIP;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAC5B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,sBAAsB,GAAG,IAAI,GAC5C,IAAI;IAIP,+EAA+E;IAC/E,MAAM,CAAC,iCAAiC,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,8BAA8B,GAAG,IAAI,GACpD,IAAI;CAQV;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const database_1 = __importDefault(require("../graph/database"));
|
|
6
7
|
const runner_1 = __importDefault(require("./runner"));
|
|
7
8
|
/**
|
|
8
9
|
* FlowQuery is the public API surface for the FlowQuery library.
|
|
@@ -25,6 +26,31 @@ const runner_1 = __importDefault(require("./runner"));
|
|
|
25
26
|
* ```
|
|
26
27
|
*/
|
|
27
28
|
class FlowQuery extends runner_1.default {
|
|
29
|
+
/**
|
|
30
|
+
* Register a backend-aware node source for `label` (replacing any
|
|
31
|
+
* existing virtual definition). See `NodeSourceProvider`.
|
|
32
|
+
*/
|
|
33
|
+
static registerNodeSource(label, provider) {
|
|
34
|
+
database_1.default.getInstance().registerNodeSource(label, provider);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Register a backend-aware relationship source for
|
|
38
|
+
* `(:sourceLabel)-[:type]->(:targetLabel)`. See `RelationshipSourceProvider`.
|
|
39
|
+
*/
|
|
40
|
+
static registerRelationshipSource(type, sourceLabel, targetLabel, provider) {
|
|
41
|
+
database_1.default.getInstance().registerRelationshipSource(type, sourceLabel, targetLabel, provider);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Opt a `CREATE VIRTUAL (:label) AS { ... }` definition into the source
|
|
45
|
+
* contract with explicit capabilities, or pass `null` to opt out.
|
|
46
|
+
*/
|
|
47
|
+
static setNodeSourceCapabilities(label, capabilities) {
|
|
48
|
+
database_1.default.getInstance().setNodeSourceCapabilities(label, capabilities);
|
|
49
|
+
}
|
|
50
|
+
/** Relationship counterpart of {@link FlowQuery.setNodeSourceCapabilities}. */
|
|
51
|
+
static setRelationshipSourceCapabilities(type, sourceLabel, targetLabel, capabilities) {
|
|
52
|
+
database_1.default.getInstance().setRelationshipSourceCapabilities(type, sourceLabel, targetLabel, capabilities);
|
|
53
|
+
}
|
|
28
54
|
}
|
|
29
55
|
exports.default = FlowQuery;
|
|
30
56
|
//# sourceMappingURL=flowquery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowquery.js","sourceRoot":"","sources":["../../src/compute/flowquery.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"flowquery.js","sourceRoot":"","sources":["../../src/compute/flowquery.ts"],"names":[],"mappings":";;;;;AAAA,iEAAyC;AASzC,sDAA8B;AAE9B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,SAAU,SAAQ,gBAAM;IAoB1B;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAa,EAAE,QAA4B;QACjE,kBAAQ,CAAC,WAAW,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAC7B,IAAY,EACZ,WAA0B,EAC1B,WAA0B,EAC1B,QAAoC;QAEpC,kBAAQ,CAAC,WAAW,EAAE,CAAC,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChG,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAC5B,KAAa,EACb,YAA2C;QAE3C,kBAAQ,CAAC,WAAW,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,+EAA+E;IAC/E,MAAM,CAAC,iCAAiC,CACpC,IAAY,EACZ,WAA0B,EAC1B,WAA0B,EAC1B,YAAmD;QAEnD,kBAAQ,CAAC,WAAW,EAAE,CAAC,iCAAiC,CACpD,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,CACf,CAAC;IACN,CAAC;CACJ;AAED,kBAAe,SAAS,CAAC"}
|
package/dist/compute/runner.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SourceOptions, SourceStats } from "../graph/source_context";
|
|
1
2
|
import ASTNode from "../parsing/ast_node";
|
|
2
3
|
import Operation from "../parsing/operations/operation";
|
|
3
4
|
import { ColumnLineage, ColumnReference, StatementInfo } from "../parsing/statement_info_crawler";
|
|
@@ -104,6 +105,20 @@ export interface RunnerOptions {
|
|
|
104
105
|
* overhead.
|
|
105
106
|
*/
|
|
106
107
|
provenance?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Tuning for backend-aware virtual sources registered with
|
|
110
|
+
* `registerNodeSource` / `registerRelationshipSource` or opted in with
|
|
111
|
+
* `setNodeSourceCapabilities` / `setRelationshipSourceCapabilities`
|
|
112
|
+
* (page size, batch size, cache capacity, start-point reordering and
|
|
113
|
+
* an external cancellation `signal`). Ignored by legacy definitions.
|
|
114
|
+
*/
|
|
115
|
+
sources?: SourceOptions;
|
|
116
|
+
/**
|
|
117
|
+
* Additional named parameters. A `$name` reference resolves to
|
|
118
|
+
* `parameters[name]` when present, otherwise to `args[name]`.
|
|
119
|
+
* Statement-backed sources receive their request as `$request`.
|
|
120
|
+
*/
|
|
121
|
+
parameters?: Record<string, any>;
|
|
107
122
|
}
|
|
108
123
|
/**
|
|
109
124
|
* Metadata about the operations performed by a Runner execution.
|
|
@@ -149,6 +164,8 @@ declare class Runner {
|
|
|
149
164
|
private _metadata;
|
|
150
165
|
private _options;
|
|
151
166
|
private _provenance;
|
|
167
|
+
private _sourceContext;
|
|
168
|
+
private _cancelRequested;
|
|
152
169
|
/**
|
|
153
170
|
* Creates a new Runner instance and parses the FlowQuery statement.
|
|
154
171
|
*
|
|
@@ -173,6 +190,18 @@ declare class Runner {
|
|
|
173
190
|
* @throws {Error} If an error occurs during execution
|
|
174
191
|
*/
|
|
175
192
|
run(): Promise<void>;
|
|
193
|
+
/**
|
|
194
|
+
* Cancel a running (or not yet started) query. In-flight provider
|
|
195
|
+
* reads are aborted and the query rejects with `QueryCancelledError`.
|
|
196
|
+
*/
|
|
197
|
+
cancel(): void;
|
|
198
|
+
/**
|
|
199
|
+
* Provider interaction counters of the last top-level run: calls,
|
|
200
|
+
* pages, rows, cache hits/misses, batches, materializations,
|
|
201
|
+
* fallbacks, cancellations, peak buffered rows and start-point plans.
|
|
202
|
+
*/
|
|
203
|
+
get sourceStats(): SourceStats;
|
|
204
|
+
private static assignSourceContext;
|
|
176
205
|
/**
|
|
177
206
|
* Walks the terminal statement's operation chain and wires every
|
|
178
207
|
* MATCH-bound `Node` / `Relationship` slot to the operation that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/compute/runner.ts"],"names":[],"mappings":"AAMA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAW1C,OAAO,SAAS,MAAM,iCAAiC,CAAC;AAIxD,OAA6B,EACzB,aAAa,EACb,eAAe,EACf,aAAa,EAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEH,WAAW,EAGX,mBAAmB,EACnB,aAAa,EAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACR,aAAa,EACb,eAAe,EACf,aAAa,GAChB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,aAAa,GAChB,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kGAAkG;IAClG,SAAS,EAAE,eAAe,CAAC;IAC3B;;;;;;;;;;;;;;OAcG;IACH,KAAK,EAAE,GAAG,CAAC;IACX,gDAAgD;IAChD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wDAAwD;IACxD,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,KAAK,EAAE,GAAG,CAAC;IACX;;;;;OAKG;IACH,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B;;;;;;;;;OASG;IACH,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/compute/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/compute/runner.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -17,6 +50,8 @@ const data_cache_1 = __importDefault(require("../graph/data_cache"));
|
|
|
17
50
|
const data_resolver_1 = __importDefault(require("../graph/data_resolver"));
|
|
18
51
|
const node_1 = __importDefault(require("../graph/node"));
|
|
19
52
|
const relationship_1 = __importDefault(require("../graph/relationship"));
|
|
53
|
+
const source_context_1 = __importStar(require("../graph/source_context"));
|
|
54
|
+
const virtual_statement_1 = require("../graph/virtual_statement");
|
|
20
55
|
const binding_reference_1 = __importDefault(require("../parsing/expressions/binding_reference"));
|
|
21
56
|
const parameter_reference_1 = __importDefault(require("../parsing/expressions/parameter_reference"));
|
|
22
57
|
const aggregated_with_1 = __importDefault(require("../parsing/operations/aggregated_with"));
|
|
@@ -62,6 +97,8 @@ class Runner {
|
|
|
62
97
|
constructor(statement = null, ast = null, args = null, options = {}) {
|
|
63
98
|
this._args = null;
|
|
64
99
|
this._provenance = null;
|
|
100
|
+
this._sourceContext = null;
|
|
101
|
+
this._cancelRequested = false;
|
|
65
102
|
if ((statement === null || statement === "") && ast === null) {
|
|
66
103
|
throw new Error("Either statement or AST must be provided");
|
|
67
104
|
}
|
|
@@ -122,15 +159,35 @@ class Runner {
|
|
|
122
159
|
run() {
|
|
123
160
|
return __awaiter(this, void 0, void 0, function* () {
|
|
124
161
|
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
var _a, _b, _c, _d, _e;
|
|
163
|
+
const resolver = data_resolver_1.default.getInstance();
|
|
164
|
+
const inherited = this._options[virtual_statement_1.INNER_SOURCE_CONTEXT];
|
|
165
|
+
const previousContext = resolver.sourceContext;
|
|
166
|
+
const sink = this._options.rowSink;
|
|
167
|
+
const last = (_a = this._statements[this._statements.length - 1]) === null || _a === void 0 ? void 0 : _a.last;
|
|
168
|
+
let failed = false;
|
|
125
169
|
try {
|
|
126
170
|
if (this._isTopLevel) {
|
|
127
|
-
|
|
171
|
+
this._sourceContext = new source_context_1.default((_b = this._options.sources) !== null && _b !== void 0 ? _b : {}, this._options.provenance === true);
|
|
172
|
+
resolver.dataCache = new data_cache_1.default(this._options.provenance === true, this._sourceContext);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this._sourceContext = (_c = inherited !== null && inherited !== void 0 ? inherited : previousContext) !== null && _c !== void 0 ? _c : null;
|
|
128
176
|
}
|
|
177
|
+
if (this._cancelRequested) {
|
|
178
|
+
(_d = this._sourceContext) === null || _d === void 0 ? void 0 : _d.cancel();
|
|
179
|
+
}
|
|
180
|
+
resolver.sourceContext = this._sourceContext;
|
|
129
181
|
if (this._options.provenance) {
|
|
130
182
|
this._provenance = [];
|
|
131
183
|
this.enableProvenance();
|
|
132
184
|
}
|
|
185
|
+
if (sink !== undefined && last instanceof return_1.default) {
|
|
186
|
+
last.setRowSink(sink);
|
|
187
|
+
}
|
|
133
188
|
for (const stmt of this._statements) {
|
|
189
|
+
(_e = this._sourceContext) === null || _e === void 0 ? void 0 : _e.throwIfCancelled();
|
|
190
|
+
Runner.assignSourceContext(stmt.ast, this._sourceContext);
|
|
134
191
|
this.bindParameters(stmt.ast);
|
|
135
192
|
// Refresh any stale refreshable bindings referenced
|
|
136
193
|
// by this statement. Sub-query evaluation is
|
|
@@ -147,14 +204,61 @@ class Runner {
|
|
|
147
204
|
yield stmt.first.run();
|
|
148
205
|
yield stmt.first.finish();
|
|
149
206
|
}
|
|
150
|
-
resolve();
|
|
151
207
|
}
|
|
152
208
|
catch (e) {
|
|
209
|
+
failed = true;
|
|
153
210
|
reject(e);
|
|
154
211
|
}
|
|
212
|
+
finally {
|
|
213
|
+
if (sink !== undefined && last instanceof return_1.default) {
|
|
214
|
+
last.setRowSink(null);
|
|
215
|
+
}
|
|
216
|
+
resolver.sourceContext = previousContext;
|
|
217
|
+
if (this._isTopLevel && this._sourceContext !== null) {
|
|
218
|
+
try {
|
|
219
|
+
yield this._sourceContext.close();
|
|
220
|
+
}
|
|
221
|
+
catch (e) {
|
|
222
|
+
if (!failed) {
|
|
223
|
+
failed = true;
|
|
224
|
+
reject(e);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (!failed)
|
|
230
|
+
resolve();
|
|
155
231
|
}));
|
|
156
232
|
});
|
|
157
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Cancel a running (or not yet started) query. In-flight provider
|
|
236
|
+
* reads are aborted and the query rejects with `QueryCancelledError`.
|
|
237
|
+
*/
|
|
238
|
+
cancel() {
|
|
239
|
+
var _a;
|
|
240
|
+
this._cancelRequested = true;
|
|
241
|
+
if (this._isTopLevel) {
|
|
242
|
+
(_a = this._sourceContext) === null || _a === void 0 ? void 0 : _a.cancel();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Provider interaction counters of the last top-level run: calls,
|
|
247
|
+
* pages, rows, cache hits/misses, batches, materializations,
|
|
248
|
+
* fallbacks, cancellations, peak buffered rows and start-point plans.
|
|
249
|
+
*/
|
|
250
|
+
get sourceStats() {
|
|
251
|
+
var _a, _b;
|
|
252
|
+
return (_b = (_a = this._sourceContext) === null || _a === void 0 ? void 0 : _a.stats) !== null && _b !== void 0 ? _b : (0, source_context_1.emptySourceStats)();
|
|
253
|
+
}
|
|
254
|
+
static assignSourceContext(node, ctx) {
|
|
255
|
+
if (node instanceof match_1.default) {
|
|
256
|
+
node.sourceContext = ctx;
|
|
257
|
+
}
|
|
258
|
+
for (const child of node.getChildren()) {
|
|
259
|
+
Runner.assignSourceContext(child, ctx);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
158
262
|
/**
|
|
159
263
|
* Walks the terminal statement's operation chain and wires every
|
|
160
264
|
* MATCH-bound `Node` / `Relationship` slot to the operation that
|
|
@@ -280,8 +384,12 @@ class Runner {
|
|
|
280
384
|
var _a;
|
|
281
385
|
if (node instanceof parameter_reference_1.default) {
|
|
282
386
|
const args = (_a = this._args) !== null && _a !== void 0 ? _a : {};
|
|
387
|
+
const parameters = this._options.parameters;
|
|
283
388
|
const key = node.name.startsWith("$") ? node.name.substring(1) : node.name;
|
|
284
|
-
if (key
|
|
389
|
+
if (parameters !== undefined && key in parameters) {
|
|
390
|
+
node.parameterValue = parameters[key];
|
|
391
|
+
}
|
|
392
|
+
else if (key === "args") {
|
|
285
393
|
node.parameterValue = args;
|
|
286
394
|
}
|
|
287
395
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/compute/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/compute/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/extensibility.d.ts
CHANGED
|
@@ -31,5 +31,8 @@ export { default as AggregateFunction } from "./parsing/functions/aggregate_func
|
|
|
31
31
|
export { default as AsyncFunction } from "./parsing/functions/async_function";
|
|
32
32
|
export { default as PredicateFunction } from "./parsing/functions/predicate_function";
|
|
33
33
|
export { default as ReducerElement } from "./parsing/functions/reducer_element";
|
|
34
|
-
export { FunctionDef, FunctionMetadata, FunctionDefOptions, ParameterSchema, OutputSchema, FunctionCategory } from "./parsing/functions/function_metadata";
|
|
34
|
+
export { FunctionDef, FunctionMetadata, FunctionDefOptions, ParameterSchema, OutputSchema, FunctionCategory, } from "./parsing/functions/function_metadata";
|
|
35
|
+
export { SOURCE_CONTRACT_VERSION, PREDICATE_OPERATORS, SourceError, SourceCapabilityError, SourceResponseError, SourceUnsupportedError, QueryCancelledError, cursorPages, matchesPredicate, inMemoryNodeSource, inMemoryRelationshipSource, } from "./graph/source_provider";
|
|
36
|
+
export type { SourceRow, InMemorySourceOptions, PredicateOperator, SourcePredicate, PredicateCapabilities, NodeSourceCapabilities, RelationshipSourceCapabilities, NodeScanRequest, NodeLookupRequest, RelationshipScanRequest, RelationshipExpandRequest, NodeSourceRequest, RelationshipSourceRequest, SourceReadContext, SourceResult, NodeSourceProvider, RelationshipSourceProvider, } from "./graph/source_provider";
|
|
37
|
+
export type { SourceOptions, SourceStats, SourcePlan } from "./graph/source_context";
|
|
35
38
|
//# sourceMappingURL=extensibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensibility.d.ts","sourceRoot":"","sources":["../src/extensibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAGhF,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"extensibility.d.ts","sourceRoot":"","sources":["../src/extensibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAGhF,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,gBAAgB,GACnB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EACH,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,8BAA8B,EAC9B,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/extensibility.js
CHANGED
|
@@ -31,7 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
31
31
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.FunctionDef = exports.ReducerElement = exports.PredicateFunction = exports.AsyncFunction = exports.AggregateFunction = exports.Function = void 0;
|
|
34
|
+
exports.inMemoryRelationshipSource = exports.inMemoryNodeSource = exports.matchesPredicate = exports.cursorPages = exports.QueryCancelledError = exports.SourceUnsupportedError = exports.SourceResponseError = exports.SourceCapabilityError = exports.SourceError = exports.PREDICATE_OPERATORS = exports.SOURCE_CONTRACT_VERSION = exports.FunctionDef = exports.ReducerElement = exports.PredicateFunction = exports.AsyncFunction = exports.AggregateFunction = exports.Function = void 0;
|
|
35
35
|
// Base function classes for creating custom functions
|
|
36
36
|
var function_1 = require("./parsing/functions/function");
|
|
37
37
|
Object.defineProperty(exports, "Function", { enumerable: true, get: function () { return __importDefault(function_1).default; } });
|
|
@@ -46,4 +46,17 @@ Object.defineProperty(exports, "ReducerElement", { enumerable: true, get: functi
|
|
|
46
46
|
// Decorator and metadata types for function registration
|
|
47
47
|
var function_metadata_1 = require("./parsing/functions/function_metadata");
|
|
48
48
|
Object.defineProperty(exports, "FunctionDef", { enumerable: true, get: function () { return function_metadata_1.FunctionDef; } });
|
|
49
|
+
// Backend-aware virtual source contract
|
|
50
|
+
var source_provider_1 = require("./graph/source_provider");
|
|
51
|
+
Object.defineProperty(exports, "SOURCE_CONTRACT_VERSION", { enumerable: true, get: function () { return source_provider_1.SOURCE_CONTRACT_VERSION; } });
|
|
52
|
+
Object.defineProperty(exports, "PREDICATE_OPERATORS", { enumerable: true, get: function () { return source_provider_1.PREDICATE_OPERATORS; } });
|
|
53
|
+
Object.defineProperty(exports, "SourceError", { enumerable: true, get: function () { return source_provider_1.SourceError; } });
|
|
54
|
+
Object.defineProperty(exports, "SourceCapabilityError", { enumerable: true, get: function () { return source_provider_1.SourceCapabilityError; } });
|
|
55
|
+
Object.defineProperty(exports, "SourceResponseError", { enumerable: true, get: function () { return source_provider_1.SourceResponseError; } });
|
|
56
|
+
Object.defineProperty(exports, "SourceUnsupportedError", { enumerable: true, get: function () { return source_provider_1.SourceUnsupportedError; } });
|
|
57
|
+
Object.defineProperty(exports, "QueryCancelledError", { enumerable: true, get: function () { return source_provider_1.QueryCancelledError; } });
|
|
58
|
+
Object.defineProperty(exports, "cursorPages", { enumerable: true, get: function () { return source_provider_1.cursorPages; } });
|
|
59
|
+
Object.defineProperty(exports, "matchesPredicate", { enumerable: true, get: function () { return source_provider_1.matchesPredicate; } });
|
|
60
|
+
Object.defineProperty(exports, "inMemoryNodeSource", { enumerable: true, get: function () { return source_provider_1.inMemoryNodeSource; } });
|
|
61
|
+
Object.defineProperty(exports, "inMemoryRelationshipSource", { enumerable: true, get: function () { return source_provider_1.inMemoryRelationshipSource; } });
|
|
49
62
|
//# sourceMappingURL=extensibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensibility.js","sourceRoot":"","sources":["../src/extensibility.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;AAEH,sDAAsD;AACtD,yDAAmE;AAA1D,qHAAA,OAAO,OAAY;AAC5B,6EAAsF;AAA7E,wIAAA,OAAO,OAAqB;AACrC,qEAA8E;AAArE,gIAAA,OAAO,OAAiB;AACjC,6EAAsF;AAA7E,wIAAA,OAAO,OAAqB;AACrC,uEAAgF;AAAvE,kIAAA,OAAO,OAAkB;AAElC,yDAAyD;AACzD,2EAO+C;AAN3C,gHAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"extensibility.js","sourceRoot":"","sources":["../src/extensibility.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;AAEH,sDAAsD;AACtD,yDAAmE;AAA1D,qHAAA,OAAO,OAAY;AAC5B,6EAAsF;AAA7E,wIAAA,OAAO,OAAqB;AACrC,qEAA8E;AAArE,gIAAA,OAAO,OAAiB;AACjC,6EAAsF;AAA7E,wIAAA,OAAO,OAAqB;AACrC,uEAAgF;AAAvE,kIAAA,OAAO,OAAkB;AAElC,yDAAyD;AACzD,2EAO+C;AAN3C,gHAAA,WAAW,OAAA;AAQf,wCAAwC;AACxC,2DAYiC;AAX7B,0HAAA,uBAAuB,OAAA;AACvB,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,wHAAA,qBAAqB,OAAA;AACrB,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA;AACtB,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,mHAAA,gBAAgB,OAAA;AAChB,qHAAA,kBAAkB,OAAA;AAClB,6HAAA,0BAA0B,OAAA"}
|