@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
|
@@ -26,11 +26,9 @@ import { CRUD_MUTATION_NAME, mapCRUD } from "../../../zero-protocol/src/push.js"
|
|
|
26
26
|
import { nullableVersionSchema } from "../../../zero-protocol/src/version.js";
|
|
27
27
|
import { clientSchemaFrom } from "../../../zero-schema/src/builder/schema-builder.js";
|
|
28
28
|
import { clientToServer } from "../../../zero-schema/src/name-mapper.js";
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
29
|
+
import { iterateMutators, isMutatorRegistry } from "../../../zql/src/mutate/mutator-registry.js";
|
|
30
|
+
import { createBuilder } from "../../../zql/src/query/create-builder.js";
|
|
31
31
|
import { isClientMetric } from "../../../zql/src/query/metrics-delegate.js";
|
|
32
|
-
import { newQuery } from "../../../zql/src/query/query-impl.js";
|
|
33
|
-
import { isQueryInternals } from "../../../zql/src/query/query-internals.js";
|
|
34
32
|
import "../../../zero-protocol/src/ast.js";
|
|
35
33
|
import { nanoid } from "../util/nanoid.js";
|
|
36
34
|
import { send } from "../util/socket.js";
|
|
@@ -41,8 +39,7 @@ import { ConnectionManager, throwIfConnectionError } from "./connection-manager.
|
|
|
41
39
|
import { Connected, Closed, Disconnected, Connecting, Error as Error$1, NeedsAuth } from "./connection-status-enum.js";
|
|
42
40
|
import { ConnectionImpl } from "./connection.js";
|
|
43
41
|
import { ZeroContext } from "./context.js";
|
|
44
|
-
import {
|
|
45
|
-
import { makeReplicacheMutator } from "./custom.js";
|
|
42
|
+
import { makeCRUDMutate } from "./crud.js";
|
|
46
43
|
import { DeleteClientsManager } from "./delete-clients-manager.js";
|
|
47
44
|
import { shouldEnableAnalytics } from "./enable-analytics.js";
|
|
48
45
|
import { ClientError, getErrorConnectionTransition, NO_STATUS_TRANSITION, isClientError, isAuthError, isServerError, getBackoffParams } from "./error.js";
|
|
@@ -50,6 +47,8 @@ import { toWSString, appendPath } from "./http-string.js";
|
|
|
50
47
|
import { Inspector } from "./inspector/inspector.js";
|
|
51
48
|
import { IVMSourceBranch } from "./ivm-branch.js";
|
|
52
49
|
import { createLogOptions } from "./log-options.js";
|
|
50
|
+
import { makeMutateProperty } from "./make-mutate-property.js";
|
|
51
|
+
import { makeReplicacheMutators } from "./make-replicache-mutators.js";
|
|
53
52
|
import { MetricManager, REPORT_INTERVAL_MS, shouldReportConnectError, getLastConnectErrorValue, DID_NOT_CONNECT_VALUE } from "./metrics.js";
|
|
54
53
|
import { MutationTracker } from "./mutation-tracker.js";
|
|
55
54
|
import { MutatorProxy } from "./mutator-proxy.js";
|
|
@@ -98,45 +97,6 @@ function onClientStateNotFoundServerReason(serverErrMsg) {
|
|
|
98
97
|
}
|
|
99
98
|
const ON_CLIENT_STATE_NOT_FOUND_REASON_CLIENT = "The local persistent state needed to synchronize this client has been garbage collected.";
|
|
100
99
|
const CLOSE_CODE_NORMAL = 1e3;
|
|
101
|
-
function registerQueries(schema, queries, contextHolder, lc) {
|
|
102
|
-
const rv = {};
|
|
103
|
-
for (const name of Object.keys(schema.tables)) {
|
|
104
|
-
rv[name] = newQuery(schema, name);
|
|
105
|
-
}
|
|
106
|
-
if (queries) {
|
|
107
|
-
const processQueries = (queriesToProcess, target, namespacePrefix = []) => {
|
|
108
|
-
for (const [key, value] of Object.entries(queriesToProcess)) {
|
|
109
|
-
if (typeof value === "function") {
|
|
110
|
-
const queryName = [...namespacePrefix, key].join(".");
|
|
111
|
-
const targetValue = target[key];
|
|
112
|
-
if (isQueryInternals(targetValue)) {
|
|
113
|
-
lc.debug?.(
|
|
114
|
-
`Query key "${[...namespacePrefix, key].join(".")}" conflicts with an existing table name.`
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
target[key] = wrapCustomQuery(queryName, value, contextHolder);
|
|
118
|
-
} else {
|
|
119
|
-
let existing = target[key];
|
|
120
|
-
if (isQueryInternals(existing)) {
|
|
121
|
-
lc.debug?.(
|
|
122
|
-
`Query namespace "${[...namespacePrefix, key].join(".")}" conflicts with an existing table name.`
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
if (existing === void 0) {
|
|
126
|
-
existing = {};
|
|
127
|
-
target[key] = existing;
|
|
128
|
-
}
|
|
129
|
-
processQueries(value, existing, [
|
|
130
|
-
...namespacePrefix,
|
|
131
|
-
key
|
|
132
|
-
]);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
processQueries(queries, rv);
|
|
137
|
-
}
|
|
138
|
-
return rv;
|
|
139
|
-
}
|
|
140
100
|
class Zero {
|
|
141
101
|
version = version;
|
|
142
102
|
#rep;
|
|
@@ -223,6 +183,11 @@ class Zero {
|
|
|
223
183
|
// 2. client successfully connects
|
|
224
184
|
#totalToConnectStart = void 0;
|
|
225
185
|
#options;
|
|
186
|
+
/**
|
|
187
|
+
* Query builders for each table in the schema.
|
|
188
|
+
*
|
|
189
|
+
* @deprecated Use {@linkcode createBuilder} to create query builders instead.
|
|
190
|
+
*/
|
|
226
191
|
query;
|
|
227
192
|
// TODO: Metrics needs to be rethought entirely as we're not going to
|
|
228
193
|
// send metrics to customer server.
|
|
@@ -254,7 +219,8 @@ class Zero {
|
|
|
254
219
|
message: "ZeroOptions.userID must not be empty."
|
|
255
220
|
});
|
|
256
221
|
}
|
|
257
|
-
const
|
|
222
|
+
const cacheURL = options.cacheURL ?? options.server;
|
|
223
|
+
const server = getServer(cacheURL);
|
|
258
224
|
this.#enableAnalytics = shouldEnableAnalytics(
|
|
259
225
|
server,
|
|
260
226
|
false
|
|
@@ -281,6 +247,7 @@ class Zero {
|
|
|
281
247
|
this.#onlineManager.subscribe(onOnlineChange);
|
|
282
248
|
}
|
|
283
249
|
this.#options = options;
|
|
250
|
+
this.query = createBuilder(schema);
|
|
284
251
|
this.#logOptions = this.#createLogOptions({
|
|
285
252
|
consoleLogLevel: options.logLevel ?? "warn",
|
|
286
253
|
server: null,
|
|
@@ -299,22 +266,6 @@ class Zero {
|
|
|
299
266
|
};
|
|
300
267
|
syncConnectionState(this.#connectionManager.state);
|
|
301
268
|
this.#connectionManager.subscribe(syncConnectionState);
|
|
302
|
-
const { enableLegacyMutators = true, enableLegacyQueries = true } = schema;
|
|
303
|
-
const replicacheMutators = {
|
|
304
|
-
[CRUD_MUTATION_NAME]: enableLegacyMutators ? makeCRUDMutator(schema) : () => Promise.reject(
|
|
305
|
-
new ClientError({
|
|
306
|
-
kind: Internal,
|
|
307
|
-
message: "Zero CRUD mutators are not enabled."
|
|
308
|
-
})
|
|
309
|
-
)
|
|
310
|
-
};
|
|
311
|
-
this.#ivmMain = new IVMSourceBranch(schema.tables);
|
|
312
|
-
function assertUnique(key) {
|
|
313
|
-
assert(
|
|
314
|
-
replicacheMutators[key] === void 0,
|
|
315
|
-
`A mutator, or mutator namespace, has already been defined for ${key}`
|
|
316
|
-
);
|
|
317
|
-
}
|
|
318
269
|
const sink = logOptions.logSink;
|
|
319
270
|
const lc = new LogContext(logOptions.logLevel, {}, sink);
|
|
320
271
|
this.#mutationTracker = new MutationTracker(
|
|
@@ -322,33 +273,21 @@ class Zero {
|
|
|
322
273
|
(upTo) => this.#send(["ackMutationResponses", upTo]),
|
|
323
274
|
(error) => this.#disconnect(lc, error)
|
|
324
275
|
);
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
value,
|
|
334
|
-
schema
|
|
335
|
-
);
|
|
336
|
-
} else if (typeof value === "object") {
|
|
337
|
-
processMutators(value, [...namespacePrefix, key]);
|
|
338
|
-
} else {
|
|
339
|
-
unreachable();
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
};
|
|
343
|
-
processMutators(options.mutators);
|
|
344
|
-
}
|
|
276
|
+
this.#ivmMain = new IVMSourceBranch(schema.tables);
|
|
277
|
+
const { enableLegacyQueries = true } = schema;
|
|
278
|
+
const replicacheMutators = makeReplicacheMutators(
|
|
279
|
+
schema,
|
|
280
|
+
options.mutators,
|
|
281
|
+
this.context,
|
|
282
|
+
lc
|
|
283
|
+
);
|
|
345
284
|
this.storageKey = storageKey ?? "";
|
|
346
285
|
const { clientSchema, hash } = clientSchemaFrom(schema);
|
|
347
286
|
this.#clientSchema = clientSchema;
|
|
348
287
|
const nameKey = JSON.stringify({
|
|
349
288
|
storageKey: this.storageKey,
|
|
350
289
|
mutateUrl: options.mutateURL ?? "",
|
|
351
|
-
queryUrl: options.getQueriesURL ?? ""
|
|
290
|
+
queryUrl: options.queryURL ?? options.getQueriesURL ?? ""
|
|
352
291
|
});
|
|
353
292
|
const hashedKey = h64(nameKey).toString(36);
|
|
354
293
|
const replicacheOptions = {
|
|
@@ -452,35 +391,33 @@ class Zero {
|
|
|
452
391
|
});
|
|
453
392
|
this.#onClientStateNotFound = onClientStateNotFoundCallback;
|
|
454
393
|
this.#rep.onClientStateNotFound = onClientStateNotFoundCallback;
|
|
455
|
-
const { mutate, mutateBatch } = makeCRUDMutate(schema, rep.mutate);
|
|
456
394
|
const mutatorProxy = new MutatorProxy(
|
|
457
395
|
this.#connectionManager,
|
|
458
396
|
this.#mutationTracker
|
|
459
397
|
);
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
exposeMutators(options.mutators, mutate);
|
|
398
|
+
const { mutators } = options;
|
|
399
|
+
const registeredMutators = new Set(
|
|
400
|
+
isMutatorRegistry(mutators) ? iterateMutators(mutators) : void 0
|
|
401
|
+
);
|
|
402
|
+
const callableMutate = (mr) => {
|
|
403
|
+
if (!registeredMutators.has(mr.mutator)) {
|
|
404
|
+
throw new Error(
|
|
405
|
+
`Mutator "${mr.mutator.mutatorName}" is not registered. Mutators must be registered with the Zero constructor before use.`
|
|
406
|
+
);
|
|
407
|
+
}
|
|
408
|
+
const repMutator = rep.mutate[mr.mutator.mutatorName];
|
|
409
|
+
return mutatorProxy.wrapCustomMutator(repMutator)(mr.args);
|
|
410
|
+
};
|
|
411
|
+
const mutateBatch = makeCRUDMutate(schema, rep.mutate, callableMutate);
|
|
412
|
+
if (mutators && !isMutatorRegistry(mutators)) {
|
|
413
|
+
makeMutateProperty(
|
|
414
|
+
mutators,
|
|
415
|
+
mutatorProxy,
|
|
416
|
+
callableMutate,
|
|
417
|
+
rep.mutate
|
|
418
|
+
);
|
|
482
419
|
}
|
|
483
|
-
this.mutate =
|
|
420
|
+
this.mutate = callableMutate;
|
|
484
421
|
this.mutateBatch = mutateBatch;
|
|
485
422
|
this.#queryManager = new QueryManager(
|
|
486
423
|
this.#lc,
|
|
@@ -503,12 +440,6 @@ class Zero {
|
|
|
503
440
|
this.#lc,
|
|
504
441
|
this.#rep.clientGroupID
|
|
505
442
|
);
|
|
506
|
-
this.query = registerQueries(
|
|
507
|
-
schema,
|
|
508
|
-
this.#options.queries,
|
|
509
|
-
this,
|
|
510
|
-
lc
|
|
511
|
-
);
|
|
512
443
|
reportReloadReason(this.#lc);
|
|
513
444
|
this.#metrics = new MetricManager({
|
|
514
445
|
reportIntervalMs: REPORT_INTERVAL_MS,
|
|
@@ -590,7 +521,7 @@ class Zero {
|
|
|
590
521
|
* ```
|
|
591
522
|
*/
|
|
592
523
|
preload(query, options) {
|
|
593
|
-
return this.#zeroContext.preload(query, options);
|
|
524
|
+
return this.#zeroContext.preload(query.toQuery(this.context), options);
|
|
594
525
|
}
|
|
595
526
|
/**
|
|
596
527
|
* Executes a query once and returns the results.
|
|
@@ -613,12 +544,13 @@ class Zero {
|
|
|
613
544
|
* ```
|
|
614
545
|
*/
|
|
615
546
|
run(query, runOptions) {
|
|
616
|
-
return this.#zeroContext.run(query, runOptions);
|
|
547
|
+
return this.#zeroContext.run(query.toQuery(this.context), runOptions);
|
|
617
548
|
}
|
|
618
549
|
get context() {
|
|
619
550
|
return this.#options.context;
|
|
620
551
|
}
|
|
621
552
|
materialize(query, factoryOrOptions, maybeOptions) {
|
|
553
|
+
const q = query.toQuery(this.context);
|
|
622
554
|
let factory;
|
|
623
555
|
let options;
|
|
624
556
|
if (typeof factoryOrOptions === "function") {
|
|
@@ -627,7 +559,7 @@ class Zero {
|
|
|
627
559
|
} else {
|
|
628
560
|
options = factoryOrOptions;
|
|
629
561
|
}
|
|
630
|
-
return this.#zeroContext.materialize(
|
|
562
|
+
return this.#zeroContext.materialize(q, factory, options);
|
|
631
563
|
}
|
|
632
564
|
/**
|
|
633
565
|
* The server URL that this Zero instance is configured with.
|
|
@@ -715,6 +647,8 @@ class Zero {
|
|
|
715
647
|
*
|
|
716
648
|
* `mutateBatch` is not allowed inside another `mutateBatch` call. Doing so
|
|
717
649
|
* will throw an error.
|
|
650
|
+
*
|
|
651
|
+
* @deprecated Use `zero.mutate(mutationRequest)`
|
|
718
652
|
*/
|
|
719
653
|
mutateBatch;
|
|
720
654
|
/**
|
|
@@ -1034,7 +968,7 @@ ${error.errorBody.message}`, error);
|
|
|
1034
968
|
// Henceforth it is stored with the CVR and verified automatically.
|
|
1035
969
|
...this.#connectCookie === null ? { clientSchema } : {},
|
|
1036
970
|
userPushURL: this.#options.mutateURL,
|
|
1037
|
-
userQueryURL: this.#options.getQueriesURL
|
|
971
|
+
userQueryURL: this.#options.queryURL ?? this.#options.getQueriesURL
|
|
1038
972
|
}
|
|
1039
973
|
]);
|
|
1040
974
|
this.#deletedClients = void 0;
|
|
@@ -1120,7 +1054,7 @@ ${error.errorBody.message}`, error);
|
|
|
1120
1054
|
this.#options.logLevel === "debug",
|
|
1121
1055
|
lc,
|
|
1122
1056
|
this.#options.mutateURL,
|
|
1123
|
-
this.#options.getQueriesURL,
|
|
1057
|
+
this.#options.queryURL ?? this.#options.getQueriesURL,
|
|
1124
1058
|
additionalConnectParams,
|
|
1125
1059
|
await this.#activeClientsManager,
|
|
1126
1060
|
this.#options.maxHeaderLength
|