@rocicorp/zero 0.25.0-canary.8 → 0.25.0-canary.9
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/shared/src/deep-merge.d.ts +20 -3
- package/out/shared/src/deep-merge.d.ts.map +1 -1
- package/out/shared/src/deep-merge.js +27 -0
- package/out/shared/src/deep-merge.js.map +1 -0
- package/out/shared/src/logging.d.ts.map +1 -1
- package/out/shared/src/logging.js +25 -9
- package/out/shared/src/logging.js.map +1 -1
- package/out/shared/src/object-traversal.d.ts +19 -0
- package/out/shared/src/object-traversal.d.ts.map +1 -0
- package/out/shared/src/object-traversal.js +27 -0
- package/out/shared/src/object-traversal.js.map +1 -0
- package/out/zero/package.json.js +1 -1
- package/out/zero/src/pg.js +0 -2
- package/out/zero/src/pg.js.map +1 -1
- package/out/zero/src/server.js +0 -2
- package/out/zero/src/server.js.map +1 -1
- package/out/zero/src/zero.js +19 -3
- package/out/zero/src/zero.js.map +1 -1
- package/out/zero-cache/src/auth/jwt.d.ts +3 -0
- package/out/zero-cache/src/auth/jwt.d.ts.map +1 -1
- package/out/zero-cache/src/auth/jwt.js.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts +2 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +1 -11
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +27 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +35 -7
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/custom/fetch.d.ts +5 -5
- package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
- package/out/zero-cache/src/custom/fetch.js +14 -11
- package/out/zero-cache/src/custom/fetch.js.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.js +2 -4
- package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
- package/out/zero-cache/src/db/specs.d.ts +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +9 -9
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +20 -8
- 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 +10 -1
- package/out/zero-cache/src/services/analyze.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +5 -5
- package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +2 -2
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +11 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +36 -0
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/http-service.d.ts +5 -4
- package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
- package/out/zero-cache/src/services/http-service.js +15 -10
- package/out/zero-cache/src/services/http-service.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +2 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +3 -2
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +198 -0
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +5 -5
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/run-ast.d.ts +4 -0
- package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
- package/out/zero-cache/src/services/run-ast.js +8 -1
- package/out/zero-cache/src/services/run-ast.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +2 -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.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +15 -8
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +4 -4
- 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 +48 -25
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/workers/connection.js +20 -15
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +3 -3
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/bindings.d.ts +4 -4
- package/out/zero-client/src/client/bindings.d.ts.map +1 -1
- package/out/zero-client/src/client/bindings.js.map +1 -1
- package/out/zero-client/src/client/connection.d.ts +1 -1
- package/out/zero-client/src/client/connection.d.ts.map +1 -1
- package/out/zero-client/src/client/connection.js +1 -1
- package/out/zero-client/src/client/connection.js.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +7 -5
- package/out/zero-client/src/client/crud.d.ts.map +1 -1
- package/out/zero-client/src/client/crud.js +7 -7
- package/out/zero-client/src/client/crud.js.map +1 -1
- package/out/zero-client/src/client/custom.d.ts +7 -5
- package/out/zero-client/src/client/custom.d.ts.map +1 -1
- package/out/zero-client/src/client/custom.js +12 -7
- package/out/zero-client/src/client/custom.js.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts +5 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.js +7 -0
- package/out/zero-client/src/client/inspector/inspector.js.map +1 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.js +13 -13
- package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -1
- package/out/zero-client/src/client/make-mutate-property.d.ts +43 -0
- package/out/zero-client/src/client/make-mutate-property.d.ts.map +1 -0
- package/out/zero-client/src/client/make-mutate-property.js +38 -0
- package/out/zero-client/src/client/make-mutate-property.js.map +1 -0
- package/out/zero-client/src/client/make-replicache-mutators.d.ts +34 -0
- package/out/zero-client/src/client/make-replicache-mutators.d.ts.map +1 -0
- package/out/zero-client/src/client/make-replicache-mutators.js +103 -0
- package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -0
- package/out/zero-client/src/client/options.d.ts +39 -27
- package/out/zero-client/src/client/options.d.ts.map +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 +23 -33
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.js +52 -118
- package/out/zero-client/src/client/zero.js.map +1 -1
- package/out/zero-client/src/mod.d.ts +12 -7
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-protocol/src/analyze-query-result.d.ts +236 -0
- package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
- package/out/zero-protocol/src/analyze-query-result.js +128 -2
- package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +1 -1
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.js +4 -0
- package/out/zero-protocol/src/connect.js.map +1 -1
- package/out/zero-protocol/src/custom-queries.d.ts +1 -1
- package/out/zero-protocol/src/down.d.ts +99 -0
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/error.d.ts +4 -4
- package/out/zero-protocol/src/inspect-down.d.ts +297 -0
- package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
- package/out/zero-protocol/src/inspect-up.d.ts +4 -0
- package/out/zero-protocol/src/inspect-up.d.ts.map +1 -1
- package/out/zero-protocol/src/inspect-up.js +2 -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/push.d.ts +1 -1
- package/out/zero-protocol/src/up.d.ts +1 -0
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero-react/src/components/inspector.d.ts +3 -2
- package/out/zero-react/src/components/inspector.d.ts.map +1 -1
- package/out/zero-react/src/components/inspector.js.map +1 -1
- package/out/zero-react/src/components/zero-inspector.d.ts +3 -2
- package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
- package/out/zero-react/src/components/zero-inspector.js.map +1 -1
- package/out/zero-react/src/use-query.d.ts +5 -4
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-query.js +4 -3
- package/out/zero-react/src/use-query.js.map +1 -1
- package/out/zero-react/src/zero-provider.d.ts +7 -7
- package/out/zero-react/src/zero-provider.d.ts.map +1 -1
- package/out/zero-react/src/zero-provider.js.map +1 -1
- package/out/zero-schema/src/builder/schema-builder.js +1 -1
- package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
- package/out/zero-server/src/custom.d.ts +4 -5
- package/out/zero-server/src/custom.d.ts.map +1 -1
- package/out/zero-server/src/custom.js.map +1 -1
- package/out/zero-server/src/mod.d.ts +0 -1
- package/out/zero-server/src/mod.d.ts.map +1 -1
- package/out/zero-server/src/process-mutations.d.ts +9 -14
- package/out/zero-server/src/process-mutations.d.ts.map +1 -1
- package/out/zero-server/src/process-mutations.js +151 -105
- package/out/zero-server/src/process-mutations.js.map +1 -1
- package/out/zero-server/src/push-processor.d.ts +5 -3
- package/out/zero-server/src/push-processor.d.ts.map +1 -1
- package/out/zero-server/src/push-processor.js +17 -25
- package/out/zero-server/src/push-processor.js.map +1 -1
- package/out/zero-server/src/queries/process-queries.js +1 -1
- package/out/zero-server/src/queries/process-queries.js.map +1 -1
- package/out/zero-server/src/zql-database.d.ts.map +1 -1
- package/out/zero-server/src/zql-database.js +1 -1
- package/out/zero-server/src/zql-database.js.map +1 -1
- package/out/zero-solid/src/use-query.d.ts +3 -3
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero-solid/src/use-query.js +27 -38
- package/out/zero-solid/src/use-query.js.map +1 -1
- package/out/zero-solid/src/use-zero-connection-state.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero-connection-state.js +7 -5
- package/out/zero-solid/src/use-zero-connection-state.js.map +1 -1
- package/out/zero-solid/src/use-zero-online.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero-online.js +7 -5
- package/out/zero-solid/src/use-zero-online.js.map +1 -1
- package/out/zero-solid/src/use-zero.d.ts +6 -5
- package/out/zero-solid/src/use-zero.d.ts.map +1 -1
- package/out/zero-solid/src/use-zero.js +2 -6
- package/out/zero-solid/src/use-zero.js.map +1 -1
- package/out/zql/src/builder/builder.d.ts +2 -1
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +4 -3
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/mutate/custom.d.ts +15 -6
- package/out/zql/src/mutate/custom.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.js +6 -6
- package/out/zql/src/mutate/custom.js.map +1 -1
- package/out/zql/src/mutate/mutator-registry.d.ts +142 -0
- package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -0
- package/out/zql/src/mutate/mutator-registry.js +97 -0
- package/out/zql/src/mutate/mutator-registry.js.map +1 -0
- package/out/zql/src/mutate/mutator.d.ts +98 -0
- package/out/zql/src/mutate/mutator.d.ts.map +1 -0
- package/out/zql/src/mutate/mutator.js +35 -0
- package/out/zql/src/mutate/mutator.js.map +1 -0
- package/out/zql/src/planner/planner-connection.d.ts +7 -15
- package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
- package/out/zql/src/planner/planner-connection.js +30 -24
- package/out/zql/src/planner/planner-connection.js.map +1 -1
- package/out/zql/src/planner/planner-debug.d.ts +37 -43
- package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
- package/out/zql/src/planner/planner-debug.js +242 -0
- package/out/zql/src/planner/planner-debug.js.map +1 -0
- package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -1
- package/out/zql/src/planner/planner-fan-in.js +11 -8
- package/out/zql/src/planner/planner-fan-in.js.map +1 -1
- package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -1
- package/out/zql/src/planner/planner-fan-out.js +11 -8
- package/out/zql/src/planner/planner-fan-out.js.map +1 -1
- package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
- package/out/zql/src/planner/planner-graph.js +13 -5
- package/out/zql/src/planner/planner-graph.js.map +1 -1
- package/out/zql/src/planner/planner-join.d.ts.map +1 -1
- package/out/zql/src/planner/planner-join.js +12 -9
- package/out/zql/src/planner/planner-join.js.map +1 -1
- package/out/zql/src/planner/planner-node.d.ts +4 -0
- package/out/zql/src/planner/planner-node.d.ts.map +1 -1
- package/out/zql/src/planner/planner-node.js +8 -0
- package/out/zql/src/planner/planner-node.js.map +1 -0
- package/out/zql/src/query/create-builder.d.ts +7 -0
- package/out/zql/src/query/create-builder.d.ts.map +1 -0
- package/out/zql/src/query/create-builder.js +44 -0
- package/out/zql/src/query/create-builder.js.map +1 -0
- package/out/zql/src/query/named.d.ts +1 -7
- package/out/zql/src/query/named.d.ts.map +1 -1
- package/out/zql/src/query/named.js +0 -21
- package/out/zql/src/query/named.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +4 -3
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +3 -0
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-internals.js +0 -4
- package/out/zql/src/query/query-internals.js.map +1 -1
- package/out/zql/src/query/query-registry.d.ts +253 -0
- package/out/zql/src/query/query-registry.d.ts.map +1 -0
- package/out/zql/src/query/query-registry.js +131 -0
- package/out/zql/src/query/query-registry.js.map +1 -0
- package/out/zql/src/query/query.d.ts +16 -1
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/schema-query.d.ts +6 -0
- package/out/zql/src/query/schema-query.d.ts.map +1 -0
- package/out/zql/src/query/validate-input.js +12 -13
- package/out/zql/src/query/validate-input.js.map +1 -1
- package/package.json +2 -1
- package/out/zero-server/src/query-registry.d.ts +0 -10
- package/out/zero-server/src/query-registry.d.ts.map +0 -1
- package/out/zero-server/src/query-registry.js +0 -35
- package/out/zero-server/src/query-registry.js.map +0 -1
- package/out/zql/src/query/define-query.d.ts +0 -75
- package/out/zql/src/query/define-query.d.ts.map +0 -1
- package/out/zql/src/query/define-query.js +0 -47
- package/out/zql/src/query/define-query.js.map +0 -1
- package/out/zql/src/query/query-definitions.d.ts +0 -32
- package/out/zql/src/query/query-definitions.d.ts.map +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { wrapCustomQuery, isQueryDefinition } from "../../zql/src/query/define-query.js";
|
|
2
|
-
class QueryRegistry {
|
|
3
|
-
#map;
|
|
4
|
-
constructor(queries) {
|
|
5
|
-
this.#map = buildMap(queries);
|
|
6
|
-
}
|
|
7
|
-
mustGet(name, context) {
|
|
8
|
-
const f = this.#map.get(name);
|
|
9
|
-
if (!f) {
|
|
10
|
-
throw new Error(`Cannot find query '${name}'`);
|
|
11
|
-
}
|
|
12
|
-
return wrapCustomQuery(name, f, { context });
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function buildMap(queries) {
|
|
16
|
-
const map = /* @__PURE__ */ new Map();
|
|
17
|
-
function recurse(obj, prefix) {
|
|
18
|
-
if (typeof obj === "object" && obj !== null) {
|
|
19
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
20
|
-
const name = prefix ? `${prefix}.${key}` : key;
|
|
21
|
-
if (isQueryDefinition(value)) {
|
|
22
|
-
map.set(name, value);
|
|
23
|
-
} else {
|
|
24
|
-
recurse(value, name);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
recurse(queries, "");
|
|
30
|
-
return map;
|
|
31
|
-
}
|
|
32
|
-
export {
|
|
33
|
-
QueryRegistry
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=query-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-registry.js","sources":["../../../../zero-server/src/query-registry.ts"],"sourcesContent":["import type {ReadonlyJSONValue} from '../../shared/src/json.ts';\nimport type {Schema} from '../../zero-types/src/schema.ts';\nimport {\n isQueryDefinition,\n type QueryDefinition,\n wrapCustomQuery,\n} from '../../zql/src/query/define-query.ts';\nimport type {QueryDefinitions} from '../../zql/src/query/query-definitions.ts';\nimport type {AnyQuery} from '../../zql/src/query/query.ts';\n\n// oxlint-disable no-explicit-any\ntype AnyQueryDefinition<S extends Schema> = QueryDefinition<\n S,\n any,\n any,\n any,\n any,\n any\n>;\n// oxlint-enable no-explicit-any\n\nexport class QueryRegistry<\n S extends Schema,\n // oxlint-disable-next-line no-explicit-any\n QD extends QueryDefinitions<S, any>,\n> {\n readonly #map: Map<string, AnyQueryDefinition<S>>;\n\n constructor(queries: QD) {\n this.#map = buildMap(queries);\n }\n\n mustGet<Context>(\n name: string,\n context?: Context,\n ): (args?: ReadonlyJSONValue) => AnyQuery {\n const f = this.#map.get(name);\n if (!f) {\n throw new Error(`Cannot find query '${name}'`);\n }\n\n return wrapCustomQuery(name, f, {context});\n }\n}\n\nfunction buildMap<\n S extends Schema,\n QD extends QueryDefinitions<S, Context>,\n Context,\n>(queries: QD): Map<string, AnyQueryDefinition<S>> {\n const map = new Map<string, AnyQueryDefinition<S>>();\n\n function recurse(obj: unknown, prefix: string): void {\n if (typeof obj === 'object' && obj !== null) {\n for (const [key, value] of Object.entries(obj)) {\n const name = prefix ? `${prefix}.${key}` : key;\n if (isQueryDefinition(value)) {\n map.set(name, value);\n } else {\n recurse(value, name);\n }\n }\n }\n }\n\n recurse(queries, '');\n\n return map;\n}\n"],"names":[],"mappings":";AAqBO,MAAM,cAIX;AAAA,EACS;AAAA,EAET,YAAY,SAAa;AACvB,SAAK,OAAO,SAAS,OAAO;AAAA,EAC9B;AAAA,EAEA,QACE,MACA,SACwC;AACxC,UAAM,IAAI,KAAK,KAAK,IAAI,IAAI;AAC5B,QAAI,CAAC,GAAG;AACN,YAAM,IAAI,MAAM,sBAAsB,IAAI,GAAG;AAAA,IAC/C;AAEA,WAAO,gBAAgB,MAAM,GAAG,EAAC,SAAQ;AAAA,EAC3C;AACF;AAEA,SAAS,SAIP,SAAiD;AACjD,QAAM,0BAAU,IAAA;AAEhB,WAAS,QAAQ,KAAc,QAAsB;AACnD,QAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,cAAM,OAAO,SAAS,GAAG,MAAM,IAAI,GAAG,KAAK;AAC3C,YAAI,kBAAkB,KAAK,GAAG;AAC5B,cAAI,IAAI,MAAM,KAAK;AAAA,QACrB,OAAO;AACL,kBAAQ,OAAO,IAAI;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,SAAS,EAAE;AAEnB,SAAO;AACT;"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
2
|
-
import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
|
|
3
|
-
import type { Schema } from '../../../zero-types/src/schema.ts';
|
|
4
|
-
import type { AnyQuery, Query } from './query.ts';
|
|
5
|
-
declare const defineQueryTag: unique symbol;
|
|
6
|
-
/**
|
|
7
|
-
* A query definition function that has been wrapped by `defineQuery`.
|
|
8
|
-
* Contains the original function plus metadata (validator and tag).
|
|
9
|
-
*/
|
|
10
|
-
export type QueryDefinition<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn, TContext, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined> = ((options: {
|
|
11
|
-
args: TOutput;
|
|
12
|
-
ctx: TContext;
|
|
13
|
-
}) => Query<TSchema, TTable, TReturn>) & {
|
|
14
|
-
[defineQueryTag]: true;
|
|
15
|
-
validator: StandardSchemaV1<TInput, TOutput> | undefined;
|
|
16
|
-
};
|
|
17
|
-
export declare function isQueryDefinition<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn, TContext, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined>(f: unknown): f is QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput>;
|
|
18
|
-
export declare function defineQuery<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn, TContext, TArgs extends ReadonlyJSONValue | undefined>(queryFn: (options: {
|
|
19
|
-
args: TArgs;
|
|
20
|
-
ctx: TContext;
|
|
21
|
-
}) => Query<TSchema, TTable, TReturn>): QueryDefinition<TSchema, TTable, TReturn, TContext, TArgs, TArgs>;
|
|
22
|
-
export declare function defineQuery<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn, TContext, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined>(validator: StandardSchemaV1<TInput, TOutput>, queryFn: (options: {
|
|
23
|
-
args: TOutput;
|
|
24
|
-
ctx: TContext;
|
|
25
|
-
}) => Query<TSchema, TTable, TReturn>): QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput>;
|
|
26
|
-
/**
|
|
27
|
-
* Wraps a query definition with a query name and context, creating a function that
|
|
28
|
-
* returns a Query with the name and args bound to the instance.
|
|
29
|
-
*
|
|
30
|
-
* @param queryName - The name to assign to the query
|
|
31
|
-
* @param f - The query definition to wrap
|
|
32
|
-
* @param contextHolder - An object containing the context to pass to the query
|
|
33
|
-
* @returns A function that takes args and returns a Query
|
|
34
|
-
*/
|
|
35
|
-
export declare function wrapCustomQuery<TArgs, Context>(queryName: string, f: QueryDefinition<any, any, any, any, any, any>, contextHolder: {
|
|
36
|
-
context: Context;
|
|
37
|
-
}): (args: TArgs) => AnyQuery;
|
|
38
|
-
/**
|
|
39
|
-
* Creates a type-safe query definition function that is parameterized by a
|
|
40
|
-
* custom context type, without requiring a query name.
|
|
41
|
-
*
|
|
42
|
-
* This utility allows you to define queries with explicit context typing,
|
|
43
|
-
* ensuring that the query function receives the correct context type. It
|
|
44
|
-
* returns a function that can be used to define queries with schema,
|
|
45
|
-
* table, input, and output types.
|
|
46
|
-
*
|
|
47
|
-
* @typeParam TContext - The type of the context object that will be passed to
|
|
48
|
-
* the query function.
|
|
49
|
-
*
|
|
50
|
-
* @returns A function for defining queries with the specified context type.
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```ts
|
|
54
|
-
* const defineQuery2 = defineQuery2WithContextType<MyContext>();
|
|
55
|
-
* const myQuery = defineQuery2(
|
|
56
|
-
* z.string(),
|
|
57
|
-
* ({ctx, args}) => {
|
|
58
|
-
* ctx satisfies MyContext;
|
|
59
|
-
* ...
|
|
60
|
-
* },
|
|
61
|
-
* );
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
export declare function defineQueryWithContextType<TContext>(): {
|
|
65
|
-
<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn, TArgs extends ReadonlyJSONValue | undefined>(queryFn: (options: {
|
|
66
|
-
args: TArgs;
|
|
67
|
-
ctx: TContext;
|
|
68
|
-
}) => Query<TSchema, TTable, TReturn>): QueryDefinition<TSchema, TTable, TReturn, TContext, TArgs, TArgs>;
|
|
69
|
-
<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn, TInput extends ReadonlyJSONValue | undefined, TOutput extends ReadonlyJSONValue | undefined>(validator: StandardSchemaV1<TInput, TOutput>, queryFn: (options: {
|
|
70
|
-
args: TOutput;
|
|
71
|
-
ctx: TContext;
|
|
72
|
-
}) => Query<TSchema, TTable, TReturn>): QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput>;
|
|
73
|
-
};
|
|
74
|
-
export {};
|
|
75
|
-
//# sourceMappingURL=define-query.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define-query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/define-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { must } from "../../../shared/src/must.js";
|
|
2
|
-
import { asQueryInternals } from "./query-internals.js";
|
|
3
|
-
import { validateInput } from "./validate-input.js";
|
|
4
|
-
const defineQueryTag = Symbol();
|
|
5
|
-
function isQueryDefinition(f) {
|
|
6
|
-
return typeof f === "function" && f[defineQueryTag];
|
|
7
|
-
}
|
|
8
|
-
function defineQuery(validatorOrQueryFn, queryFn) {
|
|
9
|
-
let validator;
|
|
10
|
-
let actualQueryFn;
|
|
11
|
-
if (typeof validatorOrQueryFn === "function") {
|
|
12
|
-
validator = void 0;
|
|
13
|
-
actualQueryFn = validatorOrQueryFn;
|
|
14
|
-
} else {
|
|
15
|
-
validator = validatorOrQueryFn;
|
|
16
|
-
actualQueryFn = must(queryFn);
|
|
17
|
-
}
|
|
18
|
-
const f = actualQueryFn;
|
|
19
|
-
f[defineQueryTag] = true;
|
|
20
|
-
f.validator = validator;
|
|
21
|
-
return f;
|
|
22
|
-
}
|
|
23
|
-
function wrapCustomQuery(queryName, f, contextHolder) {
|
|
24
|
-
const { validator } = f;
|
|
25
|
-
const validate = validator ? (args) => validateInput(queryName, args, validator, "query") : (args) => args;
|
|
26
|
-
return (args) => {
|
|
27
|
-
const q = f({
|
|
28
|
-
args: validate(args),
|
|
29
|
-
ctx: contextHolder.context
|
|
30
|
-
});
|
|
31
|
-
return asQueryInternals(q).nameAndArgs(
|
|
32
|
-
queryName,
|
|
33
|
-
// TODO(arv): Get rid of the array?
|
|
34
|
-
args === void 0 ? [] : [args]
|
|
35
|
-
);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function defineQueryWithContextType() {
|
|
39
|
-
return defineQuery;
|
|
40
|
-
}
|
|
41
|
-
export {
|
|
42
|
-
defineQuery,
|
|
43
|
-
defineQueryWithContextType,
|
|
44
|
-
isQueryDefinition,
|
|
45
|
-
wrapCustomQuery
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=define-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define-query.js","sources":["../../../../../zql/src/query/define-query.ts"],"sourcesContent":["import type {StandardSchemaV1} from '@standard-schema/spec';\nimport type {ReadonlyJSONValue} from '../../../shared/src/json.ts';\nimport {must} from '../../../shared/src/must.ts';\nimport type {Schema} from '../../../zero-types/src/schema.ts';\nimport {asQueryInternals} from './query-internals.ts';\nimport type {AnyQuery, Query} from './query.ts';\nimport {validateInput} from './validate-input.ts';\n\nconst defineQueryTag = Symbol();\n\n/**\n * A query definition function that has been wrapped by `defineQuery`.\n * Contains the original function plus metadata (validator and tag).\n */\nexport type QueryDefinition<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n> = ((options: {\n args: TOutput;\n ctx: TContext;\n}) => Query<TSchema, TTable, TReturn>) & {\n [defineQueryTag]: true;\n validator: StandardSchemaV1<TInput, TOutput> | undefined;\n};\n\nexport function isQueryDefinition<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n>(\n f: unknown,\n): f is QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput> {\n // oxlint-disable-next-line no-explicit-any\n return typeof f === 'function' && (f as any)[defineQueryTag];\n}\n\n// Overload for no validator parameter with default inference for untyped functions\nexport function defineQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TArgs extends ReadonlyJSONValue | undefined,\n>(\n queryFn: (options: {\n args: TArgs;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>,\n): QueryDefinition<TSchema, TTable, TReturn, TContext, TArgs, TArgs>;\n\n// Overload for validator parameter - Input and Output can be different\nexport function defineQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n>(\n validator: StandardSchemaV1<TInput, TOutput>,\n queryFn: (options: {\n args: TOutput;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>,\n): QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput>;\n\n// Implementation\nexport function defineQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TContext,\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n>(\n validatorOrQueryFn:\n | StandardSchemaV1<TInput, TOutput>\n | ((options: {\n args: TOutput;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>),\n queryFn?: (options: {\n args: TOutput;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>,\n): QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput> {\n // Handle different parameter patterns\n let validator: StandardSchemaV1<TInput, TOutput> | undefined;\n let actualQueryFn: (options: {\n args: TOutput;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>;\n\n if (typeof validatorOrQueryFn === 'function') {\n // defineQuery(queryFn) - no validator\n validator = undefined;\n actualQueryFn = validatorOrQueryFn;\n } else {\n // defineQuery(validator, queryFn) - with validator\n validator = validatorOrQueryFn;\n actualQueryFn = must(queryFn);\n }\n\n // Pass through the function as-is, only adding tag and validator\n const f = actualQueryFn as QueryDefinition<\n TSchema,\n TTable,\n TReturn,\n TContext,\n TInput,\n TOutput\n >;\n\n f[defineQueryTag] = true;\n f.validator = validator;\n return f;\n}\n\n/**\n * Wraps a query definition with a query name and context, creating a function that\n * returns a Query with the name and args bound to the instance.\n *\n * @param queryName - The name to assign to the query\n * @param f - The query definition to wrap\n * @param contextHolder - An object containing the context to pass to the query\n * @returns A function that takes args and returns a Query\n */\nexport function wrapCustomQuery<TArgs, Context>(\n queryName: string,\n // oxlint-disable-next-line no-explicit-any\n f: QueryDefinition<any, any, any, any, any, any>,\n contextHolder: {context: Context},\n): (args: TArgs) => AnyQuery {\n const {validator} = f;\n const validate = validator\n ? (args: TArgs) =>\n validateInput<TArgs, TArgs>(queryName, args, validator, 'query')\n : (args: TArgs) => args;\n\n return (args?: TArgs) => {\n // The args that we send to the server is the args that the user passed in.\n // This is what gets fed into the validator.\n const q = f({\n args: validate(args as TArgs),\n ctx: contextHolder.context,\n });\n return asQueryInternals(q).nameAndArgs(\n queryName,\n // TODO(arv): Get rid of the array?\n args === undefined ? [] : [args as unknown as ReadonlyJSONValue],\n );\n };\n}\n\n/**\n * Creates a type-safe query definition function that is parameterized by a\n * custom context type, without requiring a query name.\n *\n * This utility allows you to define queries with explicit context typing,\n * ensuring that the query function receives the correct context type. It\n * returns a function that can be used to define queries with schema,\n * table, input, and output types.\n *\n * @typeParam TContext - The type of the context object that will be passed to\n * the query function.\n *\n * @returns A function for defining queries with the specified context type.\n *\n * @example\n * ```ts\n * const defineQuery2 = defineQuery2WithContextType<MyContext>();\n * const myQuery = defineQuery2(\n * z.string(),\n * ({ctx, args}) => {\n * ctx satisfies MyContext;\n * ...\n * },\n * );\n * ```\n */\nexport function defineQueryWithContextType<TContext>(): {\n <\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TArgs extends ReadonlyJSONValue | undefined,\n >(\n queryFn: (options: {\n args: TArgs;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>,\n ): QueryDefinition<TSchema, TTable, TReturn, TContext, TArgs, TArgs>;\n\n <\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n >(\n validator: StandardSchemaV1<TInput, TOutput>,\n queryFn: (options: {\n args: TOutput;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>,\n ): QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput>;\n} {\n return defineQuery as {\n <\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TArgs extends ReadonlyJSONValue | undefined,\n >(\n queryFn: (options: {\n args: TArgs;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>,\n ): QueryDefinition<TSchema, TTable, TReturn, TContext, TArgs, TArgs>;\n\n <\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n TInput extends ReadonlyJSONValue | undefined,\n TOutput extends ReadonlyJSONValue | undefined,\n >(\n validator: StandardSchemaV1<TInput, TOutput>,\n queryFn: (options: {\n args: TOutput;\n ctx: TContext;\n }) => Query<TSchema, TTable, TReturn>,\n ): QueryDefinition<TSchema, TTable, TReturn, TContext, TInput, TOutput>;\n };\n}\n"],"names":[],"mappings":";;;AAQA,MAAM,iBAAiB,OAAA;AAqBhB,SAAS,kBAQd,GAC2E;AAE3E,SAAO,OAAO,MAAM,cAAe,EAAU,cAAc;AAC7D;AAiCO,SAAS,YAQd,oBAMA,SAIsE;AAEtE,MAAI;AACJ,MAAI;AAKJ,MAAI,OAAO,uBAAuB,YAAY;AAE5C,gBAAY;AACZ,oBAAgB;AAAA,EAClB,OAAO;AAEL,gBAAY;AACZ,oBAAgB,KAAK,OAAO;AAAA,EAC9B;AAGA,QAAM,IAAI;AASV,IAAE,cAAc,IAAI;AACpB,IAAE,YAAY;AACd,SAAO;AACT;AAWO,SAAS,gBACd,WAEA,GACA,eAC2B;AAC3B,QAAM,EAAC,cAAa;AACpB,QAAM,WAAW,YACb,CAAC,SACC,cAA4B,WAAW,MAAM,WAAW,OAAO,IACjE,CAAC,SAAgB;AAErB,SAAO,CAAC,SAAiB;AAGvB,UAAM,IAAI,EAAE;AAAA,MACV,MAAM,SAAS,IAAa;AAAA,MAC5B,KAAK,cAAc;AAAA,IAAA,CACpB;AACD,WAAO,iBAAiB,CAAC,EAAE;AAAA,MACzB;AAAA;AAAA,MAEA,SAAS,SAAY,CAAA,IAAK,CAAC,IAAoC;AAAA,IAAA;AAAA,EAEnE;AACF;AA4BO,SAAS,6BA0Bd;AACA,SAAO;AA2BT;"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { Schema } from '../../../zero-types/src/schema.ts';
|
|
2
|
-
import type { QueryDefinition } from './define-query.ts';
|
|
3
|
-
/**
|
|
4
|
-
* Defines a collection of custom queries that can be arbitrarily nested.
|
|
5
|
-
*
|
|
6
|
-
* This type supports creating namespaced query hierarchies of any depth.
|
|
7
|
-
* Each key can either be a QueryDefinition (a leaf query) or another
|
|
8
|
-
* QueryDefinitions object (a namespace containing more queries).
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const queries = {
|
|
13
|
-
* getUser: defineQuery(...), // Direct query
|
|
14
|
-
* admin: { // Namespace
|
|
15
|
-
* users: { // Nested namespace
|
|
16
|
-
* getAll: defineQuery(...), // Deeply nested query
|
|
17
|
-
* },
|
|
18
|
-
* },
|
|
19
|
-
* };
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export type QueryDefinitions<S extends Schema, Context> = {
|
|
23
|
-
readonly [key: string]: QueryDefinition<S, any, any, Context, any, any> | QueryDefinitions<S, Context>;
|
|
24
|
-
};
|
|
25
|
-
export type NamespacedNamesOfQueryDefinitions<QD extends QueryDefinitions<Schema, any>> = {
|
|
26
|
-
[K in keyof QD]: QD[K] extends QueryDefinition<Schema, keyof Schema['tables'] & string, any, any, any, any> ? K & string : QD[K] extends {
|
|
27
|
-
[key: string]: QueryDefinition<Schema, keyof Schema['tables'] & string, any, any, any, any>;
|
|
28
|
-
} ? {
|
|
29
|
-
[NK in keyof QD[K]]: `${K & string}.${NK & string}`;
|
|
30
|
-
}[keyof QD[K]] : never;
|
|
31
|
-
}[keyof QD];
|
|
32
|
-
//# sourceMappingURL=query-definitions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-definitions.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAIvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,IAAI;IACxD,QAAQ,EAAE,GAAG,EAAE,MAAM,GACjB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,iCAAiC,CAC3C,EAAE,SAAS,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,IACtC;KACD,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,eAAe,CAC5C,MAAM,EACN,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/B,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,CAAC,GAAG,MAAM,GACV,EAAE,CAAC,CAAC,CAAC,SAAS;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAC5B,MAAM,EACN,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/B,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAC;KACH,GACD;SACG,EAAE,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,MAAM,EAAE;KACpD,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GACd,KAAK;CACZ,CAAC,MAAM,EAAE,CAAC,CAAC"}
|