on-zero 0.6.14 → 0.6.16

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 (163) hide show
  1. package/dist/cjs/asyncTasks.cjs +51 -0
  2. package/dist/cjs/asyncTasks.native.js +84 -0
  3. package/dist/cjs/asyncTasks.native.js.map +1 -0
  4. package/dist/cjs/cli.cjs +8 -1
  5. package/dist/cjs/cli.native.js +8 -1
  6. package/dist/cjs/cli.native.js.map +1 -1
  7. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  8. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  9. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  10. package/dist/cjs/createZeroDirectServer.cjs +269 -0
  11. package/dist/cjs/createZeroDirectServer.native.js +287 -0
  12. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  13. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  14. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  15. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  16. package/dist/cjs/createZeroSQLiteServer.test.cjs +36 -9
  17. package/dist/cjs/createZeroSQLiteServer.test.native.js +37 -9
  18. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.test.cjs +79 -1
  20. package/dist/cjs/createZeroServer.test.native.js +85 -1
  21. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  22. package/dist/cjs/createZeroServerCore.cjs +28 -208
  23. package/dist/cjs/createZeroServerCore.native.js +33 -218
  24. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  25. package/dist/cjs/generate.cjs +15 -5
  26. package/dist/cjs/generate.native.js +15 -5
  27. package/dist/cjs/generate.native.js.map +1 -1
  28. package/dist/cjs/generate.test.cjs +55 -0
  29. package/dist/cjs/generate.test.native.js +55 -0
  30. package/dist/cjs/generate.test.native.js.map +1 -1
  31. package/dist/cjs/helpers/createMutators.cjs +2 -2
  32. package/dist/cjs/helpers/createMutators.native.js +2 -2
  33. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  34. package/dist/cjs/index.cjs +1 -0
  35. package/dist/cjs/index.native.js +1 -0
  36. package/dist/cjs/index.native.js.map +1 -1
  37. package/dist/cjs/server.cjs +2 -1
  38. package/dist/cjs/sqliteRuntime.cjs +318 -0
  39. package/dist/cjs/sqliteRuntime.native.js +438 -0
  40. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  41. package/dist/cjs/syncHost.cjs +26 -12
  42. package/dist/cjs/syncHost.native.js +32 -16
  43. package/dist/cjs/syncHost.native.js.map +1 -1
  44. package/dist/cjs/syncHost.test.cjs +15 -4
  45. package/dist/cjs/syncHost.test.native.js +16 -4
  46. package/dist/cjs/syncHost.test.native.js.map +1 -1
  47. package/dist/cjs/vite-plugin.cjs +2 -1
  48. package/dist/cjs/vite-plugin.native.js +2 -1
  49. package/dist/cjs/vite-plugin.native.js.map +1 -1
  50. package/dist/esm/asyncTasks.mjs +26 -0
  51. package/dist/esm/asyncTasks.mjs.map +1 -0
  52. package/dist/esm/asyncTasks.native.js +56 -0
  53. package/dist/esm/asyncTasks.native.js.map +1 -0
  54. package/dist/esm/cli.mjs +8 -1
  55. package/dist/esm/cli.mjs.map +1 -1
  56. package/dist/esm/cli.native.js +8 -1
  57. package/dist/esm/cli.native.js.map +1 -1
  58. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  59. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  60. package/dist/esm/createZeroDirectServer.mjs +241 -0
  61. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  62. package/dist/esm/createZeroDirectServer.native.js +256 -0
  63. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  64. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  65. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  66. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  67. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  68. package/dist/esm/createZeroSQLiteServer.test.mjs +36 -9
  69. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  70. package/dist/esm/createZeroSQLiteServer.test.native.js +37 -9
  71. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  72. package/dist/esm/createZeroServer.test.mjs +80 -2
  73. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  74. package/dist/esm/createZeroServer.test.native.js +86 -2
  75. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  76. package/dist/esm/createZeroServerCore.mjs +26 -205
  77. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  78. package/dist/esm/createZeroServerCore.native.js +32 -216
  79. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  80. package/dist/esm/generate.mjs +15 -5
  81. package/dist/esm/generate.mjs.map +1 -1
  82. package/dist/esm/generate.native.js +15 -5
  83. package/dist/esm/generate.native.js.map +1 -1
  84. package/dist/esm/generate.test.mjs +55 -1
  85. package/dist/esm/generate.test.mjs.map +1 -1
  86. package/dist/esm/generate.test.native.js +55 -1
  87. package/dist/esm/generate.test.native.js.map +1 -1
  88. package/dist/esm/helpers/createMutators.mjs +2 -2
  89. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  90. package/dist/esm/helpers/createMutators.native.js +2 -2
  91. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  92. package/dist/esm/index.js +1 -0
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/index.mjs +1 -0
  95. package/dist/esm/index.mjs.map +1 -1
  96. package/dist/esm/index.native.js +1 -0
  97. package/dist/esm/index.native.js.map +1 -1
  98. package/dist/esm/server.mjs +1 -0
  99. package/dist/esm/server.mjs.map +1 -1
  100. package/dist/esm/sqliteRuntime.mjs +289 -0
  101. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  102. package/dist/esm/sqliteRuntime.native.js +406 -0
  103. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  104. package/dist/esm/syncHost.mjs +24 -10
  105. package/dist/esm/syncHost.mjs.map +1 -1
  106. package/dist/esm/syncHost.native.js +30 -14
  107. package/dist/esm/syncHost.native.js.map +1 -1
  108. package/dist/esm/syncHost.test.mjs +15 -4
  109. package/dist/esm/syncHost.test.mjs.map +1 -1
  110. package/dist/esm/syncHost.test.native.js +16 -4
  111. package/dist/esm/syncHost.test.native.js.map +1 -1
  112. package/dist/esm/vite-plugin.mjs +2 -1
  113. package/dist/esm/vite-plugin.mjs.map +1 -1
  114. package/dist/esm/vite-plugin.native.js +2 -1
  115. package/dist/esm/vite-plugin.native.js.map +1 -1
  116. package/lint/ssr-guards.js +8 -7
  117. package/package.json +5 -6
  118. package/readme.md +13 -4
  119. package/src/asyncTasks.ts +33 -0
  120. package/src/cli.ts +7 -1
  121. package/src/createSchemaFromDrizzle.ts +2 -2
  122. package/src/createZeroDirectServer.ts +411 -0
  123. package/src/createZeroSQLiteServer.test.ts +28 -12
  124. package/src/createZeroSQLiteServer.ts +14 -481
  125. package/src/createZeroServer.test.ts +86 -2
  126. package/src/createZeroServerCore.ts +39 -343
  127. package/src/generate.test.ts +75 -1
  128. package/src/generate.ts +30 -4
  129. package/src/helpers/createMutators.ts +3 -3
  130. package/src/helpers/mutatorContext.ts +1 -1
  131. package/src/index.ts +1 -0
  132. package/src/server.ts +2 -0
  133. package/src/sqliteRuntime.ts +512 -0
  134. package/src/syncHost.test.ts +12 -5
  135. package/src/syncHost.ts +55 -16
  136. package/src/types.ts +21 -3
  137. package/src/vite-plugin.ts +1 -0
  138. package/test-fixtures/server-return-types.ts +20 -2
  139. package/types/asyncTasks.d.ts +7 -0
  140. package/types/asyncTasks.d.ts.map +1 -0
  141. package/types/createSchemaFromDrizzle.d.ts +2 -2
  142. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  143. package/types/createZeroDirectServer.d.ts +80 -0
  144. package/types/createZeroDirectServer.d.ts.map +1 -0
  145. package/types/createZeroSQLiteServer.d.ts +5 -30
  146. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  147. package/types/createZeroServerCore.d.ts +30 -87
  148. package/types/createZeroServerCore.d.ts.map +1 -1
  149. package/types/generate.d.ts +2 -0
  150. package/types/generate.d.ts.map +1 -1
  151. package/types/helpers/createMutators.d.ts +3 -3
  152. package/types/helpers/createMutators.d.ts.map +1 -1
  153. package/types/index.d.ts +1 -0
  154. package/types/index.d.ts.map +1 -1
  155. package/types/server.d.ts +2 -0
  156. package/types/server.d.ts.map +1 -1
  157. package/types/sqliteRuntime.d.ts +71 -0
  158. package/types/sqliteRuntime.d.ts.map +1 -0
  159. package/types/syncHost.d.ts +10 -19
  160. package/types/syncHost.d.ts.map +1 -1
  161. package/types/types.d.ts +18 -2
  162. package/types/types.d.ts.map +1 -1
  163. package/types/vite-plugin.d.ts.map +1 -1
