on-zero 0.6.13 → 0.6.15

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 (93) hide show
  1. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  2. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  3. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  4. package/dist/cjs/createZeroDirectServer.cjs +279 -0
  5. package/dist/cjs/createZeroDirectServer.native.js +292 -0
  6. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  7. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  8. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  9. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  10. package/dist/cjs/createZeroSQLiteServer.test.cjs +30 -3
  11. package/dist/cjs/createZeroSQLiteServer.test.native.js +31 -3
  12. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroServerCore.cjs +20 -205
  14. package/dist/cjs/createZeroServerCore.native.js +19 -213
  15. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  16. package/dist/cjs/generate.cjs +10 -3
  17. package/dist/cjs/generate.native.js +10 -3
  18. package/dist/cjs/generate.native.js.map +1 -1
  19. package/dist/cjs/generate.test.cjs +39 -0
  20. package/dist/cjs/generate.test.native.js +39 -0
  21. package/dist/cjs/generate.test.native.js.map +1 -1
  22. package/dist/cjs/sqliteRuntime.cjs +318 -0
  23. package/dist/cjs/sqliteRuntime.native.js +438 -0
  24. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  25. package/dist/cjs/syncHost.cjs +16 -9
  26. package/dist/cjs/syncHost.native.js +21 -12
  27. package/dist/cjs/syncHost.native.js.map +1 -1
  28. package/dist/cjs/syncHost.test.cjs +13 -2
  29. package/dist/cjs/syncHost.test.native.js +14 -2
  30. package/dist/cjs/syncHost.test.native.js.map +1 -1
  31. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  32. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  33. package/dist/esm/createZeroDirectServer.mjs +251 -0
  34. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  35. package/dist/esm/createZeroDirectServer.native.js +261 -0
  36. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  37. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  38. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  39. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  40. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  41. package/dist/esm/createZeroSQLiteServer.test.mjs +30 -3
  42. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  43. package/dist/esm/createZeroSQLiteServer.test.native.js +31 -3
  44. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  45. package/dist/esm/createZeroServerCore.mjs +18 -202
  46. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  47. package/dist/esm/createZeroServerCore.native.js +18 -211
  48. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  49. package/dist/esm/generate.mjs +10 -3
  50. package/dist/esm/generate.mjs.map +1 -1
  51. package/dist/esm/generate.native.js +10 -3
  52. package/dist/esm/generate.native.js.map +1 -1
  53. package/dist/esm/generate.test.mjs +39 -1
  54. package/dist/esm/generate.test.mjs.map +1 -1
  55. package/dist/esm/generate.test.native.js +39 -1
  56. package/dist/esm/generate.test.native.js.map +1 -1
  57. package/dist/esm/sqliteRuntime.mjs +289 -0
  58. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  59. package/dist/esm/sqliteRuntime.native.js +406 -0
  60. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  61. package/dist/esm/syncHost.mjs +14 -7
  62. package/dist/esm/syncHost.mjs.map +1 -1
  63. package/dist/esm/syncHost.native.js +19 -10
  64. package/dist/esm/syncHost.native.js.map +1 -1
  65. package/dist/esm/syncHost.test.mjs +13 -2
  66. package/dist/esm/syncHost.test.mjs.map +1 -1
  67. package/dist/esm/syncHost.test.native.js +14 -2
  68. package/dist/esm/syncHost.test.native.js.map +1 -1
  69. package/package.json +5 -6
  70. package/src/createSchemaFromDrizzle.ts +2 -2
  71. package/src/createZeroDirectServer.ts +427 -0
  72. package/src/createZeroSQLiteServer.test.ts +20 -5
  73. package/src/createZeroSQLiteServer.ts +14 -481
  74. package/src/createZeroServerCore.ts +32 -337
  75. package/src/generate.test.ts +57 -1
  76. package/src/generate.ts +23 -3
  77. package/src/sqliteRuntime.ts +512 -0
  78. package/src/syncHost.test.ts +10 -3
  79. package/src/syncHost.ts +49 -12
  80. package/test-fixtures/server-return-types.ts +8 -1
  81. package/types/createSchemaFromDrizzle.d.ts +2 -2
  82. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  83. package/types/createZeroDirectServer.d.ts +80 -0
  84. package/types/createZeroDirectServer.d.ts.map +1 -0
  85. package/types/createZeroSQLiteServer.d.ts +5 -30
  86. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  87. package/types/createZeroServerCore.d.ts +30 -87
  88. package/types/createZeroServerCore.d.ts.map +1 -1
  89. package/types/generate.d.ts.map +1 -1
  90. package/types/sqliteRuntime.d.ts +71 -0
  91. package/types/sqliteRuntime.d.ts.map +1 -0
  92. package/types/syncHost.d.ts +10 -19
  93. package/types/syncHost.d.ts.map +1 -1
@@ -22,120 +22,19 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var createZeroServerCore_exports = {};
24
24
  __export(createZeroServerCore_exports, {
25
- createZeroServerCore: () => createZeroServerCore,
26
- resolveServerQuery: () => resolveServerQuery
25
+ createZeroServerCore: () => createZeroServerCore
27
26
  });
28
27
  module.exports = __toCommonJS(createZeroServerCore_exports);
29
- var import_zero = require("@rocicorp/zero");
30
28
  var import_server = require("@rocicorp/zero/server");
31
- var import_createPermissions = require("./createPermissions.cjs");
29
+ var import_createZeroDirectServer = require("./createZeroDirectServer.cjs");
32
30
  var import_createMutators = require("./helpers/createMutators.cjs");
33
31
  var import_mutatorContext = require("./helpers/mutatorContext.cjs");
34
32
  var import_queryContext = require("./helpers/queryContext.cjs");
