@rocicorp/zero 0.25.0-canary.21 → 0.25.0-canary.24

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.
Files changed (81) hide show
  1. package/out/analyze-query/src/run-ast.d.ts +1 -1
  2. package/out/analyze-query/src/run-ast.d.ts.map +1 -1
  3. package/out/analyze-query/src/run-ast.js +7 -1
  4. package/out/analyze-query/src/run-ast.js.map +1 -1
  5. package/out/otel/src/log-options.d.ts +1 -1
  6. package/out/otel/src/log-options.d.ts.map +1 -1
  7. package/out/otel/src/log-options.js +0 -1
  8. package/out/otel/src/log-options.js.map +1 -1
  9. package/out/shared/src/options-types.d.ts +113 -0
  10. package/out/shared/src/options-types.d.ts.map +1 -0
  11. package/out/shared/src/options.d.ts +2 -111
  12. package/out/shared/src/options.d.ts.map +1 -1
  13. package/out/shared/src/options.js.map +1 -1
  14. package/out/zero/package.json.js +1 -1
  15. package/out/zero/src/pg.js +1 -2
  16. package/out/zero/src/server.js +1 -2
  17. package/out/zero/src/zero-cache-dev.js +11 -5
  18. package/out/zero/src/zero-cache-dev.js.map +1 -1
  19. package/out/zero/src/zero.js +0 -2
  20. package/out/zero/src/zero.js.map +1 -1
  21. package/out/zero-cache/src/auth/read-authorizer.js +1 -1
  22. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  23. package/out/zero-cache/src/auth/write-authorizer.js +1 -1
  24. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  25. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  26. package/out/zero-cache/src/config/zero-config.js +5 -3
  27. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  28. package/out/zero-cache/src/scripts/deploy-permissions.js +6 -3
  29. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  30. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  31. package/out/zero-cache/src/scripts/permissions.js +11 -13
  32. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  33. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  34. package/out/zero-cache/src/services/change-source/pg/schema/published.js +3 -2
  35. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  36. package/out/zero-client/src/client/crud.d.ts +3 -2
  37. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  38. package/out/zero-client/src/client/crud.js +7 -3
  39. package/out/zero-client/src/client/crud.js.map +1 -1
  40. package/out/zero-client/src/client/custom.d.ts +3 -2
  41. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  42. package/out/zero-client/src/client/custom.js +2 -2
  43. package/out/zero-client/src/client/custom.js.map +1 -1
  44. package/out/zero-client/src/client/make-mutate-property.d.ts +1 -1
  45. package/out/zero-client/src/client/make-mutate-property.d.ts.map +1 -1
  46. package/out/zero-client/src/client/make-mutate-property.js +2 -2
  47. package/out/zero-client/src/client/make-mutate-property.js.map +1 -1
  48. package/out/zero-client/src/client/mutator-proxy.js +6 -7
  49. package/out/zero-client/src/client/mutator-proxy.js.map +1 -1
  50. package/out/zero-client/src/client/version.js +1 -1
  51. package/out/zero-client/src/client/zero.d.ts +14 -3
  52. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  53. package/out/zero-client/src/client/zero.js +19 -6
  54. package/out/zero-client/src/client/zero.js.map +1 -1
  55. package/out/zero-client/src/mod.d.ts +3 -4
  56. package/out/zero-client/src/mod.d.ts.map +1 -1
  57. package/out/zero-schema/src/compiled-permissions.d.ts +22 -2
  58. package/out/zero-schema/src/compiled-permissions.d.ts.map +1 -1
  59. package/out/zero-schema/src/compiled-permissions.js +7 -6
  60. package/out/zero-schema/src/compiled-permissions.js.map +1 -1
  61. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  62. package/out/zero-schema/src/permissions.js.map +1 -1
  63. package/out/zero-schema/src/schema-config.d.ts +0 -5
  64. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  65. package/out/zero-schema/src/schema-config.js +1 -1
  66. package/out/zero-schema/src/schema-config.js.map +1 -1
  67. package/out/zero-server/src/custom.d.ts +5 -14
  68. package/out/zero-server/src/custom.d.ts.map +1 -1
  69. package/out/zero-server/src/custom.js +8 -18
  70. package/out/zero-server/src/custom.js.map +1 -1
  71. package/out/zql/src/mutate/crud.d.ts +3 -26
  72. package/out/zql/src/mutate/crud.d.ts.map +1 -1
  73. package/out/zql/src/mutate/crud.js +14 -26
  74. package/out/zql/src/mutate/crud.js.map +1 -1
  75. package/out/zql/src/mutate/custom.d.ts +7 -8
  76. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  77. package/out/zql/src/mutate/custom.js.map +1 -1
  78. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  79. package/out/zql/src/planner/planner-join.js +3 -1
  80. package/out/zql/src/planner/planner-join.js.map +1 -1
  81. package/package.json +4 -4