@@ -0,0 +1,51 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var asyncTasks_exports = {};
24
+ __export(asyncTasks_exports, {
25
+ runAsyncTaskEntries: () => runAsyncTaskEntries
26
+ });
27
+ module.exports = __toCommonJS(asyncTasks_exports);
28
+ async function runAsyncTaskEntries(entries, {
29
+ background
30
+ } = {}) {
31
+ const barriers = entries.filter(entry => entry.barrier);
32
+ const backgroundEntries = entries.filter(entry => !entry.barrier);
33
+ await Promise.all(barriers.map(({
34
+ task
35
+ }) => task()));
36
+ if (backgroundEntries.length === 0) return;
37
+ const promise = Promise.allSettled(backgroundEntries.map(({
38
+ task
39
+ }) => Promise.resolve().then(task))).then(results => {
40
+ for (const result of results) {
41
+ if (result.status === "rejected") {
42
+ console.error("[on-zero] async task failed", result.reason);
43
+ }
44
+ }
45
+ });
46
+ if (background) {
47
+ background(promise);
48
+ } else {
49
+ await promise;
50
+ }
51
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var asyncTasks_exports = {};
26
+ __export(asyncTasks_exports, {
27
+ runAsyncTaskEntries: () => runAsyncTaskEntries
28
+ });
29
+ module.exports = __toCommonJS(asyncTasks_exports);
30
+ async function runAsyncTaskEntries(entries) {
31
+ var {
32
+ background
33
+ } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
34
+ var barriers = entries.filter(function (entry) {
35
+ return entry.barrier;
36
+ });
37
+ var backgroundEntries = entries.filter(function (entry) {
38
+ return !entry.barrier;
39
+ });
40
+ await Promise.all(barriers.map(function (param) {
41
+ var {
42
+ task
43
+ } = param;
44
+ return task();
45
+ }));
46
+ if (backgroundEntries.length === 0) return;
47
+ var promise = Promise.allSettled(backgroundEntries.map(function (param) {
48
+ var {
49
+ task
50
+ } = param;
51
+ return Promise.resolve().then(task);
52
+ })).then(function (results) {
53
+ var _iteratorNormalCompletion = true,
54
+ _didIteratorError = false,
55
+ _iteratorError = void 0;
56
+ try {
57
+ for (var _iterator = results[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
58
+ var result = _step.value;
59
+ if (result.status === "rejected") {
60
+ console.error("[on-zero] async task failed", result.reason);
61
+ }
62
+ }
63
+ } catch (err) {
64
+ _didIteratorError = true;
65
+ _iteratorError = err;
66
+ } finally {
67
+ try {
68
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
69
+ _iterator.return();
70
+ }
71
+ } finally {
72
+ if (_didIteratorError) {
73
+ throw _iteratorError;
74
+ }
75
+ }
76
+ }
77
+ });
78
+ if (background) {
79
+ background(promise);
80
+ } else {
81
+ await promise;
82
+ }
83
+ }
84
+ //# sourceMappingURL=asyncTasks.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","asyncTasks_exports","__export","runAsyncTaskEntries","module","exports","entries","background","arguments","length","barriers","filter","entry","barrier","backgroundEntries","Promise","all","map","param","task","promise","allSettled","resolve","then","results","_iteratorNormalCompletion","_didIteratorError","_iteratorError"],"sources":["../../src/asyncTasks.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,kBAAA;AAAAC,QAAA,CAAAD,kBAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAOAC,MAAA,CAAAC,OAAA,GAAsBT,YAAA,CAAAK,kBAElB;AAEF,eAAME,mBAA0BA,CAACG,OAAA;EACjC;IAAMC;EAAA,IAAAC,SAAoB,CAAAC,MAAQ,IAAO,IAACD,SAAW,QAAM,KAAO,IAAAA,SAAA;EAElE,IAAAE,QAAM,GAAQJ,OAAI,CAAAK,MAAS,WAAYC,KAAA,EAAM;IAC7C,OAAIA,KAAA,CAAAC,OAAkB;EAEtB;EAAwB,IACtBC,iBAAkB,GAAIR,OAAG,CAAKK,MAAM,WAAQC,KAAA,EAAQ;IACpD,OAAM,CAAAA,KAAA,CAAAC,OAAY;EAClB;EACE,MAAAE,OAAI,CAAAC,GAAO,CAAAN,QAAW,CAAAO,GAAA,WAAYC,KAAA;IAChC;MAAAC;IAAA,CAAQ,GAAAD,KAAM;IAA4C,OAC5DC,IAAA;EAAA,EACF;EACF,IAACL,iBAAA,CAAAL,MAAA;EAED,IAAIW,OAAA,GAAAL,OAAY,CAAAM,UAAA,CAAAP,iBAAA,CAAAG,GAAA,WAAAC,KAAA;IACd;MAAAC;IAAW,IAAAD,KAAO;IACpB,OAAOH,OAAA,CAAAO,OAAA,GAAAC,IAAA,CAAAJ,IAAA;EACL,IAAAI,IAAM,WAAAC,OAAA;IACR,IAAAC,yBAAA;MAAAC,iBAAA;MAAAC,cAAA;IACF","ignoreList":[]}
package/dist/cjs/cli.cjs CHANGED
@@ -24,6 +24,12 @@ const generateCommand = (0, import_citty.defineCommand)({
24
24
  type: "string",
25
25
  description: "Command to run after generation completes",
26
26
  required: false
27
+ },
28
+ force: {
29
+ type: "boolean",
30
+ description: "Ignore cached inputs and regenerate all outputs",
31
+ required: false,
32
+ default: false
27
33
  }
28
34
  },
29
35
  async run({
@@ -31,7 +37,8 @@ const generateCommand = (0, import_citty.defineCommand)({
31
37
  }) {
32
38
  const opts = {
33
39
  dir: (0, import_node_path.resolve)(args.dir),
34
- after: args.after
40
+ after: args.after,
41
+ force: args.force
35
42
  };
36
43
  if (args.watch) {
37
44
  await (0, import_generate.watch)(opts);
@@ -26,6 +26,12 @@ var generateCommand = (0, import_citty.defineCommand)({
26
26
  type: "string",
27
27
  description: "Command to run after generation completes",
28
28
  required: false
29
+ },
30
+ force: {
31
+ type: "boolean",
32
+ description: "Ignore cached inputs and regenerate all outputs",
33
+ required: false,
34
+ default: false
29
35
  }
30
36
  },
31
37
  async run(param) {
@@ -34,7 +40,8 @@ var generateCommand = (0, import_citty.defineCommand)({
34
40
  } = param;
35
41
  var opts = {
36
42
  dir: (0, import_path.resolve)(args.dir),
37
- after: args.after
43
+ after: args.after,
44
+ force: args.force
38
45
  };
39
46
  if (args.watch) {
40
47
  await (0, import_generate.watch)(opts);
@@ -1 +1 @@
1
- {"version":3,"names":["import_path","require","import_citty","import_generate","generateCommand","defineCommand","meta","name","description","args","dir","type","required","default","watch","after","run","param","opts","resolve","Promise","generate","main"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":";AACA;;AAEA,IAAAA,WAAA,GAAAC,OAAuC;AAEvC,IAAAC,YAAA,GAAAD,OAAgC;AAEhC,IAAAE,eAAM,GAAAF,OAAkB;AAAc,IACpCG,eAAM,OAAAF,YAAA,CAAAG,aAAA;EAAAC,IACJ;IACAC,IAAA,YAAa;IACfC,WAAA;EACA;EAAMC,IACJ;IAAKC,GACH;MACAC,IAAA,cAAa;MACbH,WAAU;MACVI,QAAA,EAAS;MACXC,OAAA;IACA;IAAOC,KACL;MACAH,IAAA,WAAa;MACbH,WAAU;MACVI,QAAA,EAAS;MACXC,OAAA;IACA;IAAOE,KACL;MACAJ,IAAA,UAAa;MACbH,WAAU;MACZI,QAAA;IACF;EAEA;EACE,MAAAI,GAAMA,CAAAC,KAAO,EAAE;IAEf,IAAI;MAAAR;IAAK,IAAAQ,KAAO;IACd,IAAAC,IAAA;MACAR,GAAA,GAAM,GAAAV,WAAY,CAAAmB,OAAM,EAAAV,IAAA,CAAAC,GAAA;MAACK,KAAC,EAAAN,IAAA,CAAAM;IAC5B;IACE,IAAAN,IAAA,CAAAK,KAAM;MACR,UAAAX,eAAA,CAAAW,KAAA,EAAAI,IAAA;MACF,UAAAE,OAAA,cACD;IAED,OAAM;MACJ,MAAM,IAAAjB,eAAA,CAAAkB,QAAA,EAAAH,IAAA;IACJ;EAAM;AACO,EACf;AAAA,IACAI,IAAA,OAAapB,YAAA,CAAAG,aAAA;EAAAC,IACX;IACFC,IAAA;IACDC,WAAA;EAAA","ignoreList":[]}
1
+ {"version":3,"names":["import_path","require","import_citty","import_generate","generateCommand","defineCommand","meta","name","description","args","dir","type","required","default","watch","after","force","run","param","opts","resolve","Promise","generate","main"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":";AACA;;AAEA,IAAAA,WAAA,GAAAC,OAAuC;AAEvC,IAAAC,YAAA,GAAAD,OAAgC;AAEhC,IAAAE,eAAM,GAAAF,OAAkB;AAAc,IACpCG,eAAM,OAAAF,YAAA,CAAAG,aAAA;EAAAC,IACJ;IACAC,IAAA,YAAa;IACfC,WAAA;EACA;EAAMC,IACJ;IAAKC,GACH;MACAC,IAAA,cAAa;MACbH,WAAU;MACVI,QAAA,EAAS;MACXC,OAAA;IACA;IAAOC,KACL;MACAH,IAAA,WAAa;MACbH,WAAU;MACVI,QAAA,EAAS;MACXC,OAAA;IACA;IAAOE,KACL;MACAJ,IAAA,UAAa;MACbH,WAAU;MACZI,QAAA;IACA;IAAOI,KACL;MACAL,IAAA,WAAa;MACbH,WAAU;MACVI,QAAA,EAAS;MACXC,OAAA;IACF;EAEA;EACE,MAAAI,GAAMA,CAAAC,KAAO,EAAE;IAEf,IAAI;MAAAT;IAAK,IAAAS,KAAO;IACd,IAAAC,IAAA;MACAT,GAAA,GAAM,GAAAV,WAAY,CAAAoB,OAAM,EAAAX,IAAA,CAAAC,GAAA;MAACK,KAAC,EAAAN,IAAA,CAAAM,KAAA;MAC5BC,KAAO,EAAAP,IAAA,CAAAO;IACL;IACF,IAAAP,IAAA,CAAAK,KAAA;MACF,UAAAX,eAAA,CAAAW,KAAA,EAAAK,IAAA;MACD,UAAAE,OAAA,cAEK;IACJ,OAAM;MACJ,MAAM,IAAAlB,eAAA,CAAAmB,QAAA,EAAAH,IAAA;IACN;EACF;AAAA,EACA;AAAa,IACXI,IAAA,OAAUrB,YAAA,CAAAG,aAAA;EACZC,IAAA;IACDC,IAAA;IAEDC,WAAA","ignoreList":[]}
@@ -22,11 +22,11 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var createSchemaFromDrizzle_exports = {};
24
24
  __export(createSchemaFromDrizzle_exports, {
25
- createSchemaFromDrizzle: () => import_drizzle_zero.drizzleZeroConfig,
26
- createZeroTableBuilder: () => import_drizzle_zero2.createZeroTableBuilder,
25
+ createSchemaFromDrizzle: () => import_drizzle_zero_sqlite.drizzleZeroConfig,
26
+ createZeroTableBuilder: () => import_drizzle_zero_sqlite2.createZeroTableBuilder,
27
27
  generateDrizzleSchemaFile: () => import_generate.generateDrizzleSchemaFile
28
28
  });
29
29
  module.exports = __toCommonJS(createSchemaFromDrizzle_exports);
30
- var import_drizzle_zero = require("drizzle-zero");
31
- var import_drizzle_zero2 = require("drizzle-zero");
30
+ var import_drizzle_zero_sqlite = require("drizzle-zero-sqlite");
31
+ var import_drizzle_zero_sqlite2 = require("drizzle-zero-sqlite");
32
32
  var import_generate = require("./generate.cjs");
@@ -24,12 +24,12 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var createSchemaFromDrizzle_exports = {};
26
26
  __export(createSchemaFromDrizzle_exports, {
27
- createSchemaFromDrizzle: () => import_drizzle_zero.drizzleZeroConfig,
28
- createZeroTableBuilder: () => import_drizzle_zero2.createZeroTableBuilder,
27
+ createSchemaFromDrizzle: () => import_drizzle_zero_sqlite.drizzleZeroConfig,
28
+ createZeroTableBuilder: () => import_drizzle_zero_sqlite2.createZeroTableBuilder,
29
29
  generateDrizzleSchemaFile: () => import_generate.generateDrizzleSchemaFile
30
30
  });
31
31
  module.exports = __toCommonJS(createSchemaFromDrizzle_exports);
32
- var import_drizzle_zero = require("drizzle-zero");
33
- var import_drizzle_zero2 = require("drizzle-zero");
32
+ var import_drizzle_zero_sqlite = require("drizzle-zero-sqlite");
33
+ var import_drizzle_zero_sqlite2 = require("drizzle-zero-sqlite");
34
34
  var import_generate = require("./generate.native.js");
35
35
  //# sourceMappingURL=createSchemaFromDrizzle.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createSchemaFromDrizzle_exports","__export","createSchemaFromDrizzle","import_drizzle_zero","drizzleZeroConfig","createZeroTableBuilder","import_drizzle_zero2","generateDrizzleSchemaFile","import_generate","module","exports","require"],"sources":["../../src/createSchemaFromDrizzle.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,+BAAA;AAAAC,QAAA,CAAAD,+BAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAC,iBAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAC,oBAAA,CAAAD,sBAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD;AAAA;AAAAE,MAAA,CAAAC,OAAA,GAAAf,YAA6D,CAAAK,+BAAA;AAC7D,IAAAG,mBAAA,GAAAQ,OAAuC;AACvC,IAAAL,oBAA0C,GAAAK,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createSchemaFromDrizzle_exports","__export","createSchemaFromDrizzle","import_drizzle_zero_sqlite","drizzleZeroConfig","createZeroTableBuilder","import_drizzle_zero_sqlite2","generateDrizzleSchemaFile","import_generate","module","exports","require"],"sources":["../../src/createSchemaFromDrizzle.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,+BAAA;AAAAC,QAAA,CAAAD,+BAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAC,0BAAA,CAAAC,iBAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAC,2BAAA,CAAAD,sBAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD;AAAA;AAAAE,MAAA,CAAAC,OAAA,GAAAf,YAAA,CAAAK,+BAA6D;AAC7D,IAAAG,0BAAA,GAAAQ,OAAuC;AACvC,IAAAL,2BAA0C,GAAAK,OAAA","ignoreList":[]}
@@ -0,0 +1,269 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var createZeroDirectServer_exports = {};
24
+ __export(createZeroDirectServer_exports, {
25
+ createAsyncTaskCollector: () => createAsyncTaskCollector,
26
+ createZeroDirectServer: () => createZeroDirectServer,
27
+ createZeroDirectServerRuntime: () => createZeroDirectServerRuntime,
28
+ resolveServerQuery: () => resolveServerQuery
29
+ });
30
+ module.exports = __toCommonJS(createZeroDirectServer_exports);
31
+ var import_zero = require("@rocicorp/zero");
32
+ var import_asyncTasks = require("./asyncTasks.cjs");
33
+ var import_createPermissions = require("./createPermissions.cjs");
34
+ var import_createMutators = require("./helpers/createMutators.cjs");
35
+ var import_mutatorContext = require("./helpers/mutatorContext.cjs");
36
+ var import_queryContext = require("./helpers/queryContext.cjs");
37
+ var import_modelRegistry = require("./modelRegistry.cjs");
38
+ var import_run = require("./run.cjs");
39
+ var import_state = require("./state.cjs");
40
+ var import_where = require("./where.cjs");
41
+ var import_zeroRunner = require("./zeroRunner.cjs");
42
+ function resolveServerQuery({
43
+ authData,
44
+ name,
45
+ args,
46
+ queries,
47
+ permissions,
48
+ validateQuery
49
+ }) {
50
+ if (name.startsWith("permission.")) {
51
+ const table = name.slice("permission.".length);
52
+ const {
53
+ objOrId
54
+ } = args;
55
+ const permission = (0, import_modelRegistry.getMutationsPermissions)(table);
56
+ if (!permission) {
57
+ throw new Error(`[permission] no permission defined for table: ${table}`);
58
+ }
59
+ (0, import_where.setEvaluatingPermission)(true);
60
+ try {
61
+ return (0, import_state.getZQL)()[table].where(eb => {
62
+ return permissions.buildPermissionQuery(authData, eb, permission, objOrId, table);
63
+ }).one();
64
+ } finally {
65
+ (0, import_where.setEvaluatingPermission)(false);
66
+ }
67
+ }
68
+ if (validateQuery) {
69
+ validateQuery({
70
+ authData,
71
+ queryName: name,
72
+ params: args
73
+ });
74
+ }
75
+ const query = (0, import_zero.mustGetQuery)(queries, name);
76
+ return query.fn({
77
+ args,
78
+ ctx: authData
79
+ });
80
+ }
81
+ function createAsyncTaskCollector() {
82
+ const committed = [];
83
+ let attempt;
84
+ let completedAttempt;
85
+ const enqueueTask = (task, opts) => {
86
+ const entries = attempt ?? committed;
87
+ entries.push({
88
+ task,
89
+ barrier: opts?.barrier === true
90
+ });
91
+ };
92
+ const lifecycle = {
93
+ beginAttempt() {
94
+ attempt = [];
95
+ completedAttempt = void 0;
96
+ },
97
+ completeAttempt() {
98
+ completedAttempt = attempt;
99
+ attempt = void 0;
100
+ },
101
+ rollbackAttempt() {
102
+ attempt = void 0;
103
+ completedAttempt = void 0;
104
+ },
105
+ commitTransaction() {
106
+ if (completedAttempt) committed.push(...completedAttempt);
107
+ completedAttempt = void 0;
108
+ },
109
+ rollbackTransaction() {
110
+ attempt = void 0;
111
+ completedAttempt = void 0;
112
+ }
113
+ };
114
+ return {
115
+ committed,
116
+ enqueueTask,
117
+ lifecycle
118
+ };
119
+ }
120
+ function createZeroDirectServerRuntime({
121
+ createDatabase,
122
+ createServerActions,
123
+ defaultAllowAdminRole = "all",
124
+ defaultMutateAuthData = {},
125
+ models,
126
+ mutations: mutationValidators,
127
+ queries,
128
+ schema,
129
+ validateMutation,
130
+ validateQuery
131
+ }) {
132
+ (0, import_state.setSchema)(schema);
133
+ (0, import_state.setEnvironment)("server");
134
+ const permissions = (0, import_createPermissions.createPermissions)({
135
+ environment: "server",
136
+ schema,
137
+ adminRoleMode: defaultAllowAdminRole
138
+ });
139
+ async function runTransaction(database, query2) {
140
+ try {
141
+ if ((0, import_mutatorContext.isInZeroMutation)()) {
142
+ const {
143
+ tx
144
+ } = (0, import_mutatorContext.mutatorContext)();
145
+ return await query2(tx);
146
+ }
147
+ return await database.transaction(query2, dummyTransactionInput);
148
+ } catch (err) {
149
+ if (err?.name !== "PermissionError") {
150
+ console.error(`Error running transaction(): ${err}`);
151
+ }
152
+ throw err;
153
+ }
154
+ }
155
+ async function transaction(query2) {
156
+ return runTransaction(createDatabase(), query2);
157
+ }
158
+ async function runMutate(modelName, mutatorName, mutatorArg, options) {
159
+ let authData = options?.authData;
160
+ if (!authData) {
161
+ const scoped = (0, import_mutatorContext.getScopedAuthData)();
162
+ if (scoped) authData = scoped;
163
+ }
164
+ const tasks = createAsyncTaskCollector();
165
+ const mutators = (0, import_createMutators.createMutators)({
166
+ models,
167
+ environment: "server",
168
+ enqueueTask: tasks.enqueueTask,
169
+ authData: {
170
+ ...defaultMutateAuthData,
171
+ ...authData
172
+ },
173
+ createServerActions,
174
+ can: permissions.can,
175
+ validateMutation,
176
+ mutationValidators
177
+ });
178
+ const modelMutators = mutators[modelName];
179
+ const mutator = modelMutators[mutatorName];
180
+ await runTransaction(createDatabaseWithLifecycle(createDatabase(), tasks.lifecycle), async tx => {
181
+ await mutator(tx, mutatorArg);
182
+ });
183
+ if (tasks.committed.length) {
184
+ const resolvedAuth = authData ?? null;
185
+ const entries = tasks.committed.map(entry => ({
186
+ ...entry,
187
+ task: () => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, entry.task)
188
+ }));
189
+ if (options?.awaitEffects) {
190
+ await Promise.all(entries.map(({
191
+ task
192
+ }) => task()));
193
+ } else {
194
+ await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
195
+ background: () => void 0
196
+ });
197
+ }
198
+ }
199
+ }
200
+ const mutate = new Proxy({}, {
201
+ get(_, modelName) {
202
+ return new Proxy({}, {
203
+ get(_2, mutatorName) {
204
+ return (arg, options) => runMutate(modelName, mutatorName, arg, options);
205
+ }
206
+ });
207
+ }
208
+ });
209
+ function query(cb, authData) {
210
+ const run = () => transaction(async tx => {
211
+ return tx.run(cb((0, import_state.getZQL)()));
212
+ });
213
+ if (authData !== void 0) {
214
+ return (0, import_queryContext.runWithQueryContext)({
215
+ authData
216
+ }, run);
217
+ }
218
+ return run();
219
+ }
220
+ if (queries) {
221
+ (0, import_run.setCustomQueries)(queries);
222
+ }
223
+ (0, import_zeroRunner.setRunner)(queryObj => {
224
+ return transaction(async tx => {
225
+ return tx.run(queryObj);
226
+ });
227
+ });
228
+ return {
229
+ permissions,
230
+ server: {
231
+ transaction,
232
+ mutate,
233
+ query
234
+ }
235
+ };
236
+ }
237
+ function createZeroDirectServer(options) {
238
+ return createZeroDirectServerRuntime(options).server;
239
+ }
240
+ function createDatabaseWithLifecycle(database, lifecycle) {
241
+ return {
242
+ async transaction(callback, input) {
243
+ try {
244
+ const value = await database.transaction(async (tx, hooks) => {
245
+ lifecycle.beginAttempt();
246
+ try {
247
+ const result = await callback(tx, hooks);
248
+ lifecycle.completeAttempt();
249
+ return result;
250
+ } catch (error) {
251
+ lifecycle.rollbackAttempt();
252
+ throw error;
253
+ }
254
+ }, input);
255
+ lifecycle.commitTransaction();
256
+ return value;
257
+ } catch (error) {
258
+ lifecycle.rollbackTransaction();
259
+ throw error;
260
+ }
261
+ }
262
+ };
263
+ }
264
+ const dummyTransactionInput = {
265
+ clientGroupID: "unused",
266
+ clientID: "unused",
267
+ mutationID: 42,
268
+ upstreamSchema: "unused"
269
+ };