@rocicorp/zero 0.25.0-canary.18 → 0.25.0-canary.21
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/out/replicache/src/persist/idb-databases-store.d.ts +1 -0
- package/out/replicache/src/persist/idb-databases-store.d.ts.map +1 -1
- package/out/replicache/src/persist/idb-databases-store.js +13 -2
- package/out/replicache/src/persist/idb-databases-store.js.map +1 -1
- package/out/zero/package.json.js +1 -1
- package/out/zero/src/adapters/drizzle.d.ts +1 -1
- package/out/zero/src/adapters/drizzle.d.ts.map +1 -1
- package/out/zero/src/adapters/drizzle.js +4 -1
- package/out/zero/src/bindings.d.ts +2 -0
- package/out/zero/src/bindings.d.ts.map +1 -0
- package/out/zero/src/bindings.js +27 -0
- package/out/zero/src/bindings.js.map +1 -0
- package/out/zero/src/react.js +2 -4
- package/out/zero/src/react.js.map +1 -1
- package/out/zero/src/solid.js +2 -2
- package/out/zero/src/zero.js +3 -5
- package/out/zero-cache/src/auth/read-authorizer.d.ts +1 -1
- package/out/zero-cache/src/auth/read-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +5 -4
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +24 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +23 -4
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts +10 -1
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +1 -1
- package/out/zero-cache/src/server/anonymous-otel-start.js +34 -18
- package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +1 -0
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/analyze.d.ts +1 -1
- package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
- package/out/zero-cache/src/services/analyze.js +5 -5
- package/out/zero-cache/src/services/analyze.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +4 -4
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +2 -1
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +26 -13
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js +39 -15
- package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +4 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +31 -9
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +3 -0
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +11 -0
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +1 -2
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +6 -6
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js +23 -10
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js +31 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +20 -16
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/workers/connect-params.d.ts +1 -0
- package/out/zero-cache/src/workers/connect-params.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connect-params.js +2 -0
- package/out/zero-cache/src/workers/connect-params.js.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js +2 -0
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
- package/out/zero-client/src/client/bindings.d.ts +12 -41
- package/out/zero-client/src/client/bindings.d.ts.map +1 -1
- package/out/zero-client/src/client/custom.d.ts +3 -0
- package/out/zero-client/src/client/custom.d.ts.map +1 -1
- package/out/zero-client/src/client/custom.js +3 -0
- package/out/zero-client/src/client/custom.js.map +1 -1
- package/out/zero-client/src/client/delete-clients-manager.d.ts +1 -1
- package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/delete-clients-manager.js +30 -3
- package/out/zero-client/src/client/delete-clients-manager.js.map +1 -1
- package/out/zero-client/src/client/make-replicache-mutators.js +1 -3
- package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +1 -1
- package/out/zero-client/src/client/options.js.map +1 -1
- package/out/zero-client/src/client/version.js +1 -1
- package/out/zero-client/src/client/zero.d.ts +1 -0
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.js +43 -26
- package/out/zero-client/src/client/zero.js.map +1 -1
- package/out/zero-client/src/mod.d.ts +6 -4
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/analyze-query-result.d.ts +2 -2
- package/out/zero-protocol/src/analyze-query-result.js +2 -2
- package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +2 -2
- package/out/zero-protocol/src/inspect-down.d.ts +6 -6
- package/out/zero-protocol/src/inspect-up.d.ts +4 -4
- package/out/zero-protocol/src/inspect-up.js +1 -1
- package/out/zero-protocol/src/inspect-up.js.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js +1 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-protocol/src/up.d.ts +1 -1
- package/out/zero-react/src/bindings.d.ts +2 -0
- package/out/zero-react/src/bindings.d.ts.map +1 -0
- package/out/zero-react/src/mod.d.ts +1 -10
- package/out/zero-react/src/mod.d.ts.map +1 -1
- package/out/zero-react/src/{use-zero-connection-state.d.ts → use-connection-state.d.ts} +3 -3
- package/out/zero-react/src/use-connection-state.d.ts.map +1 -0
- package/out/zero-react/src/{use-zero-connection-state.js → use-connection-state.js} +3 -3
- package/out/zero-react/src/use-connection-state.js.map +1 -0
- package/out/zero-react/src/use-query.d.ts +2 -10
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-query.js +24 -22
- package/out/zero-react/src/use-query.js.map +1 -1
- package/out/zero-react/src/use-zero-online.d.ts +1 -1
- package/out/zero-react/src/use-zero-online.js.map +1 -1
- package/out/zero-react/src/zero-provider.d.ts +1 -5
- package/out/zero-react/src/zero-provider.d.ts.map +1 -1
- package/out/zero-react/src/zero-provider.js +16 -0
- package/out/zero-react/src/zero-provider.js.map +1 -1
- package/out/zero-react/src/zero.d.ts +2 -0
- package/out/zero-react/src/zero.d.ts.map +1 -0
- package/out/zero-schema/src/permissions.d.ts.map +1 -1
- package/out/zero-schema/src/permissions.js +2 -8
- package/out/zero-schema/src/permissions.js.map +1 -1
- package/out/zero-server/src/custom.d.ts +3 -0
- package/out/zero-server/src/custom.d.ts.map +1 -1
- package/out/zero-server/src/custom.js +3 -0
- package/out/zero-server/src/custom.js.map +1 -1
- package/out/zero-solid/src/bindings.d.ts +2 -0
- package/out/zero-solid/src/bindings.d.ts.map +1 -0
- package/out/zero-solid/src/mod.d.ts +1 -8
- package/out/zero-solid/src/mod.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +1 -8
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.js +31 -0
- package/out/zero-solid/src/solid-view.js.map +1 -1
- package/out/zero-solid/src/{use-zero-connection-state.d.ts → use-connection-state.d.ts} +3 -3
- package/out/zero-solid/src/use-connection-state.d.ts.map +1 -0
- package/out/zero-solid/src/{use-zero-connection-state.js → use-connection-state.js} +3 -3
- package/out/zero-solid/src/use-connection-state.js.map +1 -0
- package/out/zero-solid/src/use-query.d.ts +1 -7
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero-solid/src/use-query.js +43 -12
- package/out/zero-solid/src/use-query.js.map +1 -1
- package/out/zero-solid/src/use-zero-online.d.ts +1 -1
- package/out/zero-solid/src/use-zero-online.js.map +1 -1
- package/out/zero-solid/src/use-zero.d.ts +1 -5
- package/out/zero-solid/src/use-zero.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero.js +16 -0
- package/out/zero-solid/src/use-zero.js.map +1 -1
- package/out/zero-solid/src/zero.d.ts +2 -0
- package/out/zero-solid/src/zero.d.ts.map +1 -0
- package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
- package/out/zql/src/ivm/flipped-join.js +29 -27
- package/out/zql/src/ivm/flipped-join.js.map +1 -1
- package/out/zql/src/ivm/join-utils.d.ts +7 -1
- package/out/zql/src/ivm/join-utils.d.ts.map +1 -1
- package/out/zql/src/ivm/join-utils.js +12 -0
- package/out/zql/src/ivm/join-utils.js.map +1 -1
- package/out/zql/src/ivm/join.d.ts.map +1 -1
- package/out/zql/src/ivm/join.js +11 -25
- package/out/zql/src/ivm/join.js.map +1 -1
- package/out/zql/src/mutate/custom.d.ts +3 -0
- package/out/zql/src/mutate/custom.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.js.map +1 -1
- package/out/zql/src/mutate/mutator-registry.d.ts +2 -2
- package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -1
- package/out/zql/src/mutate/mutator-registry.js.map +1 -1
- package/out/zql/src/mutate/mutator.d.ts +1 -1
- package/out/zql/src/mutate/mutator.d.ts.map +1 -1
- package/out/zql/src/mutate/mutator.js.map +1 -1
- package/out/zql/src/planner/planner-debug.d.ts +3 -3
- package/out/zql/src/planner/planner-debug.js.map +1 -1
- package/out/zql/src/query/create-builder.d.ts +2 -1
- package/out/zql/src/query/create-builder.d.ts.map +1 -1
- package/out/zql/src/query/create-builder.js +3 -0
- package/out/zql/src/query/create-builder.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +39 -6
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +414 -23
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-registry.d.ts +2 -2
- package/out/zql/src/query/query-registry.d.ts.map +1 -1
- package/out/zql/src/query/query-registry.js.map +1 -1
- package/out/zql/src/query/runnable-query-impl.d.ts +2 -2
- package/out/zql/src/query/runnable-query-impl.d.ts.map +1 -1
- package/out/zql/src/query/runnable-query-impl.js +2 -2
- package/out/zql/src/query/runnable-query-impl.js.map +1 -1
- package/out/zql/src/query/schema-query.d.ts +4 -2
- package/out/zql/src/query/schema-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.d.ts +2 -16
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js +10 -37
- package/out/zql/src/query/static-query.js.map +1 -1
- package/package.json +7 -3
- package/out/zero-client/src/client/bindings.js +0 -33
- package/out/zero-client/src/client/bindings.js.map +0 -1
- package/out/zero-react/src/components/inspector.d.ts +0 -9
- package/out/zero-react/src/components/inspector.d.ts.map +0 -1
- package/out/zero-react/src/components/inspector.js +0 -38
- package/out/zero-react/src/components/inspector.js.map +0 -1
- package/out/zero-react/src/components/mark-icon.d.ts +0 -3
- package/out/zero-react/src/components/mark-icon.d.ts.map +0 -1
- package/out/zero-react/src/components/mark-icon.js +0 -28
- package/out/zero-react/src/components/mark-icon.js.map +0 -1
- package/out/zero-react/src/components/zero-inspector.d.ts +0 -8
- package/out/zero-react/src/components/zero-inspector.d.ts.map +0 -1
- package/out/zero-react/src/components/zero-inspector.js +0 -44
- package/out/zero-react/src/components/zero-inspector.js.map +0 -1
- package/out/zero-react/src/use-zero-connection-state.d.ts.map +0 -1
- package/out/zero-react/src/use-zero-connection-state.js.map +0 -1
- package/out/zero-solid/src/use-zero-connection-state.d.ts.map +0 -1
- package/out/zero-solid/src/use-zero-connection-state.js.map +0 -1
- package/out/zql/src/query/abstract-query.d.ts +0 -42
- package/out/zql/src/query/abstract-query.d.ts.map +0 -1
- package/out/zql/src/query/abstract-query.js +0 -405
- package/out/zql/src/query/abstract-query.js.map +0 -1
|
@@ -1,11 +1,44 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
|
|
2
|
+
import { type AST, type Parameter, type SimpleOperator, type System } from '../../../zero-protocol/src/ast.ts';
|
|
2
3
|
import type { Schema } from '../../../zero-types/src/schema.ts';
|
|
3
|
-
import type { Format } from '../ivm/view.ts';
|
|
4
|
-
import {
|
|
4
|
+
import type { Format, ViewFactory } from '../ivm/view.ts';
|
|
5
|
+
import { type ExpressionFactory, ExpressionBuilder } from './expression.ts';
|
|
5
6
|
import type { CustomQueryID } from './named.ts';
|
|
6
|
-
import { type
|
|
7
|
+
import { type QueryInternals, queryInternalsTag } from './query-internals.ts';
|
|
8
|
+
import type { AnyQuery, ExistsOptions, GetFilterType, HumanReadable, PreloadOptions, PullRow, Query, RunOptions } from './query.ts';
|
|
9
|
+
import type { TTL } from './ttl.ts';
|
|
10
|
+
import type { TypedView } from './typed-view.ts';
|
|
11
|
+
type GetFilterTypeAny = GetFilterType<any, any, any>;
|
|
12
|
+
type NewQueryFunction<TSchema extends Schema> = <TTable extends keyof TSchema['tables'] & string, TReturn>(this: unknown, tableName: TTable, ast: AST, format: Format, customQueryID: CustomQueryID | undefined, currentJunction: string | undefined) => QueryImpl<TTable, TSchema, TReturn>;
|
|
7
13
|
export declare function newQuery<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema>(schema: TSchema, table: TTable): Query<TTable, TSchema>;
|
|
8
|
-
export declare
|
|
9
|
-
|
|
14
|
+
export declare function newQueryImpl<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema, TReturn = PullRow<TTable, TSchema>>(schema: TSchema, tableName: TTable, ast: AST, format: Format, system: System): QueryImpl<TTable, TSchema, TReturn>;
|
|
15
|
+
export declare class QueryImpl<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema, TReturn = PullRow<TTable, TSchema>> implements Query<TTable, TSchema, TReturn>, QueryInternals<TTable, TSchema, TReturn> {
|
|
16
|
+
#private;
|
|
17
|
+
readonly [queryInternalsTag] = true;
|
|
18
|
+
readonly format: Format;
|
|
19
|
+
readonly customQueryID: CustomQueryID | undefined;
|
|
20
|
+
constructor(schema: TSchema, tableName: TTable, ast: AST, format: Format, system: System, customQueryID: CustomQueryID | undefined, currentJunction: string | undefined, newQuery: NewQueryFunction<TSchema>);
|
|
21
|
+
run(_options?: RunOptions): Promise<HumanReadable<TReturn>>;
|
|
22
|
+
preload(_options?: PreloadOptions): {
|
|
23
|
+
cleanup: () => void;
|
|
24
|
+
complete: Promise<void>;
|
|
25
|
+
};
|
|
26
|
+
materialize(ttl?: TTL): TypedView<HumanReadable<TReturn>>;
|
|
27
|
+
materialize<T>(factory: ViewFactory<TTable, TSchema, TReturn, T>, ttl?: TTL): T;
|
|
28
|
+
nameAndArgs(name: string, args: ReadonlyArray<ReadonlyJSONValue>): Query<TTable, TSchema, TReturn>;
|
|
29
|
+
hash(): string;
|
|
30
|
+
one: () => Query<TTable, TSchema, TReturn | undefined>;
|
|
31
|
+
whereExists: (relationship: string, cbOrOptions?: ((q: AnyQuery) => AnyQuery) | ExistsOptions, options?: ExistsOptions) => Query<TTable, TSchema, TReturn>;
|
|
32
|
+
related: (relationship: string, cb?: (q: AnyQuery) => AnyQuery) => Query<TTable, TSchema, any>;
|
|
33
|
+
where: (fieldOrExpressionFactory: string | ExpressionFactory<TTable, TSchema>, opOrValue?: SimpleOperator | GetFilterTypeAny | Parameter, value?: GetFilterTypeAny | Parameter) => Query<TTable, TSchema, TReturn>;
|
|
34
|
+
start: (row: Partial<Record<string, ReadonlyJSONValue | undefined>>, opts?: {
|
|
35
|
+
inclusive: boolean;
|
|
36
|
+
}) => Query<TTable, TSchema, TReturn>;
|
|
37
|
+
limit: (limit: number) => Query<TTable, TSchema, TReturn>;
|
|
38
|
+
orderBy: <TSelector extends keyof TSchema["tables"][TTable]["columns"]>(field: TSelector, direction: "asc" | "desc") => Query<TTable, TSchema, TReturn>;
|
|
39
|
+
get ast(): AST;
|
|
40
|
+
expressionBuilder(): ExpressionBuilder<string, Schema>;
|
|
10
41
|
}
|
|
42
|
+
export declare function asQueryImpl<TTable extends keyof TSchema['tables'] & string, TSchema extends Schema, TReturn>(q: Query<TTable, TSchema, TReturn>): QueryImpl<TTable, TSchema, TReturn>;
|
|
43
|
+
export {};
|
|
11
44
|
//# sourceMappingURL=query-impl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,424 @@
|
|
|
1
|
-
import "../../../
|
|
1
|
+
import { assert } from "../../../shared/src/asserts.js";
|
|
2
|
+
import { SUBQ_PREFIX } from "../../../zero-protocol/src/ast.js";
|
|
3
|
+
import { hashOfAST } from "../../../zero-protocol/src/query-hash.js";
|
|
4
|
+
import { NotImplementedError } from "../error.js";
|
|
2
5
|
import { defaultFormat } from "../../../zero-types/src/format.js";
|
|
3
|
-
import {
|
|
6
|
+
import { cmp, and, simplifyCondition, ExpressionBuilder } from "./expression.js";
|
|
7
|
+
import { queryInternalsTag } from "./query-internals.js";
|
|
4
8
|
function newQuery(schema, table) {
|
|
5
|
-
return
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
return newQueryImpl(schema, table, { table }, defaultFormat, "client");
|
|
10
|
+
}
|
|
11
|
+
function newQueryImpl(schema, tableName, ast, format, system) {
|
|
12
|
+
const inner = (tableName2, ast2, format2, customQueryID, currentJunction) => new QueryImpl(
|
|
13
|
+
schema,
|
|
14
|
+
tableName2,
|
|
15
|
+
ast2,
|
|
16
|
+
format2,
|
|
17
|
+
system,
|
|
18
|
+
customQueryID,
|
|
19
|
+
currentJunction,
|
|
20
|
+
inner
|
|
21
|
+
);
|
|
22
|
+
return inner(tableName, ast, format, void 0, void 0);
|
|
23
|
+
}
|
|
24
|
+
class QueryImpl {
|
|
25
|
+
[queryInternalsTag] = true;
|
|
26
|
+
#schema;
|
|
27
|
+
#tableName;
|
|
28
|
+
#ast;
|
|
29
|
+
format;
|
|
30
|
+
#hash = "";
|
|
31
|
+
#system;
|
|
32
|
+
#currentJunction;
|
|
33
|
+
customQueryID;
|
|
34
|
+
#newQuery;
|
|
35
|
+
constructor(schema, tableName, ast, format, system, customQueryID, currentJunction, newQuery2) {
|
|
36
|
+
this.#schema = schema;
|
|
37
|
+
this.#tableName = tableName;
|
|
38
|
+
this.#ast = ast;
|
|
39
|
+
this.format = format;
|
|
40
|
+
this.#system = system;
|
|
41
|
+
this.#currentJunction = currentJunction;
|
|
42
|
+
this.customQueryID = customQueryID;
|
|
43
|
+
this.#newQuery = newQuery2;
|
|
44
|
+
}
|
|
45
|
+
run(_options) {
|
|
46
|
+
throwQueryNotRunnable();
|
|
47
|
+
}
|
|
48
|
+
preload(_options) {
|
|
49
|
+
throwQueryNotRunnable();
|
|
50
|
+
}
|
|
51
|
+
materialize(_factoryOrTTL, _ttl) {
|
|
52
|
+
throwQueryNotRunnable();
|
|
53
|
+
}
|
|
54
|
+
nameAndArgs(name, args) {
|
|
55
|
+
return this.#newQuery(
|
|
56
|
+
this.#tableName,
|
|
57
|
+
this.#ast,
|
|
58
|
+
this.format,
|
|
59
|
+
{
|
|
60
|
+
name,
|
|
61
|
+
args
|
|
62
|
+
},
|
|
63
|
+
this.#currentJunction
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
hash() {
|
|
67
|
+
if (!this.#hash) {
|
|
68
|
+
this.#hash = hashOfAST(this.#ast);
|
|
69
|
+
}
|
|
70
|
+
return this.#hash;
|
|
71
|
+
}
|
|
72
|
+
one = () => this.#newQuery(
|
|
73
|
+
this.#tableName,
|
|
74
|
+
{
|
|
75
|
+
...this.#ast,
|
|
76
|
+
limit: 1
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
...this.format,
|
|
80
|
+
singular: true
|
|
81
|
+
},
|
|
82
|
+
this.customQueryID,
|
|
83
|
+
this.#currentJunction
|
|
84
|
+
);
|
|
85
|
+
whereExists = (relationship, cbOrOptions, options) => {
|
|
86
|
+
const cb = typeof cbOrOptions === "function" ? cbOrOptions : void 0;
|
|
87
|
+
const opts = typeof cbOrOptions === "function" ? options : cbOrOptions;
|
|
88
|
+
const flipped = opts?.flip;
|
|
89
|
+
return this.where(
|
|
90
|
+
({ exists }) => exists(
|
|
91
|
+
relationship,
|
|
92
|
+
cb,
|
|
93
|
+
flipped !== void 0 ? { flip: flipped } : void 0
|
|
25
94
|
)
|
|
26
95
|
);
|
|
96
|
+
};
|
|
97
|
+
related = (relationship, cb) => {
|
|
98
|
+
if (relationship.startsWith(SUBQ_PREFIX)) {
|
|
99
|
+
throw new Error(
|
|
100
|
+
`Relationship names may not start with "${SUBQ_PREFIX}". That is a reserved prefix.`
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
cb = cb ?? ((q) => q);
|
|
104
|
+
const related = this.#schema.relationships[this.#tableName][relationship];
|
|
105
|
+
assert(related, "Invalid relationship");
|
|
106
|
+
if (isOneHop(related)) {
|
|
107
|
+
const { destSchema, destField, sourceField, cardinality } = related[0];
|
|
108
|
+
const q = this.#newQuery(
|
|
109
|
+
destSchema,
|
|
110
|
+
{
|
|
111
|
+
table: destSchema,
|
|
112
|
+
alias: relationship
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
relationships: {},
|
|
116
|
+
singular: cardinality === "one"
|
|
117
|
+
},
|
|
118
|
+
this.customQueryID,
|
|
119
|
+
void 0
|
|
120
|
+
);
|
|
121
|
+
const subQuery = asQueryImpl(cb(q));
|
|
122
|
+
assert(
|
|
123
|
+
isCompoundKey(sourceField),
|
|
124
|
+
"The source of a relationship must specify at last 1 field"
|
|
125
|
+
);
|
|
126
|
+
assert(
|
|
127
|
+
isCompoundKey(destField),
|
|
128
|
+
"The destination of a relationship must specify at last 1 field"
|
|
129
|
+
);
|
|
130
|
+
assert(
|
|
131
|
+
sourceField.length === destField.length,
|
|
132
|
+
"The source and destination of a relationship must have the same number of fields"
|
|
133
|
+
);
|
|
134
|
+
return this.#newQuery(
|
|
135
|
+
this.#tableName,
|
|
136
|
+
{
|
|
137
|
+
...this.#ast,
|
|
138
|
+
related: [
|
|
139
|
+
...this.#ast.related ?? [],
|
|
140
|
+
{
|
|
141
|
+
system: this.#system,
|
|
142
|
+
correlation: {
|
|
143
|
+
parentField: sourceField,
|
|
144
|
+
childField: destField
|
|
145
|
+
},
|
|
146
|
+
subquery: subQuery.#ast
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
...this.format,
|
|
152
|
+
relationships: {
|
|
153
|
+
...this.format.relationships,
|
|
154
|
+
[relationship]: subQuery.format
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
this.customQueryID,
|
|
158
|
+
this.#currentJunction
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
if (isTwoHop(related)) {
|
|
162
|
+
const [firstRelation, secondRelation] = related;
|
|
163
|
+
const { destSchema } = secondRelation;
|
|
164
|
+
const junctionSchema = firstRelation.destSchema;
|
|
165
|
+
const sq = asQueryImpl(
|
|
166
|
+
cb(
|
|
167
|
+
this.#newQuery(
|
|
168
|
+
destSchema,
|
|
169
|
+
{
|
|
170
|
+
table: destSchema,
|
|
171
|
+
alias: relationship
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
relationships: {},
|
|
175
|
+
singular: secondRelation.cardinality === "one"
|
|
176
|
+
},
|
|
177
|
+
this.customQueryID,
|
|
178
|
+
relationship
|
|
179
|
+
)
|
|
180
|
+
)
|
|
181
|
+
);
|
|
182
|
+
assert(isCompoundKey(firstRelation.sourceField), "Invalid relationship");
|
|
183
|
+
assert(isCompoundKey(firstRelation.destField), "Invalid relationship");
|
|
184
|
+
assert(isCompoundKey(secondRelation.sourceField), "Invalid relationship");
|
|
185
|
+
assert(isCompoundKey(secondRelation.destField), "Invalid relationship");
|
|
186
|
+
return this.#newQuery(
|
|
187
|
+
this.#tableName,
|
|
188
|
+
{
|
|
189
|
+
...this.#ast,
|
|
190
|
+
related: [
|
|
191
|
+
...this.#ast.related ?? [],
|
|
192
|
+
{
|
|
193
|
+
system: this.#system,
|
|
194
|
+
correlation: {
|
|
195
|
+
parentField: firstRelation.sourceField,
|
|
196
|
+
childField: firstRelation.destField
|
|
197
|
+
},
|
|
198
|
+
hidden: true,
|
|
199
|
+
subquery: {
|
|
200
|
+
table: junctionSchema,
|
|
201
|
+
alias: relationship,
|
|
202
|
+
related: [
|
|
203
|
+
{
|
|
204
|
+
system: this.#system,
|
|
205
|
+
correlation: {
|
|
206
|
+
parentField: secondRelation.sourceField,
|
|
207
|
+
childField: secondRelation.destField
|
|
208
|
+
},
|
|
209
|
+
subquery: sq.#ast
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
...this.format,
|
|
218
|
+
relationships: {
|
|
219
|
+
...this.format.relationships,
|
|
220
|
+
[relationship]: sq.format
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
this.customQueryID,
|
|
224
|
+
this.#currentJunction
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
throw new Error(`Invalid relationship ${relationship}`);
|
|
228
|
+
};
|
|
229
|
+
where = (fieldOrExpressionFactory, opOrValue, value) => {
|
|
230
|
+
let cond;
|
|
231
|
+
if (typeof fieldOrExpressionFactory === "function") {
|
|
232
|
+
cond = fieldOrExpressionFactory(this.expressionBuilder());
|
|
233
|
+
} else {
|
|
234
|
+
assert(opOrValue !== void 0, "Invalid condition");
|
|
235
|
+
cond = cmp(fieldOrExpressionFactory, opOrValue, value);
|
|
236
|
+
}
|
|
237
|
+
const existingWhere = this.#ast.where;
|
|
238
|
+
if (existingWhere) {
|
|
239
|
+
cond = and(existingWhere, cond);
|
|
240
|
+
}
|
|
241
|
+
const where = simplifyCondition(cond);
|
|
242
|
+
return this.#newQuery(
|
|
243
|
+
this.#tableName,
|
|
244
|
+
{
|
|
245
|
+
...this.#ast,
|
|
246
|
+
where
|
|
247
|
+
},
|
|
248
|
+
this.format,
|
|
249
|
+
this.customQueryID,
|
|
250
|
+
this.#currentJunction
|
|
251
|
+
);
|
|
252
|
+
};
|
|
253
|
+
start = (row, opts) => this.#newQuery(
|
|
254
|
+
this.#tableName,
|
|
255
|
+
{
|
|
256
|
+
...this.#ast,
|
|
257
|
+
start: {
|
|
258
|
+
row,
|
|
259
|
+
exclusive: !opts?.inclusive
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
this.format,
|
|
263
|
+
this.customQueryID,
|
|
264
|
+
this.#currentJunction
|
|
265
|
+
);
|
|
266
|
+
limit = (limit) => {
|
|
267
|
+
if (limit < 0) {
|
|
268
|
+
throw new Error("Limit must be non-negative");
|
|
269
|
+
}
|
|
270
|
+
if ((limit | 0) !== limit) {
|
|
271
|
+
throw new Error("Limit must be an integer");
|
|
272
|
+
}
|
|
273
|
+
if (this.#currentJunction) {
|
|
274
|
+
throw new NotImplementedError(
|
|
275
|
+
"Limit is not supported in junction relationships yet. Junction relationship being limited: " + this.#currentJunction
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
return this.#newQuery(
|
|
279
|
+
this.#tableName,
|
|
280
|
+
{
|
|
281
|
+
...this.#ast,
|
|
282
|
+
limit
|
|
283
|
+
},
|
|
284
|
+
this.format,
|
|
285
|
+
this.customQueryID,
|
|
286
|
+
this.#currentJunction
|
|
287
|
+
);
|
|
288
|
+
};
|
|
289
|
+
orderBy = (field, direction) => {
|
|
290
|
+
if (this.#currentJunction) {
|
|
291
|
+
throw new NotImplementedError(
|
|
292
|
+
"Order by is not supported in junction relationships yet. Junction relationship being ordered: " + this.#currentJunction
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
return this.#newQuery(
|
|
296
|
+
this.#tableName,
|
|
297
|
+
{
|
|
298
|
+
...this.#ast,
|
|
299
|
+
orderBy: [...this.#ast.orderBy ?? [], [field, direction]]
|
|
300
|
+
},
|
|
301
|
+
this.format,
|
|
302
|
+
this.customQueryID,
|
|
303
|
+
this.#currentJunction
|
|
304
|
+
);
|
|
305
|
+
};
|
|
306
|
+
#exists = (relationship, cb, options) => {
|
|
307
|
+
cb = cb ?? ((q) => q);
|
|
308
|
+
const flip = options?.flip;
|
|
309
|
+
const related = this.#schema.relationships[this.#tableName][relationship];
|
|
310
|
+
assert(related, "Invalid relationship");
|
|
311
|
+
if (isOneHop(related)) {
|
|
312
|
+
const { destSchema: destTableName, sourceField, destField } = related[0];
|
|
313
|
+
assert(isCompoundKey(sourceField), "Invalid relationship");
|
|
314
|
+
assert(isCompoundKey(destField), "Invalid relationship");
|
|
315
|
+
const subQuery = asQueryImpl(
|
|
316
|
+
cb(
|
|
317
|
+
this.#newQuery(
|
|
318
|
+
destTableName,
|
|
319
|
+
{
|
|
320
|
+
table: destTableName,
|
|
321
|
+
alias: `${SUBQ_PREFIX}${relationship}`
|
|
322
|
+
},
|
|
323
|
+
defaultFormat,
|
|
324
|
+
this.customQueryID,
|
|
325
|
+
void 0
|
|
326
|
+
)
|
|
327
|
+
)
|
|
328
|
+
);
|
|
329
|
+
return {
|
|
330
|
+
type: "correlatedSubquery",
|
|
331
|
+
related: {
|
|
332
|
+
system: this.#system,
|
|
333
|
+
correlation: {
|
|
334
|
+
parentField: sourceField,
|
|
335
|
+
childField: destField
|
|
336
|
+
},
|
|
337
|
+
subquery: subQuery.#ast
|
|
338
|
+
},
|
|
339
|
+
op: "EXISTS",
|
|
340
|
+
flip
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
if (isTwoHop(related)) {
|
|
344
|
+
const [firstRelation, secondRelation] = related;
|
|
345
|
+
assert(isCompoundKey(firstRelation.sourceField), "Invalid relationship");
|
|
346
|
+
assert(isCompoundKey(firstRelation.destField), "Invalid relationship");
|
|
347
|
+
assert(isCompoundKey(secondRelation.sourceField), "Invalid relationship");
|
|
348
|
+
assert(isCompoundKey(secondRelation.destField), "Invalid relationship");
|
|
349
|
+
const { destSchema } = secondRelation;
|
|
350
|
+
const junctionSchema = firstRelation.destSchema;
|
|
351
|
+
const queryToDest = cb(
|
|
352
|
+
this.#newQuery(
|
|
353
|
+
destSchema,
|
|
354
|
+
{
|
|
355
|
+
table: destSchema,
|
|
356
|
+
alias: `${SUBQ_PREFIX}zhidden_${relationship}`
|
|
357
|
+
},
|
|
358
|
+
defaultFormat,
|
|
359
|
+
this.customQueryID,
|
|
360
|
+
relationship
|
|
361
|
+
)
|
|
362
|
+
);
|
|
363
|
+
return {
|
|
364
|
+
type: "correlatedSubquery",
|
|
365
|
+
related: {
|
|
366
|
+
system: this.#system,
|
|
367
|
+
correlation: {
|
|
368
|
+
parentField: firstRelation.sourceField,
|
|
369
|
+
childField: firstRelation.destField
|
|
370
|
+
},
|
|
371
|
+
subquery: {
|
|
372
|
+
table: junctionSchema,
|
|
373
|
+
alias: `${SUBQ_PREFIX}${relationship}`,
|
|
374
|
+
where: {
|
|
375
|
+
type: "correlatedSubquery",
|
|
376
|
+
related: {
|
|
377
|
+
system: this.#system,
|
|
378
|
+
correlation: {
|
|
379
|
+
parentField: secondRelation.sourceField,
|
|
380
|
+
childField: secondRelation.destField
|
|
381
|
+
},
|
|
382
|
+
subquery: asQueryImpl(queryToDest).#ast
|
|
383
|
+
},
|
|
384
|
+
op: "EXISTS",
|
|
385
|
+
flip
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
op: "EXISTS",
|
|
390
|
+
flip
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
throw new Error(`Invalid relationship ${relationship}`);
|
|
394
|
+
};
|
|
395
|
+
get ast() {
|
|
396
|
+
return this.#ast;
|
|
27
397
|
}
|
|
398
|
+
expressionBuilder() {
|
|
399
|
+
return new ExpressionBuilder(this.#exists);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
function asQueryImpl(q) {
|
|
403
|
+
assert(q instanceof QueryImpl);
|
|
404
|
+
return q;
|
|
405
|
+
}
|
|
406
|
+
function throwQueryNotRunnable() {
|
|
407
|
+
throw new Error("Query is not runnable");
|
|
408
|
+
}
|
|
409
|
+
function isCompoundKey(field) {
|
|
410
|
+
return Array.isArray(field) && field.length >= 1;
|
|
411
|
+
}
|
|
412
|
+
function isOneHop(r) {
|
|
413
|
+
return r.length === 1;
|
|
414
|
+
}
|
|
415
|
+
function isTwoHop(r) {
|
|
416
|
+
return r.length === 2;
|
|
28
417
|
}
|
|
29
418
|
export {
|
|
30
419
|
QueryImpl,
|
|
31
|
-
|
|
420
|
+
asQueryImpl,
|
|
421
|
+
newQuery,
|
|
422
|
+
newQueryImpl
|
|
32
423
|
};
|
|
33
424
|
//# sourceMappingURL=query-impl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-impl.js","sources":["../../../../../zql/src/query/query-impl.ts"],"sourcesContent":["import {type AST, type System} from '../../../zero-protocol/src/ast.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {defaultFormat} from '../ivm/default-format.ts';\nimport type {Format} from '../ivm/view.ts';\nimport {AbstractQuery} from './abstract-query.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {type PullRow, type Query} from './query.ts';\n\nexport function newQuery<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n>(schema: TSchema, table: TTable): Query<TTable, TSchema> {\n return new QueryImpl(schema, table, {table}, defaultFormat, undefined);\n}\n\nexport class QueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn = PullRow<TTable, TSchema>,\n >\n extends AbstractQuery<TTable, TSchema, TReturn>\n implements Query<TTable, TSchema, TReturn>\n{\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST = {table: tableName},\n format: Format = defaultFormat,\n system: System = 'client',\n customQueryID?: CustomQueryID,\n currentJunction?: string,\n ) {\n super(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n (tableName, ast, format, customQueryID, currentJunction) =>\n new QueryImpl(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n ),\n );\n }\n}\n"],"names":["tableName","ast","format","customQueryID","currentJunction"],"mappings":";;;AAQO,SAAS,SAGd,QAAiB,OAAuC;AACxD,SAAO,IAAI,UAAU,QAAQ,OAAO,EAAC,MAAA,GAAQ,eAAe,MAAS;AACvE;AAEO,MAAM,kBAKH,cAEV;AAAA,EACE,YACE,QACA,WACA,MAAW,EAAC,OAAO,aACnB,SAAiB,eACjB,SAAiB,UACjB,eACA,iBACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,CAACA,YAAWC,MAAKC,SAAQC,gBAAeC,qBACtC,IAAI;AAAA,QACF;AAAA,QACAJ;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACA;AAAA,QACAC;AAAAA,QACAC;AAAAA,MAAA;AAAA,IACF;AAAA,EAEN;AACF;"}
|
|
1
|
+
{"version":3,"file":"query-impl.js","sources":["../../../../../zql/src/query/query-impl.ts"],"sourcesContent":["// oxlint-disable no-explicit-any\nimport {assert} from '../../../shared/src/asserts.ts';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport {\n type AST,\n type CompoundKey,\n type Condition,\n type Parameter,\n type SimpleOperator,\n type System,\n SUBQ_PREFIX,\n} from '../../../zero-protocol/src/ast.ts';\nimport {hashOfAST} from '../../../zero-protocol/src/query-hash.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {NotImplementedError} from '../error.ts';\nimport {defaultFormat} from '../ivm/default-format.ts';\nimport type {Format, ViewFactory} from '../ivm/view.ts';\nimport {\n type ExpressionFactory,\n ExpressionBuilder,\n and,\n cmp,\n simplifyCondition,\n} from './expression.ts';\nimport type {CustomQueryID} from './named.ts';\nimport {type QueryInternals, queryInternalsTag} from './query-internals.ts';\nimport type {\n AnyQuery,\n ExistsOptions,\n GetFilterType,\n HumanReadable,\n PreloadOptions,\n PullRow,\n Query,\n RunOptions,\n} from './query.ts';\nimport type {TTL} from './ttl.ts';\nimport type {TypedView} from './typed-view.ts';\n\ntype GetFilterTypeAny = GetFilterType<any, any, any>;\n\ntype NewQueryFunction<TSchema extends Schema> = <\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n this: unknown,\n tableName: TTable,\n ast: AST,\n format: Format,\n customQueryID: CustomQueryID | undefined,\n currentJunction: string | undefined,\n) => QueryImpl<TTable, TSchema, TReturn>;\n\nexport function newQuery<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n>(schema: TSchema, table: TTable): Query<TTable, TSchema> {\n return newQueryImpl(schema, table, {table}, defaultFormat, 'client');\n}\n\nexport function newQueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn = PullRow<TTable, TSchema>,\n>(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System,\n): QueryImpl<TTable, TSchema, TReturn> {\n const inner: NewQueryFunction<TSchema> = (\n tableName,\n ast,\n format,\n customQueryID,\n currentJunction,\n ) =>\n new QueryImpl(\n schema,\n tableName,\n ast,\n format,\n system,\n customQueryID,\n currentJunction,\n inner,\n );\n\n return inner(tableName, ast, format, undefined, undefined);\n}\n\nexport class QueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn = PullRow<TTable, TSchema>,\n >\n implements\n Query<TTable, TSchema, TReturn>,\n QueryInternals<TTable, TSchema, TReturn>\n{\n readonly [queryInternalsTag] = true;\n\n readonly #schema: TSchema;\n readonly #tableName: TTable;\n readonly #ast: AST;\n readonly format: Format;\n #hash: string = '';\n readonly #system: System;\n readonly #currentJunction: string | undefined;\n readonly customQueryID: CustomQueryID | undefined;\n readonly #newQuery: NewQueryFunction<TSchema>;\n\n constructor(\n schema: TSchema,\n tableName: TTable,\n ast: AST,\n format: Format,\n system: System,\n customQueryID: CustomQueryID | undefined,\n currentJunction: string | undefined,\n newQuery: NewQueryFunction<TSchema>,\n ) {\n this.#schema = schema;\n this.#tableName = tableName;\n this.#ast = ast;\n this.format = format;\n this.#system = system;\n this.#currentJunction = currentJunction;\n this.customQueryID = customQueryID;\n this.#newQuery = newQuery;\n }\n\n run(_options?: RunOptions): Promise<HumanReadable<TReturn>> {\n throwQueryNotRunnable();\n }\n\n preload(_options?: PreloadOptions): {\n cleanup: () => void;\n complete: Promise<void>;\n } {\n throwQueryNotRunnable();\n }\n\n materialize(ttl?: TTL): TypedView<HumanReadable<TReturn>>;\n materialize<T>(\n factory: ViewFactory<TTable, TSchema, TReturn, T>,\n ttl?: TTL,\n ): T;\n materialize<T>(\n _factoryOrTTL?: ViewFactory<TTable, TSchema, TReturn, T> | TTL,\n _ttl?: TTL,\n ): T | TypedView<HumanReadable<TReturn>> {\n throwQueryNotRunnable();\n }\n\n nameAndArgs(\n name: string,\n args: ReadonlyArray<ReadonlyJSONValue>,\n ): Query<TTable, TSchema, TReturn> {\n return this.#newQuery(\n this.#tableName,\n this.#ast,\n this.format,\n {\n name,\n args,\n },\n this.#currentJunction,\n );\n }\n\n hash(): string {\n if (!this.#hash) {\n this.#hash = hashOfAST(this.#ast);\n }\n return this.#hash;\n }\n\n one = (): Query<TTable, TSchema, TReturn | undefined> =>\n this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n limit: 1,\n },\n {\n ...this.format,\n singular: true,\n },\n this.customQueryID,\n this.#currentJunction,\n );\n\n whereExists = (\n relationship: string,\n cbOrOptions?: ((q: AnyQuery) => AnyQuery) | ExistsOptions,\n options?: ExistsOptions,\n ): Query<TTable, TSchema, TReturn> => {\n const cb = typeof cbOrOptions === 'function' ? cbOrOptions : undefined;\n const opts = typeof cbOrOptions === 'function' ? options : cbOrOptions;\n const flipped = opts?.flip;\n return this.where(({exists}) =>\n exists(\n relationship,\n cb,\n flipped !== undefined ? {flip: flipped} : undefined,\n ),\n ) as Query<TTable, TSchema, TReturn>;\n };\n\n related = (\n relationship: string,\n cb?: (q: AnyQuery) => AnyQuery,\n ): Query<TTable, TSchema, any> => {\n if (relationship.startsWith(SUBQ_PREFIX)) {\n throw new Error(\n `Relationship names may not start with \"${SUBQ_PREFIX}\". That is a reserved prefix.`,\n );\n }\n cb = cb ?? (q => q);\n\n const related = this.#schema.relationships[this.#tableName][relationship];\n assert(related, 'Invalid relationship');\n if (isOneHop(related)) {\n const {destSchema, destField, sourceField, cardinality} = related[0];\n const q: AnyQuery = this.#newQuery(\n destSchema,\n {\n table: destSchema,\n alias: relationship,\n },\n {\n relationships: {},\n singular: cardinality === 'one',\n },\n this.customQueryID,\n undefined,\n ) as AnyQuery;\n // Intentionally not setting to `one` as it is a perf degradation\n // and the user should not be making the mistake of setting cardinality to\n // `one` when it is actually not.\n // if (cardinality === 'one') {\n // q = q.one();\n // }\n const subQuery = asQueryImpl(cb(q));\n assert(\n isCompoundKey(sourceField),\n 'The source of a relationship must specify at last 1 field',\n );\n assert(\n isCompoundKey(destField),\n 'The destination of a relationship must specify at last 1 field',\n );\n assert(\n sourceField.length === destField.length,\n 'The source and destination of a relationship must have the same number of fields',\n );\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n related: [\n ...(this.#ast.related ?? []),\n {\n system: this.#system,\n correlation: {\n parentField: sourceField,\n childField: destField,\n },\n subquery: subQuery.#ast,\n },\n ],\n },\n {\n ...this.format,\n relationships: {\n ...this.format.relationships,\n [relationship]: subQuery.format,\n },\n },\n this.customQueryID,\n this.#currentJunction,\n ) as AnyQuery;\n }\n\n if (isTwoHop(related)) {\n const [firstRelation, secondRelation] = related;\n const {destSchema} = secondRelation;\n const junctionSchema = firstRelation.destSchema;\n const sq = asQueryImpl(\n cb(\n this.#newQuery(\n destSchema,\n {\n table: destSchema,\n alias: relationship,\n },\n {\n relationships: {},\n singular: secondRelation.cardinality === 'one',\n },\n this.customQueryID,\n relationship,\n ),\n ),\n );\n\n assert(isCompoundKey(firstRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(firstRelation.destField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n related: [\n ...(this.#ast.related ?? []),\n {\n system: this.#system,\n correlation: {\n parentField: firstRelation.sourceField,\n childField: firstRelation.destField,\n },\n hidden: true,\n subquery: {\n table: junctionSchema,\n alias: relationship,\n related: [\n {\n system: this.#system,\n correlation: {\n parentField: secondRelation.sourceField,\n childField: secondRelation.destField,\n },\n subquery: sq.#ast,\n },\n ],\n },\n },\n ],\n },\n {\n ...this.format,\n relationships: {\n ...this.format.relationships,\n [relationship]: sq.format,\n },\n },\n this.customQueryID,\n this.#currentJunction,\n ) as AnyQuery;\n }\n\n throw new Error(`Invalid relationship ${relationship}`);\n };\n\n where = (\n fieldOrExpressionFactory: string | ExpressionFactory<TTable, TSchema>,\n opOrValue?: SimpleOperator | GetFilterTypeAny | Parameter,\n value?: GetFilterTypeAny | Parameter,\n ): Query<TTable, TSchema, TReturn> => {\n let cond: Condition;\n\n if (typeof fieldOrExpressionFactory === 'function') {\n cond = fieldOrExpressionFactory(this.expressionBuilder());\n } else {\n assert(opOrValue !== undefined, 'Invalid condition');\n cond = cmp(fieldOrExpressionFactory, opOrValue, value);\n }\n\n const existingWhere = this.#ast.where;\n if (existingWhere) {\n cond = and(existingWhere, cond);\n }\n\n const where = simplifyCondition(cond);\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n where,\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n };\n\n start = (\n row: Partial<Record<string, ReadonlyJSONValue | undefined>>,\n opts?: {inclusive: boolean},\n ): Query<TTable, TSchema, TReturn> =>\n this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n start: {\n row,\n exclusive: !opts?.inclusive,\n },\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n\n limit = (limit: number): Query<TTable, TSchema, TReturn> => {\n if (limit < 0) {\n throw new Error('Limit must be non-negative');\n }\n if ((limit | 0) !== limit) {\n throw new Error('Limit must be an integer');\n }\n if (this.#currentJunction) {\n throw new NotImplementedError(\n 'Limit is not supported in junction relationships yet. Junction relationship being limited: ' +\n this.#currentJunction,\n );\n }\n\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n limit,\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n };\n\n orderBy = <TSelector extends keyof TSchema['tables'][TTable]['columns']>(\n field: TSelector,\n direction: 'asc' | 'desc',\n ): Query<TTable, TSchema, TReturn> => {\n if (this.#currentJunction) {\n throw new NotImplementedError(\n 'Order by is not supported in junction relationships yet. Junction relationship being ordered: ' +\n this.#currentJunction,\n );\n }\n return this.#newQuery(\n this.#tableName,\n {\n ...this.#ast,\n orderBy: [...(this.#ast.orderBy ?? []), [field as string, direction]],\n },\n this.format,\n this.customQueryID,\n this.#currentJunction,\n );\n };\n\n #exists = (\n relationship: string,\n cb: ((query: AnyQuery) => AnyQuery) | undefined,\n options?: ExistsOptions,\n ): Condition => {\n cb = cb ?? (q => q);\n const flip = options?.flip;\n const related = this.#schema.relationships[this.#tableName][relationship];\n assert(related, 'Invalid relationship');\n\n if (isOneHop(related)) {\n const {destSchema: destTableName, sourceField, destField} = related[0];\n assert(isCompoundKey(sourceField), 'Invalid relationship');\n assert(isCompoundKey(destField), 'Invalid relationship');\n\n const subQuery = asQueryImpl(\n cb(\n this.#newQuery(\n destTableName,\n {\n table: destTableName,\n alias: `${SUBQ_PREFIX}${relationship}`,\n },\n defaultFormat,\n this.customQueryID,\n undefined,\n ),\n ),\n );\n return {\n type: 'correlatedSubquery',\n related: {\n system: this.#system,\n correlation: {\n parentField: sourceField,\n childField: destField,\n },\n subquery: subQuery.#ast,\n },\n op: 'EXISTS',\n flip,\n };\n }\n\n if (isTwoHop(related)) {\n const [firstRelation, secondRelation] = related;\n assert(isCompoundKey(firstRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(firstRelation.destField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.sourceField), 'Invalid relationship');\n assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');\n const {destSchema} = secondRelation;\n const junctionSchema = firstRelation.destSchema;\n const queryToDest = cb(\n this.#newQuery(\n destSchema,\n {\n table: destSchema,\n alias: `${SUBQ_PREFIX}zhidden_${relationship}`,\n },\n defaultFormat,\n this.customQueryID,\n relationship,\n ) as AnyQuery,\n );\n\n return {\n type: 'correlatedSubquery',\n related: {\n system: this.#system,\n correlation: {\n parentField: firstRelation.sourceField,\n childField: firstRelation.destField,\n },\n subquery: {\n table: junctionSchema,\n alias: `${SUBQ_PREFIX}${relationship}`,\n where: {\n type: 'correlatedSubquery',\n related: {\n system: this.#system,\n correlation: {\n parentField: secondRelation.sourceField,\n childField: secondRelation.destField,\n },\n subquery: asQueryImpl(queryToDest).#ast,\n },\n op: 'EXISTS',\n flip,\n },\n },\n },\n op: 'EXISTS',\n flip,\n };\n }\n\n throw new Error(`Invalid relationship ${relationship}`);\n };\n\n get ast(): AST {\n return this.#ast;\n }\n\n expressionBuilder() {\n return new ExpressionBuilder(this.#exists);\n }\n}\n\nexport function asQueryImpl<\n TTable extends keyof TSchema['tables'] & string,\n TSchema extends Schema,\n TReturn,\n>(q: Query<TTable, TSchema, TReturn>): QueryImpl<TTable, TSchema, TReturn> {\n assert(q instanceof QueryImpl);\n return q;\n}\n\nfunction throwQueryNotRunnable(): never {\n throw new Error('Query is not runnable');\n}\n\nfunction isCompoundKey(field: readonly string[]): field is CompoundKey {\n return Array.isArray(field) && field.length >= 1;\n}\n\nfunction isOneHop<T>(r: readonly T[]): r is readonly [T] {\n return r.length === 1;\n}\n\nfunction isTwoHop<T>(r: readonly T[]): r is readonly [T, T] {\n return r.length === 2;\n}\n"],"names":["tableName","ast","format","newQuery"],"mappings":"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"}
|
|
@@ -20,14 +20,14 @@ export type CustomQuery<TTable extends keyof TSchema['tables'] & string, TInput
|
|
|
20
20
|
readonly 'fn': QueryDefinitionFunction<TTable, TInput, TReturn, TContext>;
|
|
21
21
|
readonly '~': CustomQueryTypes<TTable, TInput, TSchema, TReturn, TContext>;
|
|
22
22
|
} & CustomQueryCallable<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
|
|
23
|
-
type CustomQueryCallable<TTable extends keyof TSchema['tables'] & string, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema
|
|
23
|
+
type CustomQueryCallable<TTable extends keyof TSchema['tables'] & string, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema, TReturn, TContext> = [TInput] extends [undefined] ? () => QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext> : undefined extends TInput ? {
|
|
24
24
|
(): QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
|
|
25
25
|
(args?: TInput): QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
|
|
26
26
|
} : {
|
|
27
27
|
(args: TInput): QueryRequest<TTable, TInput, TOutput, TSchema, TReturn, TContext>;
|
|
28
28
|
};
|
|
29
29
|
export type AnyCustomQuery = CustomQuery<string, any, any, Schema, any, any>;
|
|
30
|
-
export declare function isQuery(value: unknown): value is
|
|
30
|
+
export declare function isQuery<S extends Schema>(value: unknown): value is CustomQuery<string, any, any, S, any, any>;
|
|
31
31
|
export type QueryRequestTypes<TTable extends keyof TSchema['tables'] & string, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined, TSchema extends Schema, TReturn, TContext> = 'QueryRequest' & {
|
|
32
32
|
readonly $tableName: TTable;
|
|
33
33
|
readonly $input: TInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-registry.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-registry.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAGnE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAE9D,OAAO,KAAK,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAO/C,MAAM,MAAM,gBAAgB,CAC1B,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,MAAM,EACtB,OAAO,EACP,QAAQ,IACN,OAAO,GAAG;IACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,CACrB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,GAAG,MAAM,EACtD,OAAO,SAAS,MAAM,GAAG,aAAa,EACtC,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,GAAG,cAAc,IACvB;IACF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1E,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;CAC5E,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE7E,KAAK,mBAAmB,CACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,SAAS,MAAM,EACtB,OAAO,EACP,QAAQ,IACN,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAC5B,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GACvE,SAAS,SAAS,MAAM,GACtB;IACE,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtE,CACE,IAAI,CAAC,EAAE,MAAM,GACZ,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;CACtE,GACD;IACE,CACE,IAAI,EAAE,MAAM,GACX,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;CACtE,CAAC;AAGR,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7E,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EACtC,KAAK,EAAE,OAAO,GAEb,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAMrD;AAED,MAAM,MAAM,iBAAiB,CAC3B,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,SAAS,MAAM,EACtB,OAAO,EACP,QAAQ,IACN,cAAc,GAAG;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,CACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,SAAS,MAAM,EACtB,OAAO,EACP,QAAQ,IACN;IACF,QAAQ,CAAC,OAAO,EAAE,WAAW,CAC3B,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAC7B,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,CAC7B,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,SAAS,MAAM,EACtB,OAAO,EACP,QAAQ,IAEN,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GACjE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,SAAS,MAAM,EACtB,OAAO,EACP,QAAQ,EAER,OAAO,mBAAmB,CACxB,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,CACT,EACD,SAAS,QAAQ,KAChB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAC4C,CAAC;AAM9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,gBAAgB,CAMrE;AAED,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,MAAM,IAAI,eAAe,GAAG;IACzE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,EAAE,SAAS,gBAAgB,EAC3B,CAAC,SAAS,MAAM,IACd,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG;IACvB,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,WAAW,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC,SAAS,MAAM,IAAI;IAChE,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,kBAAkB,GAEtD,WAAW,CACT,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,EACxB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EACpB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EACrB,CAAC,EACD,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EACrB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CACvB,GACD,EAAE,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAC5B,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACrB,KAAK;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC,SAAS,MAAM,IAAI;IACzE,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,kBAAkB,GACtD,WAAW,CACT,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,EAExB,iBAAiB,GAAG,SAAS,EAC7B,iBAAiB,GAAG,SAAS,EAC7B,CAAC,EACD,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EACrB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CACvB,GACD,EAAE,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAC5B,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,KAAK;CACZ,CAAC,MAAM,EAAE,CAAC,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;CAC/D,CAAC;AAMF,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,EACP,OAAO,EACP,QAAQ,IACN,iBAAiB,GAAG;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CACzB,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,EACP,QAAQ,GAAG,cAAc,IACvB;IACF,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3E,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAChC,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;CACH,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,kBAAkB,CAMrE;AAED,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,EACP,QAAQ,IACN,CAAC,OAAO,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,wBAAgB,WAAW,CACzB,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,QAAQ,GAAG,cAAc,EACzB,OAAO,SAAS,MAAM,GAAG,aAAa,EACtC,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GACvE,MAAM,EACR,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAElC,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAClE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAG9D,wBAAgB,WAAW,CACzB,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,QAAQ,GAAG,cAAc,EACzB,OAAO,SAAS,MAAM,GAAG,aAAa,EACtC,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GACvE,MAAM,EACR,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAElC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GACnE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAwD/D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,MAAM,EAChB,CAAC,GAAG,OAAO,KACR,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAMtE;;;GAGG;AACH,KAAK,gBAAgB,CAAC,OAAO,SAAS,MAAM,EAAE,QAAQ,IAAI;IAExD,CACE,KAAK,SAAS,iBAAiB,GAAG,SAAS,EAC3C,OAAO,EACP,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GACvE,MAAM,EAER,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,GACjE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAG5D,CACE,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,EACP,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GACvE,MAAM,EAER,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GACnE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;CAChE,CAAC;AAMF,wBAAgB,WAAW,CACzB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,MAAM,SAAS,iBAAiB,GAAG,SAAS,EAC5C,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,OAAO,SAAS,MAAM,EACtB,OAAO,EACP,QAAQ,EAER,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GACtE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAkElE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,aAAa,CAE3B,KAAK,CAAC,EAAE,EACR,CAAC,SAAS,MAAM,GAAG,aAAa,EAEhC,IAAI,EAAE,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,GACpC,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhD,wBAAgB,aAAa,CAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,UAAU,EAChB,CAAC,SAAS,MAAM,GAAG,aAAa,EAEhC,IAAI,EACA,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAC/C,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAC3C,SAAS,EAAE,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC,GACzD,aAAa,CACd,SAAS,CACP,sBAAsB,CAAC,KAAK,CAAC,EAC7B,sBAAsB,CAAC,UAAU,CAAC,EAClC,kBAAkB,CACnB,EACD,CAAC,CACF,CAAC;AAqDF,MAAM,MAAM,sBAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,gBAAgB,GAChE,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,gBAAgB,GAChE,EAAE,GACF,EAAE,SAAS,aAAa,CAAC,MAAM,OAAO,EAAE,MAAM,EAAE,CAAC,GAC/C,OAAO,GACP,KAAK,CAAC;AAEZ;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,SAAS,MAAM,KACnB,kBAAkB,CAAC,OAAO,CAAC,CAE/B;AAED;;;GAGG;AACH,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAE1C,CAAC,EAAE,EACD,WAAW,EAAE,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,GAC3C,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAGhD,CAAC,KAAK,EAAE,UAAU,EAChB,IAAI,EACA,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAC/C,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAC3C,SAAS,EAAE,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC,GACzD,aAAa,CACd,SAAS,CACP,sBAAsB,CAAC,KAAK,CAAC,EAC7B,sBAAsB,CAAC,UAAU,CAAC,EAClC,kBAAkB,CACnB,EACD,CAAC,CACF,CAAC;CACH,CAAC;AAMF,wBAAgB,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC,SAAS,MAAM,EACpE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,GACX,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAGlC;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC,SAAS,MAAM,EACxE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,GACX,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAMtB"}
|