@@ -39,7 +39,7 @@ import { ConnectionManager, throwIfConnectionError } from "./connection-manager.
39
39
  import { Connected, Closed, Disconnected, Connecting, Error as Error$1, NeedsAuth } from "./connection-status-enum.js";
40
40
  import { ConnectionImpl } from "./connection.js";
41
41
  import { ZeroContext } from "./context.js";
42
- import { makeCRUDMutate } from "./crud.js";
42
+ import { makeCRUDMutateBatch, addTableCRUDProperties } from "./crud.js";
43
43
  import { DeleteClientsManager } from "./delete-clients-manager.js";
44
44
  import { shouldEnableAnalytics } from "./enable-analytics.js";
45
45
  import { ClientError, getErrorConnectionTransition, NO_STATUS_TRANSITION, isClientError, isAuthError, isServerError, getBackoffParams } from "./error.js";
@@ -47,7 +47,7 @@ import { toWSString, appendPath } from "./http-string.js";
47
47
  import { Inspector } from "./inspector/inspector.js";
48
48
  import { IVMSourceBranch } from "./ivm-branch.js";
49
49
  import { createLogOptions } from "./log-options.js";
50
- import { makeMutateProperty } from "./make-mutate-property.js";
50
+ import { addCustomMutatorsProperties } from "./make-mutate-property.js";
51
51
  import { makeReplicacheMutators } from "./make-replicache-mutators.js";
52
52
  import { MetricManager, REPORT_INTERVAL_MS, shouldReportConnectError, getLastConnectErrorValue, DID_NOT_CONNECT_VALUE } from "./metrics.js";
53
53
  import { MutationTracker } from "./mutation-tracker.js";
@@ -411,9 +411,12 @@ class Zero {
411
411
  repMutator
412
412
  )(mr.args);
413
413
  };
414
- const mutateBatch = makeCRUDMutate(schema, rep.mutate, callableMutate);
414
+ const mutateBatch = makeCRUDMutateBatch(schema, rep.mutate);
415
+ if (schema.enableLegacyMutators) {
416
+ addTableCRUDProperties(schema, callableMutate, rep.mutate);
417
+ }
415
418
  if (mutators && !isMutatorRegistry(mutators)) {
416
- makeMutateProperty(
419
+ addCustomMutatorsProperties(
417
420
  mutators,
418
421
  mutatorProxy,
419
422
  callableMutate,
@@ -623,13 +626,23 @@ class Zero {
623
626
  return this.#rep.clientGroupID;
624
627
  }
625
628
  /**
626
- * Provides simple "CRUD" mutations for the tables in the schema.
629
+ * Use to execute mutations. The primary flow is to call
630
+ * `zero.mutate(mutationRequest)` with your registered custom mutators:
631
+ *
632
+ * ```ts
633
+ * await zero.mutate(
634
+ * mutators.myMutator({id: '1', title: 'First issue'}),
635
+ * );
636
+ * ```
627
637
  *
628
- * Each table has `create`, `set`, `update`, and `delete` methods.
638
+ * When `schema.enableLegacyMutators` is true, legacy conveniences are added:
639
+ * - Table-scoped CRUD helpers, e.g. `zero.mutate.issue.create` / `set` / `update` / `delete`
640
+ * - Your custom mutators exposed directly on `zero.mutate`
629
641
  *
630
642
  * ```ts
631
643
  * await zero.mutate.issue.create({id: '1', title: 'First issue', priority: 'high'});
632
644
  * await zero.mutate.comment.create({id: '1', text: 'First comment', issueID: '1'});
645
+ * await zero.mutate.myMutator({id: '1', title: 'First issue'});
633
646
  * ```
634
647
  *
635
648
  * The `update` methods support partials. Unspecified or `undefined` fields