on-zero 0.1.19 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cjs/createPermissions.cjs +4 -2
  2. package/dist/cjs/createPermissions.js +5 -2
  3. package/dist/cjs/createPermissions.js.map +1 -1
  4. package/dist/cjs/createPermissions.native.js +6 -2
  5. package/dist/cjs/createPermissions.native.js.map +1 -1
  6. package/dist/cjs/createZeroServer.cjs +15 -5
  7. package/dist/cjs/createZeroServer.js +11 -5
  8. package/dist/cjs/createZeroServer.js.map +1 -1
  9. package/dist/cjs/createZeroServer.native.js +15 -4
  10. package/dist/cjs/createZeroServer.native.js.map +1 -1
  11. package/dist/cjs/helpers/createMutators.cjs +16 -5
  12. package/dist/cjs/helpers/createMutators.js +20 -5
  13. package/dist/cjs/helpers/createMutators.js.map +1 -1
  14. package/dist/cjs/helpers/createMutators.native.js +19 -5
  15. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  16. package/dist/esm/createPermissions.js +5 -2
  17. package/dist/esm/createPermissions.js.map +1 -1
  18. package/dist/esm/createPermissions.mjs +4 -2
  19. package/dist/esm/createPermissions.mjs.map +1 -1
  20. package/dist/esm/createPermissions.native.js +6 -2
  21. package/dist/esm/createPermissions.native.js.map +1 -1
  22. package/dist/esm/createZeroServer.js +11 -5
  23. package/dist/esm/createZeroServer.js.map +1 -1
  24. package/dist/esm/createZeroServer.mjs +15 -5
  25. package/dist/esm/createZeroServer.mjs.map +1 -1
  26. package/dist/esm/createZeroServer.native.js +15 -4
  27. package/dist/esm/createZeroServer.native.js.map +1 -1
  28. package/dist/esm/helpers/createMutators.js +20 -5
  29. package/dist/esm/helpers/createMutators.js.map +1 -1
  30. package/dist/esm/helpers/createMutators.mjs +16 -5
  31. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  32. package/dist/esm/helpers/createMutators.native.js +19 -5
  33. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  34. package/package.json +2 -2
  35. package/readme.md +35 -0
  36. package/src/createPermissions.ts +12 -3
  37. package/src/createZeroServer.ts +45 -0
  38. package/src/helpers/createMutators.ts +50 -11
  39. package/src/types.ts +9 -0
  40. package/types/createPermissions.d.ts +3 -2
  41. package/types/createPermissions.d.ts.map +1 -1
  42. package/types/createZeroServer.d.ts +32 -2
  43. package/types/createZeroServer.d.ts.map +1 -1
  44. package/types/helpers/createMutators.d.ts +9 -1
  45. package/types/helpers/createMutators.d.ts.map +1 -1
  46. package/types/types.d.ts +8 -0
  47. package/types/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","createPermissions","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableNameOverride","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","key","value","push","cmp","and","can","where","obj","ctx","ensurePermission","tx","role","queryBase","query","one","run","err","errorTitle","id","msg","process","env","NODE_ENV"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","createPermissions","environment","schema","adminRoleMode","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableNameOverride","role","cmpLit","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","primaryKeyWheres","key","value","push","cmp","and","can","where","obj","ctx","ensurePermission","tx","queryBase","query","one","run","err","errorTitle","id","msg","process","env","NODE_ENV"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -10,9 +10,12 @@ function _instanceof(left, right) {
10
10
  function createPermissions(param) {
11
11
  var {
12
12
  environment,
13
- schema
13
+ schema,
14
+ adminRoleMode = "all"
14
15
  } = param;
15
16
  function buildPermissionQuery(authData, eb, permissionWhere, objOrId, tableNameOverride) {
17
+ var adminBypassQueries = adminRoleMode === "all" || adminRoleMode === "queries";
18
+ if (adminBypassQueries && authData?.role === "admin") return eb.cmpLit(!0, "=", !0);
16
19
  var tableName = tableNameOverride || getWhereTableName(permissionWhere);
17
20
  if (!tableName) throw new Error("Must use PermissionWhere for buildPermissionQuery");
18
21
  var tableSchema = schema.tables[tableName];
@@ -52,7 +55,8 @@ function createPermissions(param) {
52
55
  }
53
56
  };
54
57
  async function ensurePermission(tx, authData, tableName, where, obj) {
55
- if (authData?.role !== "admin") {
58
+ var adminBypassMutations = adminRoleMode === "all" || adminRoleMode === "mutations";
59
+ if (!(adminBypassMutations && authData?.role === "admin")) {
56
60
  var zqlBuilder = getZQL(),
57
61
  queryBase = zqlBuilder[tableName],
58
62
  query = null;
@@ -1 +1 @@
1
- {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","_instanceof","left","right","Symbol","hasInstance","createPermissions","param","environment","schema","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableNameOverride","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","cmpLit","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","value","push","cmp","err","return","and","can","where","obj","ctx","ensurePermission","tx","role","zqlBuilder","queryBase","query","one","run","errorTitle","id","msg"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ensure","EnsureError","setDidRunPermissionCheck","mutatorContext","prettyFormatZeroQuery","getZQL","getWhereTableName","_instanceof","left","right","Symbol","hasInstance","createPermissions","param","environment","schema","adminRoleMode","buildPermissionQuery","authData","eb","permissionWhere","objOrId","tableNameOverride","adminBypassQueries","role","cmpLit","tableName","Error","tableSchema","tables","primaryKeys","primaryKey","permissionReturn","primaryKeyWheres","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","value","push","cmp","err","return","and","can","where","obj","ctx","ensurePermission","tx","adminBypassMutations","zqlBuilder","queryBase","query","one","run","errorTitle","id"],"sources":["../../src/createPermissions.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,EAAQC,WAAA,QAAmB;AAEpC,SAASC,wBAAA,QAAgC;AACzC,SAASC,cAAA,QAAsB;AAC/B,SAASC,qBAAA,QAA6B;AACtC,SAASC,MAAA,QAAc;AACvB,SAASC,iBAAA,QAAyB;AAU3B,SAASC,YAAAC,IAAA,EAA6CC,KAAA;EAC3D,OAAAA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AAAA;AACA,SACAG,iBAAgBA,CAAAC,KAAA;EAClB,IAIG;IAAAC,WAAA;IAAAC,MAAA;IAAAC,aAAA;EAAA,IAAAH,KAAA;EAQD,SAASI,qBACPC,QAAA,EACAC,EAAA,EACAC,eAAA,EAEAC,OAAA,EACAC,iBAAA,EACA;IAGA,IAAAC,kBAD2B,GAAkBP,aAAS,cAAkBA,aAC9C,cAAU;IAClC,IAAAO,kBAAiB,IAAML,QAAS,EAAAM,IAAA,cAGlC,OAAML,EAAA,CAAAM,MAAY;IAElB,IAAIC,SAAC,GAAAJ,iBAAA,IAAAhB,iBAAA,CAAAc,eAAA;IACH,KAAAM,SAAU,EAGZ,MAAM,IAAAC,KAAA,oDAAqC;IAE3C,IAAIC,WAAC,GAAAb,MAAA,CAAAc,MAAA,CAAAH,SAAA;IACH,KAAAE,WAAU,EAGZ,MAAM,IAAAD,KAAA,aAAc;IAGpB,IAAIG,WAAA,GAAAF,WAAoB,CAAAG,UAAA;MAAAC,gBAAA,GAAAZ,eAAA,CAAAD,EAAA,EAAAD,QAAA;IACtB,IAAAc,gBAAgB,UAGlB,MAAI,IAAAL,KAAA,8BAAqBD,SAAA;IACvB,IAAAM,gBAAiB,KAAM,IAGzB,OAAIb,EAAA,CAAAM,MAAA,QAAqB;IACvB,IAAAO,gBAAiB,KAAM,IAGzB,OAAMb,EAAA,CAAAM,MAAA,QAAiC;IAEvC,IAAAQ,gBAAkB;MAAAC,yBAAa;MAAAC,iBAAA;MAAAC,cAAA;IAC7B;MACA,SAAAC,SAAiB,GAAAP,WAAY,CAAApB,MAAiB,CAAC4B,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;QACjD,IAAAQ,GAAA,GAAAH,KAAA,CAAAI,KAAA;UAAAA,KAAA,UAAAtB,OAAA,eAAAA,OAAA,GAAAA,OAAA,CAAAqB,GAAA;QAEAT,gBAAc,CAAAW,IAAA,CAAAzB,EAAA,CAAA0B,GAAkB,CAAAH,GAAG,EAAAC,KAAA;MACrC;IAEA,SAAMG,GAAW;MAEfX,iBAAI,GAAgB,IAAAC,cAAU,GAAAU,GAAA;IAC5B,UAAM;MAEN,IAAI;QACF,CAAAZ,yBAAgB,IAAAG,SAAA,CAAAU,MAAA,YAAAV,SAAA,CAAAU,MAAsD;MAExE,UAAM;QAER,IAAAZ,iBAAA,EACF,MAAAC,cAAA;MAEA;IASE;IACE,OAAAjB,EAAA,CAAA6B,GAAA,CAAAhB,gBAAA,KAAAC,gBAAA;EAIF;EACA,IAAAgB,GAAI,kBAAAA,CAAqCC,KAAA,EAAAC,GAAA;IAEzC,IAAIrC,WAAA;MACF,IAAAsC,GAAA,GAAQjD,cACC,CAAC;QAAAuB,SACC,GAAApB,iBAAqB,CAAA4C,KAAU;MAK5C,KAAAxB,SAAc,EACZ,MAAM,IAAAC,KAAA,uDAAuD;MAE7D,MAAI0B,gBAAe,CAAAD,GAAA,CAAAE,EAAA,EAAAF,GAAa,CAAAlC,QAAA,EAAAQ,SAAA,EAAAwB,KAAA,EAAAC,GAAA,GAAAjD,wBAAA,CAAAkD,GAAA;IAC9B;EACA;EACS,eAAMC,gBAA4BA,CAAAC,EAErC,EAAApC,QAAU,EAAAQ,SAAG,EAAAwB,KAAA,EAAAC,GAAA;IAAA,IACrBI,oBAAA,GAAAvC,aAAA,cAAAA,aAAA;IAEA,MAAAuC,oBAAgB,IAAArC,QAAA,EAAAM,IAAA,KAA4B,OAAU;MAAQ,IAAEgC,UAAA,GAAAnD,MAAA;QAAAoD,SAAA,GAAAD,UAAA,CAAA9B,SAAA;QAAAgC,KAAA;MAClE;QACFA,KAAA,GAAAD,SAAA,CAAAP,KAAA,WAAA/B,EAAA;UAEO,OAAAF,oBAAA,CAAAC,QAAA,EAAAC,EAAA,EAAA+B,KAAA,EAAAC,GAAA;QACL,GAAAQ,GAAA,IAAA3D,MAAA,OAAAsD,EAAA,CAAAM,GAAA,CAAAF,KAAA;MACA,SAAAZ,GAAA;QACF,IAAAe,UAAA,MAAAnC,SAAA,kBAAAR,QAAA,EAAA4C,EAAA;QACF,IAAAvD,WAAA,CAAAuC,GAAA,EAAA7C,WAAA","ignoreList":[]}
@@ -16,7 +16,10 @@ function createZeroServer({
16
16
  database,
17
17
  schema,
18
18
  models,
19
- queries
19
+ queries,
20
+ validateQuery,
21
+ validateMutation,
22
+ defaultAllowAdminRole = "all"
20
23
  }) {
21
24
  setSchema(schema);
22
25
  const dbString = assertString(database, 'createZeroServer "database"'), zeroDb = zeroNodePg(
@@ -28,7 +31,8 @@ function createZeroServer({
28
31
  })
29
32
  ), permissions = createPermissions({
30
33
  environment: "server",
31
- schema
34
+ schema,
35
+ adminRoleMode: defaultAllowAdminRole
32
36
  }), processor = new PushProcessor(zeroDb), handleMutationRequest = async ({
33
37
  authData,
34
38
  request,
@@ -40,7 +44,8 @@ function createZeroServer({
40
44
  createServerActions,
41
45
  environment: "server",
42
46
  models,
43
- authData
47
+ authData,
48
+ validateMutation
44
49
  }), response = await processor.process(mutators, request);
45
50
  if (!skipAsyncTasks && asyncTasks.length) {
46
51
  const id = randomId();
@@ -71,7 +76,7 @@ function createZeroServer({
71
76
  throw new Error(`[permission] no permission defined for table: ${table}`);
72
77
  return getZQL()[table].where((eb) => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
73
78
  }
74
- return mustGetQuery(queries, name).fn({ args, ctx: authData });
79
+ return validateQuery && validateQuery({ authData, queryName: name, params: args }), mustGetQuery(queries, name).fn({ args, ctx: authData });
75
80
  },
76
81
  schema,
77
82
  request
@@ -89,7 +94,8 @@ function createZeroServer({
89
94
  ...authData
90
95
  },
91
96
  createServerActions,
92
- can: permissions.can
97
+ can: permissions.can,
98
+ validateMutation
93
99
  });
94
100
  await transaction(async (tx) => {
95
101
  await run(tx, mutators);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["query"]
6
6
  }
@@ -16,7 +16,10 @@ function createZeroServer({
16
16
  database,
17
17
  schema,
18
18
  models,
19
- queries
19
+ queries,
20
+ validateQuery,
21
+ validateMutation,
22
+ defaultAllowAdminRole = "all"
20
23
  }) {
21
24
  setSchema(schema);
22
25
  const dbString = assertString(database, 'createZeroServer "database"'),
@@ -29,7 +32,8 @@ function createZeroServer({
29
32
  })),
30
33
  permissions = createPermissions({
31
34
  environment: "server",
32
- schema
35
+ schema,
36
+ adminRoleMode: defaultAllowAdminRole
33
37
  }),
34
38
  processor = new PushProcessor(zeroDb),
35
39
  handleMutationRequest = async ({
@@ -44,7 +48,8 @@ function createZeroServer({
44
48
  createServerActions,
45
49
  environment: "server",
46
50
  models,
47
- authData
51
+ authData,
52
+ validateMutation
48
53
  }),
49
54
  response = await processor.process(mutators, request);
50
55
  if (!skipAsyncTasks && asyncTasks.length) {
@@ -76,7 +81,11 @@ function createZeroServer({
76
81
  if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
77
82
  return getZQL()[table].where(eb => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
78
83
  }
79
- return mustGetQuery(queries, name).fn({
84
+ return validateQuery && validateQuery({
85
+ authData,
86
+ queryName: name,
87
+ params: args
88
+ }), mustGetQuery(queries, name).fn({
80
89
  args,
81
90
  ctx: authData
82
91
  });
@@ -96,7 +105,8 @@ function createZeroServer({
96
105
  ...authData
97
106
  },
98
107
  createServerActions,
99
- can: permissions.can
108
+ can: permissions.can,
109
+ validateMutation
100
110
  });
101
111
  await transaction(async tx => {
102
112
  await run(tx, mutators);
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","getMutationsPermissions","setCustomQueries","getZQL","setAuthData","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","getMutationsPermissions","setCustomQueries","getZQL","setAuthData","setSchema","setRunner","createZeroServer","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,10 @@ function createZeroServer(param) {
17
17
  database,
18
18
  schema,
19
19
  models,
20
- queries
20
+ queries,
21
+ validateQuery,
22
+ validateMutation,
23
+ defaultAllowAdminRole = "all"
21
24
  } = param;
22
25
  setSchema(schema);
23
26
  var dbString = assertString(database, 'createZeroServer "database"'),
@@ -30,7 +33,8 @@ function createZeroServer(param) {
30
33
  })),
31
34
  permissions = createPermissions({
32
35
  environment: "server",
33
- schema
36
+ schema,
37
+ adminRoleMode: defaultAllowAdminRole
34
38
  }),
35
39
  processor = new PushProcessor(zeroDb),
36
40
  handleMutationRequest = async function (param2) {
@@ -46,7 +50,8 @@ function createZeroServer(param) {
46
50
  createServerActions,
47
51
  environment: "server",
48
52
  models,
49
- authData
53
+ authData,
54
+ validateMutation
50
55
  }),
51
56
  response = await processor.process(mutators, request);
52
57
  if (!skipAsyncTasks && asyncTasks.length) {
@@ -83,6 +88,11 @@ function createZeroServer(param) {
83
88
  return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
84
89
  }).one();
85
90
  }
91
+ validateQuery && validateQuery({
92
+ authData,
93
+ queryName: name,
94
+ params: args
95
+ });
86
96
  var _$query = mustGetQuery(queries, name);
87
97
  return _$query.fn({
88
98
  args,
@@ -106,7 +116,8 @@ function createZeroServer(param) {
106
116
  ...authData
107
117
  },
108
118
  createServerActions,
109
- can: permissions.can
119
+ can: permissions.can,
120
+ validateMutation
110
121
  });
111
122
  await transaction(async function (tx) {
112
123
  await run(tx, mutators);
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","getMutationsPermissions","setCustomQueries","getZQL","setAuthData","setSchema","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","_$query","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","output","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","randomId","Pool","createPermissions","createMutators","isInZeroMutation","mutatorContext","getMutationsPermissions","setCustomQueries","getZQL","setAuthData","setSchema","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","dbString","zeroDb","connectionString","ssl","includes","rejectUnauthorized","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","id","console","info","Promise","all","map","task","then","catch","err","error","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","mutate","run","email","role","transaction","tx","t","query2","output","dummyTransactionInput","query","cb","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,kBAAA,IAAsBC,sBAAA,QAA8B;AAC7D,SAASC,UAAA,QAAkB;AAC3B,SAASC,YAAA,EAAcC,QAAA,QAAgB;AACvC,SAASC,IAAA,QAAY;AAErB,SAASC,iBAAA,QAAyB;AAClC,SAASC,cAAA,QAAsB;AAC/B,SAASC,gBAAA,EAAkBC,cAAA,QAAsB;AACjD,SAASC,uBAAA,QAA+B;AACxC,SAASC,gBAAA,QAAwB;AACjC,SAASC,MAAA,EAAQC,WAAA,EAAaC,SAAA,QAAiB;AAC/C,SAASC,SAAA,QAAiB;AAmCnB,SAASC,iBAIdC,KAAA;EACA;IAAAC,mBAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,aAAA;IAAAC,gBAAA;IAAAC,qBAAA;EAAA,IAAAR,KAAA;EACAH,SAAA,CAAAM,MAAA;EACA,IAAAM,QAAA,GAAAvB,YAAA,CAAAgB,QAAA;IAAAQ,MAAA,GAAAzB,UAAA,CAAAkB,MAAA,MAAAf,IAAA;MACAuB,gBAAA,EAAAF,QAAA;MACA;MACAG,GAAA,EAAAH,QAAA,CAAAI,QAAA;QACAC,kBAAA;MACA;IACF,CA0BG;IAAAC,WAAA,GAAA1B,iBAAA;MACD2B,WAAU,UAAM;MAEhBb,MAAM;MAGJc,aAAA,EAAAT;IAAA,EACA;IAAAU,SAAS,OAAApC,aAAA,CAAA4B,MAAA;IAAAS,qBAAA,kBAAAA,CAAAC,MAAA;MAAA,IACP;UAAAC,QAAA;UAAAC,OAAkB;UAAAC;QAAA,IAAAH,MAAA;QAAAI,UAAA;QAAAC,QAAA,GAAAnC,cAAA;UAAAkC,UAAA;UAElBE,GAAA,EAAKX,WAAS,CAAAW,GAAA;UAGfzB,mBAAA;UAGGe,WAAA,EAAc;UAClBZ,MAAA;UACAiB,QAAA;UACAd;QACD,EAEK;QAAAoB,QAAA,GAAY,MAAIT,SAAA,CAAAU,OAAoB,CAAAH,QAEpC,EAAAH,OAAA;MACJ,KAAAC,cAAA,IAAAC,UAAA,CAAAK,MAAA;QACA,IAAAC,EAAA,GAAA3C,QAAA;QACA4C,OAAA,CAAAC,IAAA,yCAAAR,UAAA,CAAAK,MAAA,OAAAC,EAAA,KAAAG,OAAA,CAAAC,GAAA,CAAAV,UAAA,CAAAW,GAAA,WAAAC,IAAA;UAKI,OAAAA,IAAA;QAEJ,IAAMC,IAAA,aAA6B;UAGjCN,OAAA,CAAAC,IAAA,gCAAAF,EAAA;QACA,GAAAQ,KAAK,WAAYC,GAAA;UACjBR,OAAA,CAAAS,KAAA,+CAAAD,GAAA;QACA;MAAa;MACb,OACA;QACAZ,QAAA;QACDH;MAMD;IACE;IAAAzC,kBAAW,GAAS,eAAAA,CAAAqC,MAAA;MACpB;QAAAC,QAAQ;QAAKC;MAAA,IAAAF,MAAA;MAGT,KAAAf,OAAQ,EACV,MACC,IAAOoC,KAAA,2HAAQ;MACd7C,WAAA,CAAQyB,QAAM;MAA0C,IACzDM,QAAA,SAAA3C,sBAAA,WAAA0D,IAAA,EAAAC,IAAA;QACL,IAAAD,IAAA,CAAAE,UAAA;UAEA,IAAOC,KAAA,GAAAH,IAAA,CAAAI,KAAA;YAAA;cAAAC;YAAA,IAAAJ,IAAA;YAAAK,IAAA,GAAAvD,uBAAA,CAAAoD,KAAA;UACL,KAAAG,IAAA,EACA,UAAAP,KAAA,kDAAAI,KAAA;UACF,OAAAlD,MAAA,GAAAkD,KAAA,EAAAI,KAAA,WAAAC,EAAA;YAGI,OAAAnC,WAAqB,CAAAoC,oBAAO,CAAA9B,QAAA,EAAA6B,EAAA,EAAAF,IAAA,EAAAD,OAAA,EAAAF,KAAA;UAChC,GAAAO,GAAA;QACA;QACF9C,aAGM,IAAAA,aAAA;UACAe,QAAC;UACHgC,SAAU,EAAAX,IAAA;UACRY,MAAA,EAAAX;QAEF;QAIF,IAAAY,OAAA,GAAA1E,YAAY,CAAAwB,OAiCL,EAAAqC,IAAA;QACL,OAAAa,OAhCe,CAAAC,EAAM;UACrBb,IAAC;UAECc,GAAA,EAAApC;QACE;MAKA,GAAAlB,MAAA,EAAAmB,OAAK;MACH;QAEFK;MAIO;IAIT;IAAA+B,MAAA,kBAAAA,CAAIC,GAAA,EACFtC,QAAA;MAIqC,IACzCG,UAAA;QAAAC,QAAA,GAAAnC,cAAA;UAAAc,MACA;UAAAY,WACA;UACFQ,UAAA;UAIAH,QAAA;YAGIS,EAAA,IAAS;YAIb8B,KAAM,oBAEA;YACJC,IAAA;YACA,GAAAxC;UACA;UACApB,mBAAU;UAAAyB,GACR,EAAAX,WAAI,CAAAW,GAAA;UAAAnB;QACG;MACD,MACNuD,WAAG,iBAAAC,EAAA;QACL,MAAAJ,GAAA,CAAAI,EAAA,EAAAtC,QAAA;MAAA,EACA,QAAAQ,OAAA,CAAAC,GAAA,CAAAV,UAAA,CAAAW,GAAA,WAAA6B,CAAA;QACA,OAAKA,CAAA;MAAY,EACjB;IAAA;EAGF,eAAMF,WAAYA,CAAOG,MAAA,EAAO;IAC9B;MACD,IAED1E,gBAAkB;QACpB;UAAAwE;QAAA,IAAAvE,cAAA;QAEA,aAAeyE,MAAA,CAAAF,EAGb;MACA;MACE,IAAIG,MAAA,SAAAxD,MAAoB,CAAAoD,WAAA,CAAAG,MAAA,EAAAE,qBAAA;MACtB,OAAAD,MAAW;IACX,SAAA3B,GAAO;MACT,MAAAR,OAAA,CAAAS,KAAA,iCAAAD,GAAA,KAAAA,GAAA;IAGA;EADoE;EAGpE,SAAA6B,MAAAC,EAAA,EAAQ;IAEV,OAAAP,WAAA,iBAAAC,EAAA;MACF,OAAAA,EAAA,CAAAJ,GAAA,CAAAU,EAAA,CAAA1E,MAAA;IAEA;EAGE;EAGFU,OAAA,IAAAX,gBAAA,CAAAW,OAAA,GAAAP,SAAA,WAAAwE,QAAA;IAGI,OAAAR,WACF,iBAAwBC,EAI1B;MAOA,OAAMA,EAAA,CAAAJ,GAAA,CAAAW,QAAA;IACJ;EAAe,EACf;EAAU,IACVH,qBAAY;IACZI,aAAA,UAAgB;IAClBC,QAAA;IAEAC,UAAO;IACLC,cAAA;EAAA;EACA,OACA;IACAvD,qBAAA;IACApC,kBAAA;IACF+E,WAAA;IACFJ,MAAA","ignoreList":[]}
@@ -8,7 +8,8 @@ function createMutators({
8
8
  createServerActions,
9
9
  asyncTasks = [],
10
10
  can,
11
- models
11
+ models,
12
+ validateMutation
12
13
  }) {
13
14
  const serverActions = createServerActions?.(), modelMutators = mapObject(models, (val) => val.mutate);
14
15
  function withContext(fn) {
@@ -29,12 +30,15 @@ function createMutators({
29
30
  };
30
31
  }
31
32
  function withDevelopmentLogging(name, fn) {
32
- return process.env.NODE_ENV !== "development" && !process.env.IS_TESTING ? fn : async (...args) => {
33
+ if (process.env.NODE_ENV !== "development" && !process.env.IS_TESTING)
34
+ return fn;
35
+ const debug = process.env.DEBUG;
36
+ return async (...args) => {
33
37
  const startTime = performance.now();
34
38
  try {
35
- isServer && console.info(`[mutator] ${name} start`);
39
+ debug && isServer && console.info(`[mutator] ${name} start`);
36
40
  const result = await fn(...args), duration = (performance.now() - startTime).toFixed(2);
37
- return isBrowser ? (console.groupCollapsed(`[mutator] ${name} completed in ${duration}ms`), console.info("\u2192", args[1]), console.info("\u2190", result), console.trace(), console.groupEnd()) : console.info(`[mutator] ${name} completed in ${duration}ms`), result;
41
+ return debug && (isBrowser ? (console.groupCollapsed(`[mutator] ${name} completed in ${duration}ms`), console.info("\u2192", args[1]), console.info("\u2190", result), console.trace(), console.groupEnd()) : console.info(`[mutator] ${name} completed in ${duration}ms`)), result;
38
42
  } catch (error) {
39
43
  const duration = (performance.now() - startTime).toFixed(2);
40
44
  throw console.groupCollapsed(`[mutator] ${name} failed after ${duration}ms`), console.error("error:", error), console.info("arguments:", JSON.stringify(args[1], null, 2)), console.info("stack trace:", new Error().stack), console.groupEnd(), error;
@@ -51,6 +55,14 @@ function createMutators({
51
55
  return Promise.race([fn(...args), timeoutPromise]);
52
56
  };
53
57
  }
58
+ function withValidation(tableName, mutatorName, fn) {
59
+ return validateMutation ? async (...args) => (await validateMutation({
60
+ authData: isBrowser ? getAuthData() : authData,
61
+ tableName,
62
+ mutatorName,
63
+ args: args[1]
64
+ }), fn(...args)) : fn;
65
+ }
54
66
  function decorateMutators(modules) {
55
67
  const result = {};
56
68
  for (const [moduleName, moduleExports] of Object.entries(modules)) {
@@ -60,7 +72,10 @@ function createMutators({
60
72
  const fullName = `${moduleName}.${name}`;
61
73
  result[moduleName][name] = withDevelopmentLogging(
62
74
  fullName,
63
- withTimeoutGuard(fullName, withContext(exportValue))
75
+ withTimeoutGuard(
76
+ fullName,
77
+ withValidation(moduleName, name, withContext(exportValue))
78
+ )
64
79
  );
65
80
  }
66
81
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/createMutators.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -8,7 +8,8 @@ function createMutators({
8
8
  createServerActions,
9
9
  asyncTasks = [],
10
10
  can,
11
- models
11
+ models,
12
+ validateMutation
12
13
  }) {
13
14
  const serverActions = createServerActions?.(),
14
15
  modelMutators = mapObject(models, val => val.mutate);
@@ -30,13 +31,15 @@ function createMutators({
30
31
  };
31
32
  }
32
33
  function withDevelopmentLogging(name, fn) {
33
- return process.env.NODE_ENV !== "development" && !process.env.IS_TESTING ? fn : async (...args) => {
34
+ if (process.env.NODE_ENV !== "development" && !process.env.IS_TESTING) return fn;
35
+ const debug = process.env.DEBUG;
36
+ return async (...args) => {
34
37
  const startTime = performance.now();
35
38
  try {
36
- isServer && console.info(`[mutator] ${name} start`);
39
+ debug && isServer && console.info(`[mutator] ${name} start`);
37
40
  const result = await fn(...args),
38
41
  duration = (performance.now() - startTime).toFixed(2);
39
- return isBrowser ? (console.groupCollapsed(`[mutator] ${name} completed in ${duration}ms`), console.info("\u2192", args[1]), console.info("\u2190", result), console.trace(), console.groupEnd()) : console.info(`[mutator] ${name} completed in ${duration}ms`), result;
42
+ return debug && (isBrowser ? (console.groupCollapsed(`[mutator] ${name} completed in ${duration}ms`), console.info("\u2192", args[1]), console.info("\u2190", result), console.trace(), console.groupEnd()) : console.info(`[mutator] ${name} completed in ${duration}ms`)), result;
40
43
  } catch (error) {
41
44
  const duration = (performance.now() - startTime).toFixed(2);
42
45
  throw console.groupCollapsed(`[mutator] ${name} failed after ${duration}ms`), console.error("error:", error), console.info("arguments:", JSON.stringify(args[1], null, 2)), console.info("stack trace:", new Error().stack), console.groupEnd(), error;
@@ -53,13 +56,21 @@ function createMutators({
53
56
  return Promise.race([fn(...args), timeoutPromise]);
54
57
  };
55
58
  }
59
+ function withValidation(tableName, mutatorName, fn) {
60
+ return validateMutation ? async (...args) => (await validateMutation({
61
+ authData: isBrowser ? getAuthData() : authData,
62
+ tableName,
63
+ mutatorName,
64
+ args: args[1]
65
+ }), fn(...args)) : fn;
66
+ }
56
67
  function decorateMutators(modules) {
57
68
  const result = {};
58
69
  for (const [moduleName, moduleExports] of Object.entries(modules)) {
59
70
  result[moduleName] = {};
60
71
  for (const [name, exportValue] of Object.entries(moduleExports)) if (typeof exportValue == "function") {
61
72
  const fullName = `${moduleName}.${name}`;
62
- result[moduleName][name] = withDevelopmentLogging(fullName, withTimeoutGuard(fullName, withContext(exportValue)));
73
+ result[moduleName][name] = withDevelopmentLogging(fullName, withTimeoutGuard(fullName, withValidation(moduleName, name, withContext(exportValue))));
63
74
  }
64
75
  }
65
76
  return result;
@@ -1 +1 @@
1
- {"version":3,"names":["mapObject","time","isBrowser","isServer","getAuthData","runWithContext","createMutators","environment","authData","createServerActions","asyncTasks","can","models","serverActions","modelMutators","val","mutate","withContext","fn","tx","args","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","JSON","stringify","Error","stack","withTimeoutGuard","timeoutMs","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","race","decorateMutators","modules","moduleName","moduleExports","Object","entries","exportValue","fullName"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mapObject","time","isBrowser","isServer","getAuthData","runWithContext","createMutators","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","serverActions","modelMutators","val","mutate","withContext","fn","tx","args","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","JSON","stringify","Error","stack","withTimeoutGuard","timeoutMs","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","race","withValidation","tableName","mutatorName","decorateMutators","modules","moduleName","moduleExports","Object","entries","exportValue","fullName"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,8 @@ function createMutators(param) {
9
9
  createServerActions,
10
10
  asyncTasks = [],
11
11
  can,
12
- models
12
+ models,
13
+ validateMutation
13
14
  } = param,
14
15
  serverActions = createServerActions?.(),
15
16
  modelMutators = mapObject(models, function (val) {
@@ -36,14 +37,16 @@ function createMutators(param) {
36
37
  };
37
38
  }
38
39
  function withDevelopmentLogging(name, fn) {
39
- return process.env.NODE_ENV !== "development" && !process.env.IS_TESTING ? fn : async function () {
40
+ if (process.env.NODE_ENV !== "development" && !process.env.IS_TESTING) return fn;
41
+ var debug = process.env.DEBUG;
42
+ return async function () {
40
43
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
41
44
  var startTime = performance.now();
42
45
  try {
43
- isServer && console.info(`[mutator] ${name} start`);
46
+ debug && isServer && console.info(`[mutator] ${name} start`);
44
47
  var result = await fn(...args),
45
48
  duration = (performance.now() - startTime).toFixed(2);
46
- return isBrowser ? (console.groupCollapsed(`[mutator] ${name} completed in ${duration}ms`), console.info("\u2192", args[1]), console.info("\u2190", result), console.trace(), console.groupEnd()) : console.info(`[mutator] ${name} completed in ${duration}ms`), result;
49
+ return debug && (isBrowser ? (console.groupCollapsed(`[mutator] ${name} completed in ${duration}ms`), console.info("\u2192", args[1]), console.info("\u2190", result), console.trace(), console.groupEnd()) : console.info(`[mutator] ${name} completed in ${duration}ms`)), result;
47
50
  } catch (error) {
48
51
  var duration1 = (performance.now() - startTime).toFixed(2);
49
52
  throw console.groupCollapsed(`[mutator] ${name} failed after ${duration1}ms`), console.error("error:", error), console.info("arguments:", JSON.stringify(args[1], null, 2)), console.info("stack trace:", new Error().stack), console.groupEnd(), error;
@@ -62,6 +65,17 @@ function createMutators(param) {
62
65
  return Promise.race([fn(...args), timeoutPromise]);
63
66
  };
64
67
  }
68
+ function withValidation(tableName, mutatorName, fn) {
69
+ return validateMutation ? async function () {
70
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
71
+ return await validateMutation({
72
+ authData: isBrowser ? getAuthData() : authData,
73
+ tableName,
74
+ mutatorName,
75
+ args: args[1]
76
+ }), fn(...args);
77
+ } : fn;
78
+ }
65
79
  function decorateMutators(modules) {
66
80
  var result = {},
67
81
  _iteratorNormalCompletion = !0,
@@ -79,7 +93,7 @@ function createMutators(param) {
79
93
  var [name, exportValue] = _step1.value;
80
94
  if (typeof exportValue == "function") {
81
95
  var fullName = `${moduleName}.${name}`;
82
- result[moduleName][name] = withDevelopmentLogging(fullName, withTimeoutGuard(fullName, withContext(exportValue)));
96
+ result[moduleName][name] = withDevelopmentLogging(fullName, withTimeoutGuard(fullName, withValidation(moduleName, name, withContext(exportValue))));
83
97
  }
84
98
  }
85
99
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"names":["mapObject","time","isBrowser","isServer","getAuthData","runWithContext","createMutators","param","environment","authData","createServerActions","asyncTasks","can","models","serverActions","modelMutators","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","Error","stack","withTimeoutGuard","timeoutMs","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","race","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","moduleName","moduleExports","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","exportValue"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,IAAA,QAAY;AAEhC,SAASC,SAAA,EAAWC,QAAA,QAAgB;AACpC,SAASC,WAAA,QAAmB;AAC5B,SAASC,cAAA,QAAsB;AAWxB,SAASC,eAA6CC,KAAA;EAC3D;MAAAC,WAAA;MAAAC,QAAA;MAAAC,mBAAA;MAAAC,UAAA;MAAAC,GAAA;MAAAC;IAAA,IAAAN,KAAA;IAAAO,aAAA,GAAAJ,mBAAA;IAAAK,aAAA,GAAAf,SAAA,CAAAa,MAAA,YAAAG,GAAA;MACA,OAAAA,GAAA,CAAAC,MAAA;IACA;EACA,SAAAC,WAAcA,CAAAC,EAAA;IACd,uBAAAC,EAAA;MACA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,IAQ0BF,IAAA,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;MAC1B,IAAMC,eAAgB;QAMtBP,EAAA;QACE;QACE;QACEX,QAAA,EAAAP,SAAA,GAAAE,WAAA,KAAAK,QAAA;QAAAD,WAAA;QAAAI,GAAA;QAGAgB,MAAA,EAAApB,WAAU,KAAY,WAAY;UAClCqB,OAAA,EAAAf,aAAA;UACAH,UAAA,EAAAA,UAAA;QACA,SACE;MACK;MAC4B,OAC3B,MAAAN,cAAY,CAAAsB,eAAe;QAC7B,OACAR,EAAA,CAAAQ,eAAA,KAAAH,IAAA;MACR;IAEA;EAIC;EAEL,SAAAM,uBAAAC,IAAA,EAAAZ,EAAA;IAEA,OAASa,OAAA,CAAAC,GAAA,CAAAC,QAAA,KACP,aAEA,KAAAF,OAAA,CAAAC,GAAA,CAAAE,UAAA,GAAAhB,EAAA;MACA,KAAI,IAAAE,IAAQ,GAAAC,SAAI,CAAAC,MAAa,EAAAC,IAAA,OAAAC,KAAkB,CAAAJ,IAAA,CAAQ,EAAAK,IAAI,MAAAA,IAAA,GAClDL,IAGF,EAAAK,IAAA,IACLF,IAAM,CAAAE,IAAA,IAAAJ,SAAY,CAAAI,IAAA,CAAY;MAE9B,IAAIU,SAAA,GAAAC,WAAA,CAAAC,GAAA;MACF,IAAI;QAGJnC,QAAM,IAAAoC,OAAS,CAAAC,IAAS,cAClBT,IAAA,QAAY;QAClB,IAAAU,MAAI,SAAAtB,EACF,IAAAK,IAAQ;UAAAkB,QAAA,GAAe,CAAAL,WAAA,CAAaC,GAAA,CAAI,IAAAF,SAAA,EAAAO,OAAiB,GAAQ;QAUrE,OAASzC,SAAO,IAAAqC,OAAA,CAAAK,cAAA,cAAAb,IAAA,iBAAAW,QAAA,OAAAH,OAAA,CAAAC,IAAA,WAAAhB,IAAA,MAAAe,OAAA,CAAAC,IAAA,WAAAC,MAAA,GAAAF,OAAA,CAAAM,KAAA,IAAAN,OAAA,CAAAO,QAAA,MAAAP,OAAA,CAAAC,IAAA,cAAAT,IAAA,iBAAAW,QAAA,OAAAD,MAAA;MACd,SAAMM,KAAA;QACN,IAAAC,SAAA,GAAQ,CAAAX,WAAA,CAAeC,GAAA,KAAAF,SAAiB,EAAAO,OAAA;QAM1C,MAAAJ,OAAA,CAAAK,cAAA,cAAAb,IAAA,iBAAAiB,SAAA,OAAAT,OAAA,CAAAQ,KAAA,WAAAA,KAAA,GAAAR,OAAA,CAAAC,IAAA,eAAAS,IAAA,CAAAC,SAAA,CAAA1B,IAAA,gBAAAe,OAAA,CAAAC,IAAA,qBAAAW,KAAA,GAAAC,KAAA,GAAAb,OAAA,CAAAO,QAAA,IAAAC,KAAA;MACF;IACF;EAEA;EAOE,SAAOM,gBAAUA,CAAAtB,IAA8B,EAAAZ,EAAA;IAC7C,IAAAmC,SAAM,GAAAhC,SAAiB,CAAAC,MAAI,QAAgBD,SAAG,GAAW,cAAAA,SAAA,MAAArB,IAAA,CAAAsD,EAAA,CAAAC,OAAA;IACvD,yBAAiB;MACf,SAAAnC,IAAO,GAAIC,SAAM,CAAAC,MAAA,EAAaC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,CAAkB,EAAAK,IAAA,GAAS,GAAAA,IAAK,GAAAL,IAAA,EAAAK,IAAA,IACpEF,IAAG,CAAAE,IAAA,IAASJ,SAAA,CAAAI,IAAA;MACd,IAAC+B,cAAA,OAAAC,OAAA,WAAAC,CAAA,EAAAC,MAAA;QAEDC,UAAO,aAAiB;UAC1BD,MAAA,KAAAT,KAAA,cAAApB,IAAA,kBAAAuB,SAAA;QACF,GAAAA,SAAA;MAEA;MACE,OAAMI,OAAe,CAAAI,IAAA,EAErB3C,EAAA,IAAAK,IAAY,GACViC,cAAO,CACP;IACE;EACE;EACA,SAAAM,gBAAiBA,CAAAC,OAAM,EAAI;IAAA,IAAAvB,MACzB;MAAAwB,yBAAA;MAAAC,iBAAA;MAAAC,cAAA;IAAA;MACmD,KACrD,IAAAC,SAAA,GAAAC,MAAA,CAAAC,OAAA,CAAAN,OAAA,EAAAO,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;QACF,KAAAW,UAAA,EAAAC,aAAA,IAAAJ,KAAA,CAAAK,KAAA;QAEJrC,MAAA,CAAAmC,UAAA;QAEA,IAAOG,0BAAA;UAAAC,kBAAA;UAAAC,eAAA;QACT;UAEO,SAAAC,UAAiB,GAAAb,MAAA,CAAaC,OAAA,CAAAO,aAAA,EAAAN,MAAA,CAAAC,QAAA,KAAAW,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAR,IAAA,IAAAC,IAAA,GAAAI,0BAAA;YACvC,KAAAhD,IAAA,EAAAqD,WAAA,IAAAD,MAAA,CAAAL,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["mapObject","time","isBrowser","isServer","getAuthData","runWithContext","createMutators","param","environment","authData","createServerActions","asyncTasks","can","models","validateMutation","serverActions","modelMutators","val","mutate","withContext","fn","tx","_len","arguments","length","args","Array","_key","mutationContext","server","actions","withDevelopmentLogging","name","process","env","NODE_ENV","IS_TESTING","debug","DEBUG","startTime","performance","now","console","info","result","duration","toFixed","groupCollapsed","trace","groupEnd","error","duration1","JSON","stringify","Error","stack","withTimeoutGuard","timeoutMs","ms","minutes","timeoutPromise","Promise","_","reject","setTimeout","race","withValidation","tableName","mutatorName","decorateMutators","modules","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","moduleName","moduleExports","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","exportValue"],"sources":["../../../src/helpers/createMutators.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -64,7 +64,7 @@
64
64
  }
65
65
  },
66
66
  "dependencies": {
67
- "@take-out/helpers": "0.1.19",
67
+ "@take-out/helpers": "0.1.21",
68
68
  "@sinclair/typebox-codegen": "^0.11.1",
69
69
  "chokidar": "^4.0.3",
70
70
  "citty": "^0.1.6",