35
- var import_modelRegistry = require("./modelRegistry.cjs");
36
- var import_run = require("./run.cjs");
37
- var import_state = require("./state.cjs");
38
- var import_where = require("./where.cjs");
39
- var import_zeroRunner = require("./zeroRunner.cjs");
40
- function resolveServerQuery({
41
- authData,
42
- name,
43
- args,
44
- queries,
45
- permissions,
46
- validateQuery
47
- }) {
48
- if (name.startsWith("permission.")) {
49
- const table = name.slice("permission.".length);
50
- const {
51
- objOrId
52
- } = args;
53
- const permission = (0, import_modelRegistry.getMutationsPermissions)(table);
54
- if (!permission) {
55
- throw new Error(`[permission] no permission defined for table: ${table}`);
56
- }
57
- (0, import_where.setEvaluatingPermission)(true);
58
- try {
59
- return (0, import_state.getZQL)()[table].where(eb => {
60
- return permissions.buildPermissionQuery(authData, eb, permission, objOrId, table);
61
- }).one();
62
- } finally {
63
- (0, import_where.setEvaluatingPermission)(false);
64
- }
65
- }
66
- if (validateQuery) {
67
- validateQuery({
68
- authData,
69
- queryName: name,
70
- params: args
71
- });
72
- }
73
- const query = (0, import_zero.mustGetQuery)(queries, name);
74
- return query.fn({
75
- args,
76
- ctx: authData
77
- });
78
- }
79
- function createAsyncTaskCollector() {
80
- const committed = [];
81
- let attempt;
82
- let completedAttempt;
83
- const current = () => attempt ?? committed;
84
- const queue = new Proxy([], {
85
- deleteProperty(_target, property) {
86
- return Reflect.deleteProperty(current(), property);
87
- },
88
- get(_target, property) {
89
- const target = current();
90
- const value = Reflect.get(target, property, target);
91
- return typeof value === "function" ? value.bind(target) : value;
92
- },
93
- getOwnPropertyDescriptor(_target, property) {
94
- return Reflect.getOwnPropertyDescriptor(current(), property);
95
- },
96
- has(_target, property) {
97
- return Reflect.has(current(), property);
98
- },
99
- ownKeys() {
100
- return Reflect.ownKeys(current());
101
- },
102
- set(_target, property, value) {
103
- return Reflect.set(current(), property, value);
104
- }
105
- });
106
- const lifecycle = {
107
- beginAttempt() {
108
- attempt = [];
109
- completedAttempt = void 0;
110
- },
111
- completeAttempt() {
112
- completedAttempt = attempt;
113
- attempt = void 0;
114
- },
115
- rollbackAttempt() {
116
- attempt = void 0;
117
- completedAttempt = void 0;
118
- },
119
- commitTransaction() {
120
- if (completedAttempt) committed.push(...completedAttempt);
121
- completedAttempt = void 0;
122
- },
123
- rollbackTransaction() {
124
- attempt = void 0;
125
- completedAttempt = void 0;
126
- }
127
- };
128
- return {
129
- committed,
130
- lifecycle,
131
- queue
132
- };
133
- }
134
33
  function createZeroServerCore({
135
34
  createDatabase,
136
35
  createServerActions,
137
36
  defaultAllowAdminRole = "all",
138
- defaultMutateAuthData = {},
37
+ defaultMutateAuthData,
139
38
  models,
140
39
  mutations: mutationValidators,
141
40
  persistAlreadyProcessed,
@@ -144,19 +43,27 @@ function createZeroServerCore({
144
43
  validateMutation,
145
44
  validateQuery
146
45
  }) {
147
- (0, import_state.setSchema)(schema);
148
- (0, import_state.setEnvironment)("server");
149
- const permissions = (0, import_createPermissions.createPermissions)({
150
- environment: "server",
46
+ const {
47
+ permissions,
48
+ server
49
+ } = (0, import_createZeroDirectServer.createZeroDirectServerRuntime)({
50
+ createDatabase,
51
+ createServerActions,
52
+ defaultAllowAdminRole,
53
+ defaultMutateAuthData,
54
+ models,
55
+ mutations: mutationValidators,
56
+ queries,
151
57
  schema,
152
- adminRoleMode: defaultAllowAdminRole
58
+ validateMutation,
59
+ validateQuery
153
60
  });
154
61
  const handleMutationRequest = async ({
155
62
  authData,
156
63
  request,
157
64
  skipAsyncTasks
158
65
  }) => {
159
- const tasks = createAsyncTaskCollector();
66
+ const tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
160
67
  const recoveryRequest = request.clone();
161
68
  const mutators = (0, import_createMutators.createMutators)({
162
69
  asyncTasks: tasks.queue,
@@ -191,7 +98,7 @@ function createZeroServerCore({
191
98
  if (!queries) {
192
99
  throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
193
100
  }
194
- const handler = (name, args) => resolveServerQuery({
101
+ const handler = (name, args) => (0, import_createZeroDirectServer.resolveServerQuery)({
195
102
  authData,
196
103
  name,
197
104
  args,
@@ -214,96 +121,10 @@ function createZeroServerCore({
214
121
  response
215
122
  };
216
123
  };
217
- async function runTransaction(database, query2) {
218
- try {
219
- if ((0, import_mutatorContext.isInZeroMutation)()) {
220
- const {
221
- tx
222
- } = (0, import_mutatorContext.mutatorContext)();
223
- return await query2(tx);
224
- }
225
- return await database.transaction(query2, dummyTransactionInput);
226
- } catch (err) {
227
- if (err?.name !== "PermissionError") {
228
- console.error(`Error running transaction(): ${err}`);
229
- }
230
- throw err;
231
- }
232
- }
233
- async function transaction(query2) {
234
- return runTransaction(createDatabase(), query2);
235
- }
236
- async function runMutate(modelName, mutatorName, mutatorArg, options) {
237
- let authData = options?.authData;
238
- if (!authData) {
239
- const scoped = (0, import_mutatorContext.getScopedAuthData)();
240
- if (scoped) authData = scoped;
241
- }
242
- const tasks = createAsyncTaskCollector();
243
- const mutators = (0, import_createMutators.createMutators)({
244
- models,
245
- environment: "server",
246
- asyncTasks: tasks.queue,
247
- authData: {
248
- ...defaultMutateAuthData,
249
- ...authData
250
- },
251
- createServerActions,
252
- can: permissions.can,
253
- validateMutation,
254
- mutationValidators
255
- });
256
- const modelMutators = mutators[modelName];
257
- const mutator = modelMutators[mutatorName];
258
- await runTransaction(withTransactionLifecycle(createDatabase(), tasks.lifecycle), async tx => {
259
- await mutator(tx, mutatorArg);
260
- });
261
- if (tasks.committed.length) {
262
- const resolvedAuth = authData ?? null;
263
- const promise = Promise.all(tasks.committed.map(task => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, task)));
264
- if (options?.awaitEffects) {
265
- await promise;
266
- } else {
267
- promise.catch(err => {
268
- console.error("[mutate] async tasks failed", err);
269
- });
270
- }
271
- }
272
- }
273
- const mutate = new Proxy({}, {
274
- get(_, modelName) {
275
- return new Proxy({}, {
276
- get(_2, mutatorName) {
277
- return (arg, options) => runMutate(modelName, mutatorName, arg, options);
278
- }
279
- });
280
- }
281
- });
282
- function query(cb, authData) {
283
- const run = () => transaction(async tx => {
284
- return tx.run(cb((0, import_state.getZQL)()));
285
- });
286
- if (authData !== void 0) {
287
- return (0, import_queryContext.runWithQueryContext)({
288
- authData
289
- }, run);
290
- }
291
- return run();
292
- }
293
- if (queries) {
294
- (0, import_run.setCustomQueries)(queries);
295
- }
296
- (0, import_zeroRunner.setRunner)(queryObj => {
297
- return transaction(async tx => {
298
- return tx.run(queryObj);
299
- });
300
- });
301
124
  return {
302
125
  handleMutationRequest,
303
126
  handleQueryRequest,
304
- transaction,
305
- mutate,
306
- query
127
+ ...server
307
128
  };
308
129
  }
309
130
  function withTransactionLifecycle(database, lifecycle) {
@@ -353,10 +174,4 @@ function alreadyProcessedMutations(response) {
353
174
  const result = mutation.result;
354
175
  return !!id && typeof id === "object" && typeof id.clientID === "string" && typeof id.id === "number" && !!result && typeof result === "object" && result.error === "alreadyProcessed";
355
176
  });
356
- }
357
- const dummyTransactionInput = {
358
- clientGroupID: "unused",
359
- clientID: "unused",
360
- mutationID: 42,
361
- upstreamSchema: "unused"
362
- };
177
+ }
@@ -24,129 +24,25 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var createZeroServerCore_exports = {};
26
26
  __export(createZeroServerCore_exports, {
27
- createZeroServerCore: () => createZeroServerCore,
28
- resolveServerQuery: () => resolveServerQuery
27
+ createZeroServerCore: () => createZeroServerCore
29
28
  });
30
29
  module.exports = __toCommonJS(createZeroServerCore_exports);
31
- var import_zero = require("@rocicorp/zero");
32
30
  var import_server = require("@rocicorp/zero/server");
33
- var import_createPermissions = require("./createPermissions.native.js");
31
+ var import_createZeroDirectServer = require("./createZeroDirectServer.native.js");
34
32
  var import_createMutators = require("./helpers/createMutators.native.js");
35
33
  var import_mutatorContext = require("./helpers/mutatorContext.native.js");
36
34
  var import_queryContext = require("./helpers/queryContext.native.js");
37
- var import_modelRegistry = require("./modelRegistry.native.js");
38
- var import_run = require("./run.native.js");
39
- var import_state = require("./state.native.js");
40
- var import_where = require("./where.native.js");
41
- var import_zeroRunner = require("./zeroRunner.native.js");
42
35
  function _type_of(obj) {
43
36
  "@swc/helpers - typeof";
44
37
 
45
38
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
46
39
  }
47
- function resolveServerQuery(param) {
48
- var {
49
- authData,
50
- name,
51
- args,
52
- queries,
53
- permissions,
54
- validateQuery
55
- } = param;
56
- if (name.startsWith("permission.")) {
57
- var table = name.slice("permission.".length);
58
- var {
59
- objOrId
60
- } = args;
61
- var permission = (0, import_modelRegistry.getMutationsPermissions)(table);
62
- if (!permission) {
63
- throw new Error(`[permission] no permission defined for table: ${table}`);
64
- }
65
- (0, import_where.setEvaluatingPermission)(true);
66
- try {
67
- return (0, import_state.getZQL)()[table].where(function (eb) {
68
- return permissions.buildPermissionQuery(authData, eb, permission, objOrId, table);
69
- }).one();
70
- } finally {
71
- (0, import_where.setEvaluatingPermission)(false);
72
- }
73
- }
74
- if (validateQuery) {
75
- validateQuery({
76
- authData,
77
- queryName: name,
78
- params: args
79
- });
80
- }
81
- var query = (0, import_zero.mustGetQuery)(queries, name);
82
- return query.fn({
83
- args,
84
- ctx: authData
85
- });
86
- }
87
- function createAsyncTaskCollector() {
88
- var committed = [];
89
- var attempt;
90
- var completedAttempt;
91
- var current = function () {
92
- return attempt !== null && attempt !== void 0 ? attempt : committed;
93
- };
94
- var queue = new Proxy([], {
95
- deleteProperty(_target, property) {
96
- return Reflect.deleteProperty(current(), property);
97
- },
98
- get(_target, property) {
99
- var target = current();
100
- var value = Reflect.get(target, property, target);
101
- return typeof value === "function" ? value.bind(target) : value;
102
- },
103
- getOwnPropertyDescriptor(_target, property) {
104
- return Reflect.getOwnPropertyDescriptor(current(), property);
105
- },
106
- has(_target, property) {
107
- return Reflect.has(current(), property);
108
- },
109
- ownKeys() {
110
- return Reflect.ownKeys(current());
111
- },
112
- set(_target, property, value) {
113
- return Reflect.set(current(), property, value);
114
- }
115
- });
116
- var lifecycle = {
117
- beginAttempt() {
118
- attempt = [];
119
- completedAttempt = void 0;
120
- },
121
- completeAttempt() {
122
- completedAttempt = attempt;
123
- attempt = void 0;
124
- },
125
- rollbackAttempt() {
126
- attempt = void 0;
127
- completedAttempt = void 0;
128
- },
129
- commitTransaction() {
130
- if (completedAttempt) committed.push(...completedAttempt);
131
- completedAttempt = void 0;
132
- },
133
- rollbackTransaction() {
134
- attempt = void 0;
135
- completedAttempt = void 0;
136
- }
137
- };
138
- return {
139
- committed,
140
- lifecycle,
141
- queue
142
- };
143
- }
144
40
  function createZeroServerCore(param) {
145
41
  var {
146
42
  createDatabase,
147
43
  createServerActions,
148
44
  defaultAllowAdminRole = "all",
149
- defaultMutateAuthData = {},
45
+ defaultMutateAuthData,
150
46
  models,
151
47
  mutations: mutationValidators,
152
48
  persistAlreadyProcessed,
@@ -155,12 +51,20 @@ function createZeroServerCore(param) {
155
51
  validateMutation,
156
52
  validateQuery
157
53
  } = param;
158
- (0, import_state.setSchema)(schema);
159
- (0, import_state.setEnvironment)("server");
160
- var permissions = (0, import_createPermissions.createPermissions)({
161
- environment: "server",
54
+ var {
55
+ permissions,
56
+ server
57
+ } = (0, import_createZeroDirectServer.createZeroDirectServerRuntime)({
58
+ createDatabase,
59
+ createServerActions,
60
+ defaultAllowAdminRole,
61
+ defaultMutateAuthData,
62
+ models,
63
+ mutations: mutationValidators,
64
+ queries,
162
65
  schema,
163
- adminRoleMode: defaultAllowAdminRole
66
+ validateMutation,
67
+ validateQuery
164
68
  });
165
69
  var handleMutationRequest = async function (param2) {
166
70
  var {
@@ -168,7 +72,7 @@ function createZeroServerCore(param) {
168
72
  request,
169
73
  skipAsyncTasks
170
74
  } = param2;
171
- var tasks = createAsyncTaskCollector();
75
+ var tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
172
76
  var recoveryRequest = request.clone();
173
77
  var mutators = (0, import_createMutators.createMutators)({
174
78
  asyncTasks: tasks.queue,
@@ -207,7 +111,7 @@ function createZeroServerCore(param) {
207
111
  throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
208
112
  }
209
113
  var handler = function (name, args) {
210
- return resolveServerQuery({
114
+ return (0, import_createZeroDirectServer.resolveServerQuery)({
211
115
  authData,
212
116
  name,
213
117
  args,
@@ -234,102 +138,10 @@ function createZeroServerCore(param) {
234
138
  response
235
139
  };
236
140
  };
237
- async function runTransaction(database, query2) {
238
- try {
239
- if ((0, import_mutatorContext.isInZeroMutation)()) {
240
- var {
241
- tx
242
- } = (0, import_mutatorContext.mutatorContext)();
243
- return await query2(tx);
244
- }
245
- return await database.transaction(query2, dummyTransactionInput);
246
- } catch (err) {
247
- if ((err === null || err === void 0 ? void 0 : err.name) !== "PermissionError") {
248
- console.error(`Error running transaction(): ${err}`);
249
- }
250
- throw err;
251
- }
252
- }
253
- async function transaction(query2) {
254
- return runTransaction(createDatabase(), query2);
255
- }
256
- async function runMutate(modelName, mutatorName, mutatorArg, options) {
257
- var authData = options === null || options === void 0 ? void 0 : options.authData;
258
- if (!authData) {
259
- var scoped = (0, import_mutatorContext.getScopedAuthData)();
260
- if (scoped) authData = scoped;
261
- }
262
- var tasks = createAsyncTaskCollector();
263
- var mutators = (0, import_createMutators.createMutators)({
264
- models,
265
- environment: "server",
266
- asyncTasks: tasks.queue,
267
- authData: {
268
- ...defaultMutateAuthData,
269
- ...authData
270
- },
271
- createServerActions,
272
- can: permissions.can,
273
- validateMutation,
274
- mutationValidators
275
- });
276
- var modelMutators = mutators[modelName];
277
- var mutator = modelMutators[mutatorName];
278
- await runTransaction(withTransactionLifecycle(createDatabase(), tasks.lifecycle), async function (tx) {
279
- await mutator(tx, mutatorArg);
280
- });
281
- if (tasks.committed.length) {
282
- var resolvedAuth = authData !== null && authData !== void 0 ? authData : null;
283
- var promise = Promise.all(tasks.committed.map(function (task) {
284
- return (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, task);
285
- }));
286
- if (options === null || options === void 0 ? void 0 : options.awaitEffects) {
287
- await promise;
288
- } else {
289
- promise.catch(function (err) {
290
- console.error("[mutate] async tasks failed", err);
291
- });
292
- }
293
- }
294
- }
295
- var mutate = new Proxy({}, {
296
- get(_, modelName) {
297
- return new Proxy({}, {
298
- get(_2, mutatorName) {
299
- return function (arg, options) {
300
- return runMutate(modelName, mutatorName, arg, options);
301
- };
302
- }
303
- });
304
- }
305
- });
306
- function query(cb, authData) {
307
- var run = function () {
308
- return transaction(async function (tx) {
309
- return tx.run(cb((0, import_state.getZQL)()));
310
- });
311
- };
312
- if (authData !== void 0) {
313
- return (0, import_queryContext.runWithQueryContext)({
314
- authData
315
- }, run);
316
- }
317
- return run();
318
- }
319
- if (queries) {
320
- (0, import_run.setCustomQueries)(queries);
321
- }
322
- (0, import_zeroRunner.setRunner)(function (queryObj) {
323
- return transaction(async function (tx) {
324
- return tx.run(queryObj);
325
- });
326
- });
327
141
  return {
328
142
  handleMutationRequest,
329
143
  handleQueryRequest,
330
- transaction,
331
- mutate,
332
- query
144
+ ...server
333
145
  };
334
146
  }
335
147
  function withTransactionLifecycle(database, lifecycle) {
@@ -380,10 +192,4 @@ function alreadyProcessedMutations(response) {
380
192
  return !!id && (typeof id === "undefined" ? "undefined" : _type_of(id)) === "object" && typeof id.clientID === "string" && typeof id.id === "number" && !!result && (typeof result === "undefined" ? "undefined" : _type_of(result)) === "object" && result.error === "alreadyProcessed";
381
193
  });
382
194
  }
383
- var dummyTransactionInput = {
384
- clientGroupID: "unused",
385
- clientID: "unused",
386
- mutationID: 42,
387
- upstreamSchema: "unused"
388
- };
389
195
  //# sourceMappingURL=createZeroServerCore.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","resolveServerQuery","module","exports","import_zero","require","import_server","import_createPermissions","import_createMutators","import_mutatorContext","import_queryContext","import_modelRegistry","import_run","import_state","import_where","import_zeroRunner","_type_of","obj","Symbol","constructor","param","authData","name","args","queries","permissions","validateQuery","startsWith","table","slice","length","objOrId","permission","getMutationsPermissions","Error","setEvaluatingPermission","getZQL","where","eb","buildPermissionQuery","one","queryName","params","query","mustGetQuery","fn","ctx","createAsyncTaskCollector","committed","attempt","completedAttempt","current","queue","Proxy","deleteProperty","_target","property","Reflect","get","target","bind","getOwnPropertyDescriptor","has","ownKeys","set","lifecycle","beginAttempt","completeAttempt","rollbackAttempt","commitTransaction","push","rollbackTransaction","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","schema","validateMutation","setSchema","setEnvironment","createPermissions","environment","adminRoleMode","handleMutationRequest","param2","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","createMutators","asyncTasks","can","processor","PushProcessor","withTransactionLifecycle","response","process","parsed","parseAlreadyProcessed","Promise","all","map","task","runWithAuthScope","catch","err","console","error","handleQueryRequest","handler","userID","id","runWithQueryContext","runTransaction","database","query2","isInZeroMutation","tx","mutatorContext","transaction","dummyTransactionInput","runMutate","modelName","mutatorName","mutatorArg","options","scoped","getScopedAuthData","modelMutators","mutator","resolvedAuth","promise","awaitEffects","mutate","_","_2","arg","cb","run","setCustomQueries","setRunner","queryObj","callback","input","hooks","result","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","body","json","clientGroupID","Array","isArray","filter","mutation","clientID","mutationID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,4BAAA;AAAAC,QAAA,CAAAD,4BAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAA6B,CAAAK,4BAAA;AAC7B,IAAAM,WAAA,GAAAC,OAGO;AAEP,IAAAC,aAAA,GAAAD,OAAA,wBAAkC;AAClC,IAAAE,wBAA+B,GAAAF,OAAA;AAC/B,IAAAG,qBAAA,GAKOH,OAAA;AACP,IAAAI,qBAAA,GAAoCJ,OAAA;AACpC,IAAAK,mBAAA,GAAAL,OAAwC;AACxC,IAAAM,oBAAiC,GAAAN,OAAA;AACjC,IAAAO,UAAA,GAAAP,OAAkD;AAClD,IAAAQ,YAAA,GAAwCR,OAAA;AACxC,IAAAS,YAAA,GAAAT,OAA0B;AA6EnB,IAAAU,iBAAS,GAAAV,OAAmB;AAAA,SACjCW,SAAAC,GAAA;EACA;;EACA,OAAAA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AACA,SACAhB,mBAAAmB,KAAA;EACA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,IAAA;IAAAC,OAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAN,KAAA;EACF,IAA+BE,IAAA,CAAAK,UAAA;IAC7B,IAAIC,KAAK,GAAAN,IAAA,CAAAO,KAAW,cAAgB,CAAAC,MAAA;IAClC;MAAMC;IAAQ,IAAAR,IAAK;IACnB,IAAAS,UAAQ,GAAQ,IAAIrB,oBAAA,CAAAsB,uBAAA,EAAAL,KAAA;IAGpB,KAAAI,UAAM;MACN,MAAK,IAAAE,KAAY,kDAAAN,KAAA;IACf;IACF,IAAAd,YAAA,CAAAqB,uBAAA;IACA;MACA,OAAI,IAAAtB,YAAA,CAAAuB,MAAA,IAAAR,KAAA,EAAAS,KAAA,WAAAC,EAAA;QACF,OAAAb,WAAQ,CAAAc,oBACL,CAAAlB,QAAO,EAAAiB,EAAA,EAAYN,UAAA,EAAAD,OAAA,EAAAH,KAAA;MAClB,GAAAY,GAAA;IAAmB,UACjB;MAAA,IACA1B,YAAA,CAAAqB,uBAAA;IAAA;EACA;EACA,IAAAT,aACA;IAAAA,aACF;MACFL,QACK;MACToB,SAAE,EAAAnB,IAAA;MACAoB,MAAA,EAAAnB;IACF;EACF;EAEA,IAAIoB,KAAA,OAAAvC,WAAe,CAAAwC,YAAA,EAAApB,OAAA,EAAAF,IAAA;EACjB,OAAAqB,KAAA,CAAAE,EAAA,CAAc;IAChBtB,IAAA;IAEAuB,GAAA,EAAMzB;EACN;AACF;AAgDA,SAAS0B,yBAAA,EAA2B;EAClC,IAAAC,SAAM,KAA2B;EACjC,IAAIC,OAAA;EACJ,IAAIC,gBAAA;EACJ,IAAAC,OAAM,YAAAA,CAAA,EAAgB;IACtB,OAAMF,OAAQ,KAAI,IAAO,IAAoBA,OAAA,cAAAA,OAAA,GAAAD,SAAA;EAAA;EAEzC,IAAAI,KAAA,GAAO,IAAAC,KAAQ;IACjBC,eAAAC,OAAA,EAAAC,QAAA;MACA,OAAIC,OAAS,CAAAH,cAAU,CAAAH,OAAA,IAAAK,QAAA;IACrB;IACAE,IAAAH,OAAM,EAAAC,QAAQ;MACd,IAAAG,MAAO,GAAAR,OAAO;MAChB,IAAAtD,KAAA,GAAA4D,OAAA,CAAAC,GAAA,CAAAC,MAAA,EAAAH,QAAA,EAAAG,MAAA;MACA,cAAA9D,KAAA,KAAyB,UAAS,GAAAA,KAAU,CAAA+D,IAAA,CAAAD,MAAA,IAAA9D,KAAA;IAC1C;IACFgE,yBAAAN,OAAA,EAAAC,QAAA;MACA,OAAIC,OAAS,CAAAI,wBAAU,CAAAV,OAAA,IAAAK,QAAA;IACrB;IACFM,IAAAP,OAAA,EAAAC,QAAA;MACA,OAAAC,OAAU,CAAAK,GAAA,CAAAX,OAAA,IAAAK,QAAA;IACR;IACFO,QAAA;MACA,OAAIN,OAAS,CAAAM,OAAU,CAAAZ,OAAO;IAC5B;IACFa,IAAAT,OAAA,EAAAC,QAAA,EAAA3D,KAAA;MACD,OAAA4D,OAAA,CAAAO,GAAA,CAAAb,OAAA,IAAAK,QAAA,EAAA3D,KAAA;IAED;EAA+C,EAC7C;EACE,IAAAoE,SAAA,GAAW;IACXC,aAAA;MACFjB,OAAA;MACAC,gBAAkB;IAChB;IACAiB,eAAUA,CAAA;MACZjB,gBAAA,GAAAD,OAAA;MACAA,OAAA,SAAkB;IAChB;IACAmB,gBAAA;MACFnB,OAAA;MACAC,gBAAA,GAAoB;IAClB;IACAmB,kBAAA;MACF,IAAAnB,gBAAA,EAAAF,SAAA,CAAAsB,IAAA,IAAApB,gBAAA;MACAA,gBAAA,QAAsB;IACpB;IACAqB,oBAAA,EAAmB;MACrBtB,OAAA;MACFC,gBAAA;IAEA;EACF;EAEO,OAAS;IAKdF,SAAA;IACAiB,SAAA;IACAb;EACA;AAAyB;AACzB,SACApD,oBAAWA,CAAAoB,KAAA;EACX;IAAAoD,cAAA;IAAAC,mBAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,MAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,uBAAA;IAAAvD,OAAA;IAAAwD,MAAA;IAAAC,gBAAA;IAAAvD;EAAA,IAAAN,KAAA;EACA,IAAAP,YAAA,CAAAqE,SAAA,EAAAF,MAAA;EACA,IAAAnE,YAAA,CAAAsE,cAAA;EACA,IAAA1D,WAAA,OAAAlB,wBAAA,CAAA6E,iBAAA;IACAC,WAAA;IACuDL,MAAA;IACvDM,aAAA,EAAAZ;EACA;EAEA,IAAAa,qBAAoB,kBAAAA,CAAAC,MAAA;IAClB;MAAAnE,QAAa;MAAAoE,OAAA;MAAAC;IAAA,IAAAF,MAAA;IACb,IAAAG,KAAA,GAAA5C,wBAAA;IACA,IAAA6C,eAAe,GAAAH,OAAA,CAAAI,KAAA;IAChB,IAAAC,QAAA,OAAAtF,qBAAA,CAAAuF,cAAA;MAEDC,UAAM,EAAAL,KAAA,CAAAvC,KAAA;MACJ6C,GAAA,EAAAxE,WAAA,CAAAwE,GAAA;MACAxB,mBAAA;MACAY,WAAA;MACFT,MAIM;MACJvD,QAAM;MACN4D,gBAAM;MACNH;IAAgC,EAC9B;IAAkB,IAClBoB,SAAK,OAAY5F,aAAA,CAAA6F,aAAA,CAAAC,wBAAA,CAAA5B,cAAA,IAAAmB,KAAA,CAAA1B,SAAA;IAAA,IACjBoC,QAAA,SAAAH,SAAA,CAAAI,OAAA,CAAAR,QAAA,EAAAL,OAAA;IAAA,IACAV,uBAAa;MACb,IAAAwB,MAAA,SAAAC,qBAAA,CAAAZ,eAAA,EAAAS,QAAA;MACA,IAAAE,MAAA,QAAAxB,uBAAA,CAAAwB,MAAA;IAAA;IACA,IACA,CAAAb,cAAA,IAAAC,KAAA,CAAA3C,SAAA,CAAAlB,MAAA;MACD2E,OAAA,CAAAC,GAAA,CAAAf,KAAA,CAAA3C,SAAA,CAAA2D,GAAA,WAAAC,IAAA;QACD,OAAM,IAAAnG,qBAAgB,CAAAoG,gBAAA,EAAAxF,QAAA,EAAAuF,IAAA;MACpB,IAAAE,KAAA,WAAAC,GAAA;QACFC,OAAA,CAAAC,KAAA,8BAAAF,GAAA;MACA;IAEA;IACE;MACAV,QAAI;MACNL,UAAA,EAAAL,KAAA,CAAA3C;IAEA;EACE;EAA6E,IAAAkE,kBACzD,kBAAAA,CAAA1B,MAAA;IAChB;MAAAnE,QAAQ;MAAAoE;IAAM,IAAAD,MAAA;IAAgC,IAChD,CAAAhE,OAAA;MACF,UAAAU,KAAA;IACF;IAEA,IAAAiF,OAAO,YAAAA,CAAA7F,IAAA,EAAAC,IAAA;MACL,OAAAtB,kBAAA;QACAoB,QAAA;QACFC,IAAA;QACFC,IAAA;QAEMC,OAAA;QACJC,WAAA;QACAC;MACF,EAGM;IACJ;IACE,IAAA0F,MAAM,GAAI,QAAA/F,QAAA,aAAAA,QAAA,uBAAAA,QAAA,CAAAgG,EAAA,iBAAAhG,QAAA,CAAAgG,EAAA;IAAA,IACRhB,QAAA,aAAA3F,mBAAA,CAAA4G,mBAAA;MAEFjG,QAAA,EAAAA,QAAA;IACF;MAEA;QAEI;QACA+F,MAAA,kBAAA9G,aAAA,CAAA4G,kBAAA,EAAAC,OAAA,EAAAnC,MAAA,EAAAS,OAAA,QAAAnF,aAAA,CAAA4G,kBAAA;UACAC,OAAA;UACAnC,MAAA;UACAS,OAAA;UACA2B;QACD;MAAA;IAGH;IAAuB,OACnB;MACFf;IAAA;EAAA;EAIiE,eAAAkB,eAAAC,QAAA,EAAAC,MAAA;IACnE;MAEA,KAAO,GAAAhH,qBAAA,CAAAiH,gBAAA;QACL;UAAAC;QAAA,QAAAlH,qBAAA,CAAAmH,cAAA;QACF,aAAAH,MAAA,CAAAE,EAAA;MACF;MAEA,aAAeH,QAAA,CAAAK,WAGb,CAAAJ,MAA8B,EAAAK,qBAA6B;IAC3D,SAAIf,GAAA;MACF,KAAAA,GAAI,aAAAA,GAAA,uBAAAA,GAAiB,CAAGzF,IAAA;QACtB0F,OAAM,CAAEC,KAAG,iCAAIF,GAAA;MACf;MACF,MAAAA,GAAA;IACA;EAA+D;EAE/D,eAAkBc,WAASA,CAAAJ,MAAA;IACzB,OAAAF,cAAc,CAAA/C,cAAA,IAAAiD,MAAA;EAAqC;EAErD,eAAMM,UAAAC,SAAA,EAAAC,WAAA,EAAAC,UAAA,EAAAC,OAAA;IACR,IAAA9G,QAAA,GAAA8G,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAA9G,QAAA;IACF,KAAAA,QAAA;MAEA,IAAA+G,MAAA,GAAe,IAAA3H,qBAGgB,CAAA4H,iBAAA;MAC7B,IAAAD,MAAO,EAAA/G,QAAe,GAAA+G,MAAA;IACxB;IAEA,IAAAzC,KAAA,GAAA5C,wBAEE;IAIA,IAAI+C,QAAA,GAAW,IAAAtF,qBAAS,CAAAuF,cAAA;MACxBnB,MAAK;MACHS,WAAM,UAAS;MACfW,UAAI,EAAQL,KAAA,CAAAvC,KAAW;MACzB/B,QAAA;QAEA,GAAMsD,qBAAQ;QACd,GAAMtD;MACJ;MACAoD,mBAAa;MACbwB,GAAA,EAAAxE,WAAY,CAAAwE,GAAM;MAClBhB,gBAAU;MAAAH;IACL;IACA,IACLwD,aAAA,GAAAxC,QAAA,CAAAkC,SAAA;IAAA,IACAO,OAAA,GAAAD,aAAA,CAAAL,WAAA;IAAA,MACAV,cAAiB,CAAAnB,wBAAA,CAAA5B,cAAA,IAAAmB,KAAA,CAAA1B,SAAA,mBAAA0D,EAAA;MACjB,MAAAY,OAAA,CAAAZ,EAAA,EAAAO,UAAA;IAAA,EACA;IACF,IAACvC,KAAA,CAAA3C,SAAA,CAAAlB,MAAA;MACD,IAAM0G,YAAA,GAAAnH,QAAgB,KAAS,QAAkCA,QAAA,cAAAA,QAAA;MAIjE,IAAMoH,OAAA,GAAUhC,OAAA,CAAAC,GAAA,CAAAf,KAAc,CAAA3C,SAAW,CAAA2D,GAAA,WAAAC,IAAA;QAEzC,OAAM,IAAAnG,qBAAA,CAAAoG,gBAAA,EAAA2B,YAAA,EAAA5B,IAAA;MACJ;MACA,IAAAuB,OAAO,KAAO,QAAAA,OAAA,uBAAAA,OAAA,CAAAO,YAAA;QACZ,MAAMD,OAAA;MACR;QACFA,OAAA,CAAA3B,KAAA,WAAAC,GAAA;UAEIC,OAAM,CAAAC,KAAA,CAAU,6BAAQ,EAAAF,GAAA;QAC1B;MACA;IAAwB;EAC4C;EAEpE,IAAA4B,MAAI,OAAStF,KAAA;IACXK,IAAAkF,CAAA,EAAAZ,SAAM;MACR,OAAO,IAAA3E,KAAA;QACLK,IAAAmF,EAAA,EAAQZ,WAAO;UACb,iBAAca,GAAA,EAAAX,OAAA;YACf,OAAAJ,SAAA,CAAAC,SAAA,EAAAC,WAAA,EAAAa,GAAA,EAAAX,OAAA;UACH;QACF;MACF;IAEA;EAAqD,EACnD;EACE,SAAAxF,KAAOA,CAAIoG,EAAA,EAAA1H,QAAA;IAAA,IACT2H,GAAC,YAAAA,CAAA;MAAA,OACDnB,WAAA,iBAAAF,EAAA;QAAA,OACMA,EAAA,CAAGqB,GAAA,CAAAD,EAAA,KAAAlI,YAAqB,CAAAuB,MAAA;MAC1B;IACgD;IAClD,IACFf,QAAA;MACF,WAAAX,mBAAA,CAAA4G,mBAAA;QACFjG;MACD,GAAA2H,GAAA;IAED;IAIE,OAAMA,GAAA,EAAM;EAER;EAA0B,IAC3BxH,OAAA;IAEH,IAAIZ,UAAA,CAAAqI,gBAAwB,EAAAzH,OAAA;EAC1B;EAA4C,EAC9C,EAAAT,iBAAA,CAAAmI,SAAA,YAAAC,QAAA;IACA,OAAOtB,WAAI,iBAAAF,EAAA;MACb,OAAAA,EAAA,CAAAqB,GAAA,CAAAG,QAAA;IAEA,EAAI;EACF;EACF;IAEA5D,qBAAA;IACE2B,kBAAO;IACLW,WAAO;IACTc,MAAC;IACFhG;EAED;AAAO;AACL,SACAyD,yBAAAoB,QAAA,EAAAvD,SAAA;EAAA,OACA;IACA,MAAA4D,YAAAuB,QAAA,EAAAC,KAAA;MACA;QACF,IAAAxJ,KAAA,SAAA2H,QAAA,CAAAK,WAAA,iBAAAF,EAAA,EAAA2B,KAAA;UACFrF,SAAA,CAAAC,YAAA;UAQS;YAIA,IAAAqF,MAAA,SAAAH,QAAA,CAAAzB,EAAA,EAAA2B,KAAA;YACCrF,SAAA,CAAYE,eAAU,EAAO;YAC7B,OAAAoF,MAAA;UACF,SAAMtC,KAAQ;YACZhD,SAAU,CAAAG,eAAa;YACvB,MAAI6C,KAAA;UACF;QACA,GAAAoC,KAAA;QACApF,SAAA,CAAAI,iBAAO;QAAA,OACTxE,KAAS;MACP,SAAAoH,KAAA,EAAU;QACVhD,SAAA,CAAMM,mBAAA;QAAA,MACR0C,KAAA;MAAA;IAEF;EACA;AAAO;AAEP,eAAAT,qBAAUA,CAAAf,OAAoB,EAAAY,QAAA;EAC9B,IAAAxB,SAAM,GAAA2E,yBAAA,CAAAnD,QAAA;EAAA,IACRxB,SAAA,CAAA/C,MAAA;EAAA,IACF2H,cAAA,OAAAC,GAAA,CAAAjE,OAAA,CAAAkE,GAAA,EAAAC,YAAA,CAAAlG,GAAA;EACF,KAAA+F,cAAA;EACF,IAAAI,IAAA,SAAApE,OAAA,CAAAqE,IAAA;EAEA,WAAAD,IAAe,CAAAE,aAAA,aACb,EACA;EAEA,OAAM;IACNA,aAAc,EAAAF,IAAA,CAAAE,aAAc;IAE5BlF,SAAM;IACN4E;EAEA;AACA;AAEA,SAAOD,0BAAAnD,QAAA;EAAA,IACL,CAAAA,QAAA,IAAe,QAAKA,QAAA,iCAAArF,QAAA,CAAAqF,QAAA;EAAA,IACpBxB,SAAA,GAAAwB,QAAA,CAAAxB,SAAA;EAAA,IACA,CAAAmF,KAAA,CAAAC,OAAA,CAAApF,SAAA;EACF,OAAAA,SAAA,CAAAqF,MAAA,WAAAC,QAAA;IACF,KAAAA,QAAA,YAAAA,QAAA,iCAAAnJ,QAAA,CAAAmJ,QAAA;IAEA,IAAA9C,EAAS,GAAA8C,QAAA,CAAA9C,EAAA;IACP,IAAKkC,MAAA,GAAAY,QAAY,CAAOZ,MAAA;IACxB,OAAM,EAAAlC,EAAA,KAAa,OAAAA,EAAqC,iCAAArG,QAAA,CAAAqG,EAAA,0BAAAA,EAAA,CAAA+C,QAAA,wBAAA/C,EAAA,CAAAA,EAAA,mBAAAkC,MAAA,YAAAA,MAAA,iCAAAvI,QAAA,CAAAuI,MAAA,mBAAAA,MAAA,CAAAtC,KAAA;EACxD;AAEA;AACE,IAAAa,qBAAiB,GAAO;EACxBiC,aAAY,UAA8B;EAC1CK,QAAM,UAAU;EAChBC,UACG,EAAC;EAQNZ,cAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","module","exports","import_server","require","import_createZeroDirectServer","import_createMutators","import_mutatorContext","import_queryContext","_type_of","obj","Symbol","constructor","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","createZeroDirectServerRuntime","handleMutationRequest","param2","authData","request","skipAsyncTasks","tasks","createAsyncTaskCollector","recoveryRequest","clone","mutators","createMutators","asyncTasks","queue","can","environment","processor","PushProcessor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","Promise","all","map","task","runWithAuthScope","catch","err","console","error","handleQueryRequest","Error","handler","name","args","resolveServerQuery","userID","id","runWithQueryContext","database","transaction","callback","input","tx","hooks","beginAttempt","result","completeAttempt","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -350,6 +350,11 @@ function extractSchemaColumns(ts, sourceFile, columns, primaryKeys) {
350
350
  }
351
351
  visit(sourceFile);
352
352
  }
353
+ function getInstantiatedPropertyType(checker, parent, name) {
354
+ const resolveProperty = Reflect.get(checker, "getTypeOfPropertyOfType");
355
+ if (typeof resolveProperty !== "function") return void 0;
356
+ return Reflect.apply(resolveProperty, checker, [parent, name]);
357
+ }
353
358
  function tsTypeToValibot(ts, checker, type, seen) {
354
359
  if (!seen) seen = /* @__PURE__ */new Set();
355
360
  const flags = type.getFlags();
@@ -398,7 +403,9 @@ function tsTypeToValibot(ts, checker, type, seen) {
398
403
  if (hasUndefined) inner = `v.optional(${inner})`;
399
404
  return inner;
400
405
  }
401
- const resolveSymbolType = prop => {
406
+ const resolveSymbolType = (parent, prop) => {
407
+ const instantiated = getInstantiatedPropertyType(checker, parent, prop.getName());
408
+ if (instantiated) return instantiated;
402
409
  if (prop.valueDeclaration) return checker.getTypeOfSymbolAtLocation(prop, prop.valueDeclaration);
403
410
  if (prop.declarations?.[0]) return checker.getTypeOfSymbolAtLocation(prop, prop.declarations[0]);
404
411
  return checker.getDeclaredTypeOfSymbol(prop);
@@ -410,7 +417,7 @@ function tsTypeToValibot(ts, checker, type, seen) {
410
417
  for (const prop of props2) {
411
418
  const name = prop.getName();
412
419
  if ((0, import_generate_helpers.shouldSkipObjectKey)(name)) continue;
413
- const propType = resolveSymbolType(prop);
420
+ const propType = resolveSymbolType(type, prop);
414
421
  const isOptional = !!(prop.getFlags() & ts.SymbolFlags.Optional);
415
422
  let val = recurse(propType);
416
423
  if (isOptional && !val.startsWith("v.optional(")) {
@@ -443,7 +450,7 @@ function tsTypeToValibot(ts, checker, type, seen) {
443
450
  for (const prop of props) {
444
451
  const name = prop.getName();
445
452
  if ((0, import_generate_helpers.shouldSkipObjectKey)(name)) continue;
446
- const propType = resolveSymbolType(prop);
453
+ const propType = resolveSymbolType(type, prop);
447
454
  const isOptional = !!(prop.getFlags() & ts.SymbolFlags.Optional);
448
455
  let val = recurse(propType);
449
456
  if (isOptional && !val.startsWith("v.optional(")) {
@@ -491,6 +491,11 @@ function extractSchemaColumns(ts, sourceFile, columns, primaryKeys) {
491
491
  }
492
492
  visit(sourceFile);
493
493
  }
494
+ function getInstantiatedPropertyType(checker, parent, name) {
495
+ var resolveProperty = Reflect.get(checker, "getTypeOfPropertyOfType");
496
+ if (typeof resolveProperty !== "function") return void 0;
497
+ return Reflect.apply(resolveProperty, checker, [parent, name]);
498
+ }
494
499
  function tsTypeToValibot(ts, checker, type, seen) {
495
500
  var _checker_isArrayType, _checker_isArrayLikeType;
496
501
  if (!seen) seen = /* @__PURE__ */new Set();
@@ -554,8 +559,10 @@ function tsTypeToValibot(ts, checker, type, seen) {
554
559
  if (hasUndefined) inner1 = `v.optional(${inner1})`;
555
560
  return inner1;
556
561
  }
557
- var resolveSymbolType = function (prop2) {
562
+ var resolveSymbolType = function (parent, prop2) {
558
563
  var _prop_declarations;
564
+ var instantiated = getInstantiatedPropertyType(checker, parent, prop2.getName());
565
+ if (instantiated) return instantiated;
559
566
  if (prop2.valueDeclaration) return checker.getTypeOfSymbolAtLocation(prop2, prop2.valueDeclaration);
560
567
  if ((_prop_declarations = prop2.declarations) === null || _prop_declarations === void 0 ? void 0 : _prop_declarations[0]) return checker.getTypeOfSymbolAtLocation(prop2, prop2.declarations[0]);
561
568
  return checker.getDeclaredTypeOfSymbol(prop2);
@@ -572,7 +579,7 @@ function tsTypeToValibot(ts, checker, type, seen) {
572
579
  var prop = _step.value;
573
580
  var name1 = prop.getName();
574
581
  if ((0, import_generate_helpers.shouldSkipObjectKey)(name1)) continue;
575
- var propType = resolveSymbolType(prop);
582
+ var propType = resolveSymbolType(type, prop);
576
583
  var isOptional = !!(prop.getFlags() & ts.SymbolFlags.Optional);
577
584
  var val = recurse(propType);
578
585
  if (isOptional && !val.startsWith("v.optional(")) {
@@ -628,7 +635,7 @@ function tsTypeToValibot(ts, checker, type, seen) {
628
635
  var prop1 = _step1.value;
629
636
  var name3 = prop1.getName();
630
637
  if ((0, import_generate_helpers.shouldSkipObjectKey)(name3)) continue;
631
- var propType1 = resolveSymbolType(prop1);
638
+ var propType1 = resolveSymbolType(type, prop1);
632
639
  var isOptional1 = !!(prop1.getFlags() & ts.SymbolFlags.Optional);
633
640
  var val1 = recurse(propType1);
634
641
  if (isOptional1 && !val1.startsWith("v.optional(")) {