on-zero 0.4.3 → 0.4.4

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 (249) hide show
  1. package/dist/cjs/cli.cjs +46 -41
  2. package/dist/cjs/cli.native.js +48 -43
  3. package/dist/cjs/cli.native.js.map +1 -1
  4. package/dist/cjs/constants.cjs +14 -12
  5. package/dist/cjs/constants.native.js +14 -12
  6. package/dist/cjs/constants.native.js.map +1 -1
  7. package/dist/cjs/createPermissions.cjs +66 -34
  8. package/dist/cjs/createPermissions.native.js +143 -87
  9. package/dist/cjs/createPermissions.native.js.map +1 -1
  10. package/dist/cjs/createSchemaFromDrizzle.cjs +15 -13
  11. package/dist/cjs/createSchemaFromDrizzle.native.js +15 -13
  12. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  13. package/dist/cjs/createUseQuery.cjs +48 -35
  14. package/dist/cjs/createUseQuery.native.js +52 -38
  15. package/dist/cjs/createUseQuery.native.js.map +1 -1
  16. package/dist/cjs/createZeroClient.cjs +177 -135
  17. package/dist/cjs/createZeroClient.native.js +246 -195
  18. package/dist/cjs/createZeroClient.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.cjs +175 -129
  20. package/dist/cjs/createZeroServer.native.js +170 -138
  21. package/dist/cjs/createZeroServer.native.js.map +1 -1
  22. package/dist/cjs/generate-helpers.cjs +122 -88
  23. package/dist/cjs/generate-helpers.native.js +209 -174
  24. package/dist/cjs/generate-helpers.native.js.map +1 -1
  25. package/dist/cjs/generate-lite.cjs +90 -58
  26. package/dist/cjs/generate-lite.native.js +200 -140
  27. package/dist/cjs/generate-lite.native.js.map +1 -1
  28. package/dist/cjs/generate-lite.test.cjs +229 -192
  29. package/dist/cjs/generate-lite.test.native.js +229 -194
  30. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  31. package/dist/cjs/generate.cjs +455 -291
  32. package/dist/cjs/generate.native.js +747 -565
  33. package/dist/cjs/generate.native.js.map +1 -1
  34. package/dist/cjs/generate.test.cjs +170 -106
  35. package/dist/cjs/generate.test.native.js +171 -107
  36. package/dist/cjs/generate.test.native.js.map +1 -1
  37. package/dist/cjs/helpers/batchQuery.cjs +29 -18
  38. package/dist/cjs/helpers/batchQuery.native.js +36 -21
  39. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  40. package/dist/cjs/helpers/clearZeroClientData.cjs +30 -21
  41. package/dist/cjs/helpers/clearZeroClientData.native.js +42 -33
  42. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  43. package/dist/cjs/helpers/createMutators.cjs +80 -42
  44. package/dist/cjs/helpers/createMutators.native.js +139 -87
  45. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  46. package/dist/cjs/helpers/didRunPermissionCheck.cjs +19 -13
  47. package/dist/cjs/helpers/didRunPermissionCheck.native.js +22 -20
  48. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  49. package/dist/cjs/helpers/ensureLoggedIn.cjs +16 -13
  50. package/dist/cjs/helpers/ensureLoggedIn.native.js +21 -18
  51. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  52. package/dist/cjs/helpers/getAuth.cjs +25 -15
  53. package/dist/cjs/helpers/getAuth.native.js +25 -15
  54. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  55. package/dist/cjs/helpers/mutatorContext.cjs +21 -14
  56. package/dist/cjs/helpers/mutatorContext.native.js +21 -15
  57. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  58. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +126 -81
  59. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +135 -92
  60. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  61. package/dist/cjs/helpers/queryContext.cjs +12 -10
  62. package/dist/cjs/helpers/queryContext.native.js +16 -13
  63. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  64. package/dist/cjs/helpers/showZeroClientError.cjs +24 -19
  65. package/dist/cjs/helpers/showZeroClientError.native.js +38 -34
  66. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  67. package/dist/cjs/helpers/useZeroDebug.cjs +82 -49
  68. package/dist/cjs/helpers/useZeroDebug.native.js +83 -55
  69. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  70. package/dist/cjs/index.cjs +17 -15
  71. package/dist/cjs/index.native.js +17 -15
  72. package/dist/cjs/index.native.js.map +1 -1
  73. package/dist/cjs/modelRegistry.cjs +12 -10
  74. package/dist/cjs/modelRegistry.native.js +12 -10
  75. package/dist/cjs/modelRegistry.native.js.map +1 -1
  76. package/dist/cjs/mutations.cjs +66 -42
  77. package/dist/cjs/mutations.native.js +68 -46
  78. package/dist/cjs/mutations.native.js.map +1 -1
  79. package/dist/cjs/queryRegistry.cjs +13 -10
  80. package/dist/cjs/queryRegistry.native.js +14 -11
  81. package/dist/cjs/queryRegistry.native.js.map +1 -1
  82. package/dist/cjs/resolveQuery.cjs +22 -18
  83. package/dist/cjs/resolveQuery.native.js +32 -28
  84. package/dist/cjs/resolveQuery.native.js.map +1 -1
  85. package/dist/cjs/run.cjs +35 -28
  86. package/dist/cjs/run.native.js +35 -29
  87. package/dist/cjs/run.native.js.map +1 -1
  88. package/dist/cjs/server.cjs +7 -5
  89. package/dist/cjs/serverWhere.cjs +13 -11
  90. package/dist/cjs/serverWhere.native.js +13 -11
  91. package/dist/cjs/serverWhere.native.js.map +1 -1
  92. package/dist/cjs/serverWhere.test.cjs +83 -55
  93. package/dist/cjs/serverWhere.test.native.js +72 -50
  94. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  95. package/dist/cjs/state.cjs +49 -44
  96. package/dist/cjs/state.native.js +56 -53
  97. package/dist/cjs/state.native.js.map +1 -1
  98. package/dist/cjs/types.cjs +7 -5
  99. package/dist/cjs/types.native.js +7 -5
  100. package/dist/cjs/types.native.js.map +1 -1
  101. package/dist/cjs/usePermission.test.cjs +58 -45
  102. package/dist/cjs/usePermission.test.native.js +59 -48
  103. package/dist/cjs/usePermission.test.native.js.map +1 -1
  104. package/dist/cjs/vite-plugin.cjs +41 -21
  105. package/dist/cjs/vite-plugin.native.js +61 -47
  106. package/dist/cjs/vite-plugin.native.js.map +1 -1
  107. package/dist/cjs/where.cjs +39 -24
  108. package/dist/cjs/where.native.js +44 -29
  109. package/dist/cjs/where.native.js.map +1 -1
  110. package/dist/cjs/zeroRunner.cjs +18 -12
  111. package/dist/cjs/zeroRunner.native.js +22 -16
  112. package/dist/cjs/zeroRunner.native.js.map +1 -1
  113. package/dist/cjs/zql.cjs +14 -11
  114. package/dist/cjs/zql.native.js +19 -17
  115. package/dist/cjs/zql.native.js.map +1 -1
  116. package/dist/esm/cli.mjs +43 -38
  117. package/dist/esm/cli.mjs.map +1 -1
  118. package/dist/esm/cli.native.js +44 -39
  119. package/dist/esm/cli.native.js.map +1 -1
  120. package/dist/esm/constants.mjs +2 -2
  121. package/dist/esm/constants.mjs.map +1 -1
  122. package/dist/esm/constants.native.js +2 -2
  123. package/dist/esm/constants.native.js.map +1 -1
  124. package/dist/esm/createPermissions.mjs +48 -18
  125. package/dist/esm/createPermissions.mjs.map +1 -1
  126. package/dist/esm/createPermissions.native.js +125 -71
  127. package/dist/esm/createPermissions.native.js.map +1 -1
  128. package/dist/esm/createUseQuery.mjs +32 -21
  129. package/dist/esm/createUseQuery.mjs.map +1 -1
  130. package/dist/esm/createUseQuery.native.js +36 -24
  131. package/dist/esm/createUseQuery.native.js.map +1 -1
  132. package/dist/esm/createZeroClient.mjs +148 -108
  133. package/dist/esm/createZeroClient.mjs.map +1 -1
  134. package/dist/esm/createZeroClient.native.js +217 -168
  135. package/dist/esm/createZeroClient.native.js.map +1 -1
  136. package/dist/esm/createZeroServer.mjs +148 -104
  137. package/dist/esm/createZeroServer.mjs.map +1 -1
  138. package/dist/esm/createZeroServer.native.js +143 -113
  139. package/dist/esm/createZeroServer.native.js.map +1 -1
  140. package/dist/esm/generate-helpers.mjs +110 -78
  141. package/dist/esm/generate-helpers.mjs.map +1 -1
  142. package/dist/esm/generate-helpers.native.js +197 -164
  143. package/dist/esm/generate-helpers.native.js.map +1 -1
  144. package/dist/esm/generate-lite.mjs +78 -48
  145. package/dist/esm/generate-lite.mjs.map +1 -1
  146. package/dist/esm/generate-lite.native.js +188 -130
  147. package/dist/esm/generate-lite.native.js.map +1 -1
  148. package/dist/esm/generate-lite.test.mjs +227 -190
  149. package/dist/esm/generate-lite.test.mjs.map +1 -1
  150. package/dist/esm/generate-lite.test.native.js +227 -192
  151. package/dist/esm/generate-lite.test.native.js.map +1 -1
  152. package/dist/esm/generate.mjs +427 -265
  153. package/dist/esm/generate.mjs.map +1 -1
  154. package/dist/esm/generate.native.js +718 -538
  155. package/dist/esm/generate.native.js.map +1 -1
  156. package/dist/esm/generate.test.mjs +165 -101
  157. package/dist/esm/generate.test.mjs.map +1 -1
  158. package/dist/esm/generate.test.native.js +165 -101
  159. package/dist/esm/generate.test.native.js.map +1 -1
  160. package/dist/esm/helpers/batchQuery.mjs +17 -8
  161. package/dist/esm/helpers/batchQuery.mjs.map +1 -1
  162. package/dist/esm/helpers/batchQuery.native.js +24 -11
  163. package/dist/esm/helpers/batchQuery.native.js.map +1 -1
  164. package/dist/esm/helpers/clearZeroClientData.mjs +18 -11
  165. package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -1
  166. package/dist/esm/helpers/clearZeroClientData.native.js +30 -23
  167. package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
  168. package/dist/esm/helpers/createMutators.mjs +53 -17
  169. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  170. package/dist/esm/helpers/createMutators.native.js +112 -62
  171. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  172. package/dist/esm/helpers/didRunPermissionCheck.mjs +7 -3
  173. package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -1
  174. package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -9
  175. package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -1
  176. package/dist/esm/helpers/ensureLoggedIn.mjs +2 -1
  177. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  178. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -1
  179. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  180. package/dist/esm/helpers/getAuth.mjs +10 -2
  181. package/dist/esm/helpers/getAuth.mjs.map +1 -1
  182. package/dist/esm/helpers/getAuth.native.js +10 -2
  183. package/dist/esm/helpers/getAuth.native.js.map +1 -1
  184. package/dist/esm/helpers/mutatorContext.mjs +9 -4
  185. package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
  186. package/dist/esm/helpers/mutatorContext.native.js +8 -4
  187. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  188. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +114 -71
  189. package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -1
  190. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +121 -80
  191. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  192. package/dist/esm/helpers/queryContext.native.js +2 -1
  193. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  194. package/dist/esm/helpers/showZeroClientError.mjs +12 -9
  195. package/dist/esm/helpers/showZeroClientError.mjs.map +1 -1
  196. package/dist/esm/helpers/showZeroClientError.native.js +25 -23
  197. package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
  198. package/dist/esm/helpers/useZeroDebug.mjs +67 -36
  199. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
  200. package/dist/esm/helpers/useZeroDebug.native.js +68 -42
  201. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  202. package/dist/esm/mutations.mjs +51 -29
  203. package/dist/esm/mutations.mjs.map +1 -1
  204. package/dist/esm/mutations.native.js +53 -33
  205. package/dist/esm/mutations.native.js.map +1 -1
  206. package/dist/esm/queryRegistry.mjs +1 -0
  207. package/dist/esm/queryRegistry.mjs.map +1 -1
  208. package/dist/esm/queryRegistry.native.js +2 -1
  209. package/dist/esm/queryRegistry.native.js.map +1 -1
  210. package/dist/esm/resolveQuery.mjs +10 -8
  211. package/dist/esm/resolveQuery.mjs.map +1 -1
  212. package/dist/esm/resolveQuery.native.js +20 -18
  213. package/dist/esm/resolveQuery.native.js.map +1 -1
  214. package/dist/esm/run.mjs +21 -16
  215. package/dist/esm/run.mjs.map +1 -1
  216. package/dist/esm/run.native.js +20 -16
  217. package/dist/esm/run.native.js.map +1 -1
  218. package/dist/esm/serverWhere.mjs +1 -1
  219. package/dist/esm/serverWhere.mjs.map +1 -1
  220. package/dist/esm/serverWhere.native.js +1 -1
  221. package/dist/esm/serverWhere.native.js.map +1 -1
  222. package/dist/esm/serverWhere.test.mjs +79 -51
  223. package/dist/esm/serverWhere.test.mjs.map +1 -1
  224. package/dist/esm/serverWhere.test.native.js +68 -46
  225. package/dist/esm/serverWhere.test.native.js.map +1 -1
  226. package/dist/esm/state.mjs +35 -32
  227. package/dist/esm/state.mjs.map +1 -1
  228. package/dist/esm/state.native.js +41 -40
  229. package/dist/esm/state.native.js.map +1 -1
  230. package/dist/esm/usePermission.test.mjs +53 -40
  231. package/dist/esm/usePermission.test.mjs.map +1 -1
  232. package/dist/esm/usePermission.test.native.js +54 -43
  233. package/dist/esm/usePermission.test.native.js.map +1 -1
  234. package/dist/esm/vite-plugin.mjs +27 -9
  235. package/dist/esm/vite-plugin.mjs.map +1 -1
  236. package/dist/esm/vite-plugin.native.js +47 -35
  237. package/dist/esm/vite-plugin.native.js.map +1 -1
  238. package/dist/esm/where.mjs +24 -11
  239. package/dist/esm/where.mjs.map +1 -1
  240. package/dist/esm/where.native.js +29 -16
  241. package/dist/esm/where.native.js.map +1 -1
  242. package/dist/esm/zeroRunner.mjs +6 -2
  243. package/dist/esm/zeroRunner.mjs.map +1 -1
  244. package/dist/esm/zeroRunner.native.js +8 -4
  245. package/dist/esm/zeroRunner.native.js.map +1 -1
  246. package/dist/esm/zql.mjs +2 -1
  247. package/dist/esm/zql.mjs.map +1 -1
  248. package/dist/esm/zql.native.js.map +1 -1
  249. package/package.json +3 -3
@@ -4,33 +4,35 @@ var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf,
8
- __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: !0
13
- });
14
- },
15
- __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
18
  get: () => from[key],
18
19
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
20
  });
20
- return to;
21
- };
21
+ }
22
+ return to;
23
+ };
22
24
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: !0
30
- }) : target, mod)),
31
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: !0
33
- }), mod);
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
34
36
  var generate_exports = {};
35
37
  __export(generate_exports, {
36
38
  generate: () => generate,
@@ -38,23 +40,27 @@ __export(generate_exports, {
38
40
  watch: () => watch
39
41
  });
40
42
  module.exports = __toCommonJS(generate_exports);
41
- var import_crypto = require("crypto"),
42
- import_fs = require("fs"),
43
- import_path = require("path"),
44
- import_generate_helpers = require("./generate-helpers.native.js"),
45
- hash = function (s) {
46
- return (0, import_crypto.createHash)("sha256").update(s).digest("hex");
47
- },
48
- generateCache = {},
49
- generateCachePath = "";
43
+ var import_crypto = require("crypto");
44
+ var import_fs = require("fs");
45
+ var import_path = require("path");
46
+ var import_generate_helpers = require("./generate-helpers.native.js");
47
+ var hash = function (s) {
48
+ return (0, import_crypto.createHash)("sha256").update(s).digest("hex");
49
+ };
50
+ var generateCache = {};
51
+ var generateCachePath = "";
50
52
  function getCacheDir() {
51
- for (var dir = process.cwd(); dir !== "/";) {
53
+ var dir = process.cwd();
54
+ while (dir !== "/") {
52
55
  var nm = (0, import_path.resolve)(dir, "node_modules");
53
56
  if ((0, import_fs.existsSync)(nm)) {
54
57
  var cacheDir = (0, import_path.resolve)(nm, ".on-zero");
55
- return (0, import_fs.existsSync)(cacheDir) || (0, import_fs.mkdirSync)(cacheDir, {
56
- recursive: !0
57
- }), cacheDir;
58
+ if (!(0, import_fs.existsSync)(cacheDir)) {
59
+ (0, import_fs.mkdirSync)(cacheDir, {
60
+ recursive: true
61
+ });
62
+ }
63
+ return cacheDir;
58
64
  }
59
65
  dir = (0, import_path.resolve)(dir, "..");
60
66
  }
@@ -62,34 +68,39 @@ function getCacheDir() {
62
68
  }
63
69
  function loadCache() {
64
70
  var cacheDir = getCacheDir();
65
- if (cacheDir) {
66
- generateCachePath = (0, import_path.resolve)(cacheDir, "generate-cache.json");
67
- try {
68
- generateCache = JSON.parse((0, import_fs.readFileSync)(generateCachePath, "utf-8"));
69
- } catch {
70
- generateCache = {};
71
- }
71
+ if (!cacheDir) return;
72
+ generateCachePath = (0, import_path.resolve)(cacheDir, "generate-cache.json");
73
+ try {
74
+ generateCache = JSON.parse((0, import_fs.readFileSync)(generateCachePath, "utf-8"));
75
+ } catch (e) {
76
+ generateCache = {};
72
77
  }
73
78
  }
74
79
  function saveCache() {
75
- generateCachePath && (0, import_fs.writeFileSync)(generateCachePath, JSON.stringify(generateCache) + `
76
- `, "utf-8");
80
+ if (generateCachePath) {
81
+ (0, import_fs.writeFileSync)(generateCachePath, JSON.stringify(generateCache) + "\n", "utf-8");
82
+ }
77
83
  }
78
84
  function writeFileIfChanged(filePath, content) {
79
- var contentHash = hash(content),
80
- cachedHash = generateCache[filePath];
81
- return cachedHash === contentHash && (0, import_fs.existsSync)(filePath) ? !1 : ((0, import_fs.writeFileSync)(filePath, content, "utf-8"), generateCache[filePath] = contentHash, !0);
85
+ var contentHash = hash(content);
86
+ var cachedHash = generateCache[filePath];
87
+ if (cachedHash === contentHash && (0, import_fs.existsSync)(filePath)) {
88
+ return false;
89
+ }
90
+ (0, import_fs.writeFileSync)(filePath, content, "utf-8");
91
+ generateCache[filePath] = contentHash;
92
+ return true;
82
93
  }
83
94
  function createTypeResolver(ts, files, dir) {
84
- var configPath = ts.findConfigFile(dir, ts.sys.fileExists, "tsconfig.json"),
85
- compilerOptions = {
86
- target: ts.ScriptTarget.Latest,
87
- module: ts.ModuleKind.ESNext,
88
- moduleResolution: ts.ModuleResolutionKind.Bundler,
89
- strict: !1,
90
- skipLibCheck: !0,
91
- noEmit: !0
92
- };
95
+ var configPath = ts.findConfigFile(dir, ts.sys.fileExists, "tsconfig.json");
96
+ var compilerOptions = {
97
+ target: ts.ScriptTarget.Latest,
98
+ module: ts.ModuleKind.ESNext,
99
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
100
+ strict: false,
101
+ skipLibCheck: true,
102
+ noEmit: true
103
+ };
93
104
  if (configPath) {
94
105
  var configFile = ts.readConfigFile(configPath, ts.sys.readFile);
95
106
  if (configFile.config) {
@@ -100,39 +111,49 @@ function createTypeResolver(ts, files, dir) {
100
111
  };
101
112
  }
102
113
  }
103
- var fileMap = /* @__PURE__ */new Map(),
104
- _iteratorNormalCompletion = !0,
105
- _didIteratorError = !1,
114
+ var fileMap = /* @__PURE__ */new Map();
115
+ var _iteratorNormalCompletion = true,
116
+ _didIteratorError = false,
106
117
  _iteratorError = void 0;
107
118
  try {
108
- for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
119
+ for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
109
120
  var f = _step.value;
110
121
  fileMap.set(f.path, f.content);
111
122
  }
112
123
  } catch (err) {
113
- _didIteratorError = !0, _iteratorError = err;
124
+ _didIteratorError = true;
125
+ _iteratorError = err;
114
126
  } finally {
115
127
  try {
116
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
128
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
129
+ _iterator.return();
130
+ }
117
131
  } finally {
118
- if (_didIteratorError) throw _iteratorError;
132
+ if (_didIteratorError) {
133
+ throw _iteratorError;
134
+ }
119
135
  }
120
136
  }
121
- var host = ts.createCompilerHost(compilerOptions),
122
- originalGetSourceFile = host.getSourceFile.bind(host);
137
+ var host = ts.createCompilerHost(compilerOptions);
138
+ var originalGetSourceFile = host.getSourceFile.bind(host);
123
139
  host.getSourceFile = function (fileName, languageVersion, onError) {
124
140
  var content = fileMap.get(fileName);
125
- return content !== void 0 ? ts.createSourceFile(fileName, content, languageVersion, !0) : originalGetSourceFile(fileName, languageVersion, onError);
126
- }, host.fileExists = function (fileName) {
141
+ if (content !== void 0) {
142
+ return ts.createSourceFile(fileName, content, languageVersion, true);
143
+ }
144
+ return originalGetSourceFile(fileName, languageVersion, onError);
145
+ };
146
+ host.fileExists = function (fileName) {
127
147
  return fileMap.has(fileName) || ts.sys.fileExists(fileName);
128
- }, host.readFile = function (fileName) {
148
+ };
149
+ host.readFile = function (fileName) {
129
150
  var _fileMap_get;
130
151
  return (_fileMap_get = fileMap.get(fileName)) !== null && _fileMap_get !== void 0 ? _fileMap_get : ts.sys.readFile(fileName);
131
152
  };
132
153
  var program = ts.createProgram(files.map(function (f2) {
133
- return f2.path;
134
- }), compilerOptions, host),
135
- checker = program.getTypeChecker();
154
+ return f2.path;
155
+ }), compilerOptions, host);
156
+ var checker = program.getTypeChecker();
136
157
  return {
137
158
  program,
138
159
  checker,
@@ -140,7 +161,7 @@ function createTypeResolver(ts, files, dir) {
140
161
  resolveType(node) {
141
162
  try {
142
163
  return checker.getTypeFromTypeNode(node);
143
- } catch {
164
+ } catch (e) {
144
165
  return null;
145
166
  }
146
167
  },
@@ -152,155 +173,193 @@ function createTypeResolver(ts, files, dir) {
152
173
  }
153
174
  function resolveParamType(ts, resolver, sourceFile, exportName, paramIndex) {
154
175
  var result = null;
155
- return ts.forEachChild(sourceFile, function (node) {
176
+ ts.forEachChild(sourceFile, function (node) {
156
177
  var _node_modifiers;
157
- if (!result && ts.isVariableStatement(node) && !((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0) && _node_modifiers.some(function (m) {
178
+ if (result) return;
179
+ if (!ts.isVariableStatement(node)) return;
180
+ if (!((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.some(function (m) {
158
181
  return m.kind === ts.SyntaxKind.ExportKeyword;
159
- })) {
160
- var decl = node.declarationList.declarations[0];
161
- if (!(!decl || !ts.isVariableDeclaration(decl)) && decl.name.getText(sourceFile) === exportName && decl.initializer && ts.isArrowFunction(decl.initializer)) {
162
- var param = decl.initializer.parameters[paramIndex];
163
- param?.type && (result = resolver.resolveType(param.type));
182
+ }))) return;
183
+ var decl = node.declarationList.declarations[0];
184
+ if (!decl || !ts.isVariableDeclaration(decl)) return;
185
+ if (decl.name.getText(sourceFile) !== exportName) return;
186
+ if (decl.initializer && ts.isArrowFunction(decl.initializer)) {
187
+ var param = decl.initializer.parameters[paramIndex];
188
+ if (param === null || param === void 0 ? void 0 : param.type) {
189
+ result = resolver.resolveType(param.type);
164
190
  }
165
191
  }
166
- }), result;
192
+ });
193
+ return result;
167
194
  }
168
195
  function resolveMutationParamTypes(ts, resolver, sourceFile) {
169
196
  var resolved = /* @__PURE__ */new Map();
170
- return ts.forEachChild(sourceFile, function (node) {
197
+ ts.forEachChild(sourceFile, function (node) {
171
198
  var _node_modifiers;
172
- if (ts.isVariableStatement(node) && !((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0) && _node_modifiers.some(function (m) {
199
+ if (!ts.isVariableStatement(node)) return;
200
+ if (!((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.some(function (m) {
173
201
  return m.kind === ts.SyntaxKind.ExportKeyword;
174
- })) {
175
- var decl = node.declarationList.declarations[0];
176
- if (!(!decl || !ts.isVariableDeclaration(decl)) && decl.name.getText(sourceFile) === "mutate" && !(!decl.initializer || !ts.isCallExpression(decl.initializer))) {
177
- for (var args = decl.initializer.arguments, handlersArg = null, i = args.length - 1; i >= 0; i--) if (ts.isObjectLiteralExpression(args[i])) {
178
- handlersArg = args[i];
179
- break;
180
- }
181
- if (handlersArg) {
182
- var _iteratorNormalCompletion = !0,
183
- _didIteratorError = !1,
184
- _iteratorError = void 0;
185
- try {
186
- for (var _iterator = handlersArg.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
187
- var prop = _step.value,
188
- _prop_name;
189
- if (!(!ts.isPropertyAssignment(prop) && !ts.isMethodDeclaration(prop))) {
190
- var name = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);
191
- if (name) {
192
- var params = null;
193
- if (ts.isPropertyAssignment(prop)) {
194
- var init = prop.initializer;
195
- (ts.isArrowFunction(init) || ts.isFunctionExpression(init)) && (params = init.parameters);
196
- } else ts.isMethodDeclaration(prop) && (params = prop.parameters);
197
- if (!(!params || params.length < 2)) {
198
- var typeNode = params[1].type;
199
- if (typeNode) {
200
- var expanded = resolver.resolveType(typeNode);
201
- expanded && resolved.set(name, expanded);
202
- }
203
- }
204
- }
205
- }
206
- }
207
- } catch (err) {
208
- _didIteratorError = !0, _iteratorError = err;
209
- } finally {
210
- try {
211
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
212
- } finally {
213
- if (_didIteratorError) throw _iteratorError;
214
- }
202
+ }))) return;
203
+ var decl = node.declarationList.declarations[0];
204
+ if (!decl || !ts.isVariableDeclaration(decl)) return;
205
+ if (decl.name.getText(sourceFile) !== "mutate") return;
206
+ if (!decl.initializer || !ts.isCallExpression(decl.initializer)) return;
207
+ var args = decl.initializer.arguments;
208
+ var handlersArg = null;
209
+ for (var i = args.length - 1; i >= 0; i--) {
210
+ if (ts.isObjectLiteralExpression(args[i])) {
211
+ handlersArg = args[i];
212
+ break;
213
+ }
214
+ }
215
+ if (!handlersArg) return;
216
+ var _iteratorNormalCompletion = true,
217
+ _didIteratorError = false,
218
+ _iteratorError = void 0;
219
+ try {
220
+ for (var _iterator = handlersArg.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
221
+ var prop = _step.value;
222
+ var _prop_name;
223
+ if (!ts.isPropertyAssignment(prop) && !ts.isMethodDeclaration(prop)) continue;
224
+ var name = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);
225
+ if (!name) continue;
226
+ var params = null;
227
+ if (ts.isPropertyAssignment(prop)) {
228
+ var init = prop.initializer;
229
+ if (ts.isArrowFunction(init) || ts.isFunctionExpression(init)) {
230
+ params = init.parameters;
215
231
  }
232
+ } else if (ts.isMethodDeclaration(prop)) {
233
+ params = prop.parameters;
234
+ }
235
+ if (!params || params.length < 2) continue;
236
+ var typeNode = params[1].type;
237
+ if (!typeNode) continue;
238
+ var expanded = resolver.resolveType(typeNode);
239
+ if (expanded) {
240
+ resolved.set(name, expanded);
241
+ }
242
+ }
243
+ } catch (err) {
244
+ _didIteratorError = true;
245
+ _iteratorError = err;
246
+ } finally {
247
+ try {
248
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
249
+ _iterator.return();
250
+ }
251
+ } finally {
252
+ if (_didIteratorError) {
253
+ throw _iteratorError;
216
254
  }
217
255
  }
218
256
  }
219
- }), resolved;
257
+ });
258
+ return resolved;
220
259
  }
221
260
  function extractMutationsFromModel(ts, sourceFile, content, fileName, silent, typeToValibot, resolvedTypes, resolvedTypeToValibot) {
222
261
  var mutateNode = null;
223
- if (ts.forEachChild(sourceFile, function (node) {
262
+ ts.forEachChild(sourceFile, function (node) {
224
263
  var _node_modifiers;
225
- if (ts.isVariableStatement(node) && !((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0) && _node_modifiers.some(function (m) {
264
+ if (!ts.isVariableStatement(node)) return;
265
+ if (!((_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.some(function (m) {
226
266
  return m.kind === ts.SyntaxKind.ExportKeyword;
227
- })) {
228
- var decl = node.declarationList.declarations[0];
229
- !decl || !ts.isVariableDeclaration(decl) || decl.name.getText(sourceFile) === "mutate" && decl.initializer && ts.isCallExpression(decl.initializer) && (mutateNode = decl.initializer);
267
+ }))) return;
268
+ var decl = node.declarationList.declarations[0];
269
+ if (!decl || !ts.isVariableDeclaration(decl)) return;
270
+ if (decl.name.getText(sourceFile) !== "mutate") return;
271
+ if (decl.initializer && ts.isCallExpression(decl.initializer)) {
272
+ mutateNode = decl.initializer;
230
273
  }
231
- }), !mutateNode) return {
232
- modelName: (0, import_path.basename)(fileName, ".ts"),
233
- hasCRUD: !1,
234
- columns: {},
235
- primaryKeys: [],
236
- custom: []
237
- };
238
- var call = mutateNode,
239
- args = call.arguments,
240
- hasCRUD = args.length >= 2,
241
- handlersArg = null;
242
- args.length === 1 && ts.isObjectLiteralExpression(args[0]) ? handlersArg = args[0] : args.length === 3 && ts.isObjectLiteralExpression(args[2]) && (handlersArg = args[2]);
243
- var columns = {},
244
- primaryKeys = [];
245
- hasCRUD && extractSchemaColumns(ts, sourceFile, columns, primaryKeys);
274
+ });
275
+ if (!mutateNode) {
276
+ return {
277
+ modelName: (0, import_path.basename)(fileName, ".ts"),
278
+ hasCRUD: false,
279
+ columns: {},
280
+ primaryKeys: [],
281
+ custom: []
282
+ };
283
+ }
284
+ var call = mutateNode;
285
+ var args = call.arguments;
286
+ var hasCRUD = args.length >= 2;
287
+ var handlersArg = null;
288
+ if (args.length === 1 && ts.isObjectLiteralExpression(args[0])) {
289
+ handlersArg = args[0];
290
+ } else if (args.length === 3 && ts.isObjectLiteralExpression(args[2])) {
291
+ handlersArg = args[2];
292
+ }
293
+ var columns = {};
294
+ var primaryKeys = [];
295
+ if (hasCRUD) {
296
+ extractSchemaColumns(ts, sourceFile, columns, primaryKeys);
297
+ }
246
298
  var custom = [];
247
299
  if (handlersArg) {
248
- var _iteratorNormalCompletion = !0,
249
- _didIteratorError = !1,
300
+ var _iteratorNormalCompletion = true,
301
+ _didIteratorError = false,
250
302
  _iteratorError = void 0;
251
303
  try {
252
- for (var _iterator = handlersArg.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
253
- var prop = _step.value,
254
- _prop_name,
255
- _secondParam_type;
256
- if (!(!ts.isPropertyAssignment(prop) && !ts.isMethodDeclaration(prop))) {
257
- var name = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);
258
- if (name) {
259
- var params = null;
260
- if (ts.isPropertyAssignment(prop)) {
261
- var init = prop.initializer;
262
- (ts.isArrowFunction(init) || ts.isFunctionExpression(init)) && (params = init.parameters);
263
- } else ts.isMethodDeclaration(prop) && (params = prop.parameters);
264
- if (params) {
265
- if (params.length < 2) {
266
- custom.push({
267
- name,
268
- paramType: "void",
269
- valibotCode: ""
270
- });
271
- continue;
272
- }
273
- var secondParam = params[1],
274
- paramType = ((_secondParam_type = secondParam.type) === null || _secondParam_type === void 0 ? void 0 : _secondParam_type.getText(sourceFile)) || "unknown";
275
- if (paramType === "unknown") {
276
- custom.push({
277
- name,
278
- paramType: "unknown",
279
- valibotCode: ""
280
- });
281
- continue;
282
- }
283
- var valibotCode = typeToValibot(paramType);
284
- if (!valibotCode && resolvedTypes && resolvedTypeToValibot) {
285
- var resolvedType = resolvedTypes.get(name);
286
- resolvedType && (valibotCode = resolvedTypeToValibot(resolvedType));
287
- }
288
- custom.push({
289
- name,
290
- paramType,
291
- valibotCode: valibotCode || ""
292
- });
293
- }
304
+ for (var _iterator = handlersArg.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
305
+ var prop = _step.value;
306
+ var _prop_name, _secondParam_type;
307
+ if (!ts.isPropertyAssignment(prop) && !ts.isMethodDeclaration(prop)) continue;
308
+ var name = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);
309
+ if (!name) continue;
310
+ var params = null;
311
+ if (ts.isPropertyAssignment(prop)) {
312
+ var init = prop.initializer;
313
+ if (ts.isArrowFunction(init) || ts.isFunctionExpression(init)) {
314
+ params = init.parameters;
315
+ }
316
+ } else if (ts.isMethodDeclaration(prop)) {
317
+ params = prop.parameters;
318
+ }
319
+ if (!params) continue;
320
+ if (params.length < 2) {
321
+ custom.push({
322
+ name,
323
+ paramType: "void",
324
+ valibotCode: ""
325
+ });
326
+ continue;
327
+ }
328
+ var secondParam = params[1];
329
+ var paramType = ((_secondParam_type = secondParam.type) === null || _secondParam_type === void 0 ? void 0 : _secondParam_type.getText(sourceFile)) || "unknown";
330
+ if (paramType === "unknown") {
331
+ custom.push({
332
+ name,
333
+ paramType: "unknown",
334
+ valibotCode: ""
335
+ });
336
+ continue;
337
+ }
338
+ var valibotCode = typeToValibot(paramType);
339
+ if (!valibotCode && resolvedTypes && resolvedTypeToValibot) {
340
+ var resolvedType = resolvedTypes.get(name);
341
+ if (resolvedType) {
342
+ valibotCode = resolvedTypeToValibot(resolvedType);
294
343
  }
295
344
  }
345
+ custom.push({
346
+ name,
347
+ paramType,
348
+ valibotCode: valibotCode || ""
349
+ });
296
350
  }
297
351
  } catch (err) {
298
- _didIteratorError = !0, _iteratorError = err;
352
+ _didIteratorError = true;
353
+ _iteratorError = err;
299
354
  } finally {
300
355
  try {
301
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
356
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
357
+ _iterator.return();
358
+ }
302
359
  } finally {
303
- if (_didIteratorError) throw _iteratorError;
360
+ if (_didIteratorError) {
361
+ throw _iteratorError;
362
+ }
304
363
  }
305
364
  }
306
365
  }
@@ -317,50 +376,60 @@ function extractSchemaColumns(ts, sourceFile, columns, primaryKeys) {
317
376
  if (ts.isCallExpression(node)) {
318
377
  var text = node.expression.getText(sourceFile);
319
378
  if (text.endsWith(".primaryKey")) {
320
- var _iteratorNormalCompletion = !0,
321
- _didIteratorError = !1,
379
+ var _iteratorNormalCompletion = true,
380
+ _didIteratorError = false,
322
381
  _iteratorError = void 0;
323
382
  try {
324
- for (var _iterator = node.arguments[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
383
+ for (var _iterator = node.arguments[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
325
384
  var arg = _step.value;
326
- ts.isStringLiteral(arg) && primaryKeys.push(arg.text);
385
+ if (ts.isStringLiteral(arg)) {
386
+ primaryKeys.push(arg.text);
387
+ }
327
388
  }
328
389
  } catch (err) {
329
- _didIteratorError = !0, _iteratorError = err;
390
+ _didIteratorError = true;
391
+ _iteratorError = err;
330
392
  } finally {
331
393
  try {
332
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
394
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
395
+ _iterator.return();
396
+ }
333
397
  } finally {
334
- if (_didIteratorError) throw _iteratorError;
398
+ if (_didIteratorError) {
399
+ throw _iteratorError;
400
+ }
335
401
  }
336
402
  }
337
403
  }
338
404
  if (text.endsWith(".columns") && node.arguments.length === 1) {
339
405
  var obj = node.arguments[0];
340
406
  if (ts.isObjectLiteralExpression(obj)) {
341
- var _iteratorNormalCompletion1 = !0,
342
- _didIteratorError1 = !1,
407
+ var _iteratorNormalCompletion1 = true,
408
+ _didIteratorError1 = false,
343
409
  _iteratorError1 = void 0;
344
410
  try {
345
- for (var _iterator1 = obj.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
346
- var prop = _step1.value,
347
- _prop_name;
348
- if (ts.isPropertyAssignment(prop)) {
349
- var colName = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);
350
- if (colName) {
351
- var initText = prop.initializer.getText(sourceFile),
352
- colType = (0, import_generate_helpers.parseColumnType)(initText);
353
- columns[colName] = colType;
354
- }
355
- }
411
+ for (var _iterator1 = obj.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
412
+ var prop = _step1.value;
413
+ var _prop_name;
414
+ if (!ts.isPropertyAssignment(prop)) continue;
415
+ var colName = (_prop_name = prop.name) === null || _prop_name === void 0 ? void 0 : _prop_name.getText(sourceFile);
416
+ if (!colName) continue;
417
+ var initText = prop.initializer.getText(sourceFile);
418
+ var colType = (0, import_generate_helpers.parseColumnType)(initText);
419
+ columns[colName] = colType;
356
420
  }
357
421
  } catch (err) {
358
- _didIteratorError1 = !0, _iteratorError1 = err;
422
+ _didIteratorError1 = true;
423
+ _iteratorError1 = err;
359
424
  } finally {
360
425
  try {
361
- !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
426
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
427
+ _iterator1.return();
428
+ }
362
429
  } finally {
363
- if (_didIteratorError1) throw _iteratorError1;
430
+ if (_didIteratorError1) {
431
+ throw _iteratorError1;
432
+ }
364
433
  }
365
434
  }
366
435
  }
@@ -371,7 +440,7 @@ function extractSchemaColumns(ts, sourceFile, columns, primaryKeys) {
371
440
  visit(sourceFile);
372
441
  }
373
442
  function tsTypeToValibot(ts, checker, type, seen) {
374
- seen || (seen = /* @__PURE__ */new Set());
443
+ if (!seen) seen = /* @__PURE__ */new Set();
375
444
  var flags = type.getFlags();
376
445
  if (flags & (ts.TypeFlags.Object | ts.TypeFlags.Intersection)) {
377
446
  if (seen.has(type)) return "v.unknown()";
@@ -387,363 +456,437 @@ function tsTypeToValibot(ts, checker, type, seen) {
387
456
  if (flags & ts.TypeFlags.Null) return "v.null_()";
388
457
  if (flags & ts.TypeFlags.Any || flags & ts.TypeFlags.Unknown) return "v.unknown()";
389
458
  if (flags & ts.TypeFlags.Never) return "v.never()";
390
- if (flags & ts.TypeFlags.StringLiteral) return `v.literal(${JSON.stringify(type.value)})`;
391
- if (flags & ts.TypeFlags.NumberLiteral) return `v.literal(${type.value})`;
459
+ if (flags & ts.TypeFlags.StringLiteral) {
460
+ return `v.literal(${JSON.stringify(type.value)})`;
461
+ }
462
+ if (flags & ts.TypeFlags.NumberLiteral) {
463
+ return `v.literal(${type.value})`;
464
+ }
392
465
  if (flags & ts.TypeFlags.BooleanLiteral) {
393
466
  var name = type.intrinsicName;
394
467
  return `v.literal(${name === "true"})`;
395
468
  }
396
469
  if (type.isUnion()) {
397
- var members = type.types,
398
- hasNull = members.some(function (t) {
399
- return t.getFlags() & ts.TypeFlags.Null;
400
- }),
401
- hasUndefined = members.some(function (t) {
402
- return t.getFlags() & (ts.TypeFlags.Undefined | ts.TypeFlags.Void);
403
- }),
404
- rest = members.filter(function (t) {
405
- return !(t.getFlags() & (ts.TypeFlags.Null | ts.TypeFlags.Undefined | ts.TypeFlags.Void));
406
- });
470
+ var members = type.types;
471
+ var hasNull = members.some(function (t) {
472
+ return t.getFlags() & ts.TypeFlags.Null;
473
+ });
474
+ var hasUndefined = members.some(function (t) {
475
+ return t.getFlags() & (ts.TypeFlags.Undefined | ts.TypeFlags.Void);
476
+ });
477
+ var rest = members.filter(function (t) {
478
+ return !(t.getFlags() & (ts.TypeFlags.Null | ts.TypeFlags.Undefined | ts.TypeFlags.Void));
479
+ });
407
480
  if (rest.length === 2 && rest.every(function (t) {
408
481
  return t.getFlags() & ts.TypeFlags.BooleanLiteral;
409
482
  })) {
410
483
  var inner = "v.boolean()";
411
- return hasNull && (inner = `v.nullable(${inner})`), hasUndefined && (inner = `v.optional(${inner})`), inner;
484
+ if (hasNull) inner = `v.nullable(${inner})`;
485
+ if (hasUndefined) inner = `v.optional(${inner})`;
486
+ return inner;
412
487
  }
413
488
  if (rest.length === 0) return "v.unknown()";
414
489
  var inner1 = rest.length === 1 ? recurse(rest[0]) : `v.union([${rest.map(function (t) {
415
490
  return recurse(t);
416
491
  }).join(", ")}])`;
417
- return hasNull && (inner1 = `v.nullable(${inner1})`), hasUndefined && (inner1 = `v.optional(${inner1})`), inner1;
492
+ if (hasNull) inner1 = `v.nullable(${inner1})`;
493
+ if (hasUndefined) inner1 = `v.optional(${inner1})`;
494
+ return inner1;
418
495
  }
419
496
  var resolveSymbolType = function (prop2) {
420
497
  var _prop_declarations;
421
- return prop2.valueDeclaration ? checker.getTypeOfSymbolAtLocation(prop2, prop2.valueDeclaration) : !((_prop_declarations = prop2.declarations) === null || _prop_declarations === void 0) && _prop_declarations[0] ? checker.getTypeOfSymbolAtLocation(prop2, prop2.declarations[0]) : checker.getDeclaredTypeOfSymbol(prop2);
498
+ if (prop2.valueDeclaration) return checker.getTypeOfSymbolAtLocation(prop2, prop2.valueDeclaration);
499
+ if ((_prop_declarations = prop2.declarations) === null || _prop_declarations === void 0 ? void 0 : _prop_declarations[0]) return checker.getTypeOfSymbolAtLocation(prop2, prop2.declarations[0]);
500
+ return checker.getDeclaredTypeOfSymbol(prop2);
422
501
  };
423
502
  if (type.isIntersection()) {
424
503
  var props = type.getProperties();
425
504
  if (props.length === 0) return "v.object({})";
426
- var entries = [],
427
- _iteratorNormalCompletion = !0,
428
- _didIteratorError = !1,
505
+ var entries = [];
506
+ var _iteratorNormalCompletion = true,
507
+ _didIteratorError = false,
429
508
  _iteratorError = void 0;
430
509
  try {
431
- for (var _iterator = props[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
432
- var prop = _step.value,
433
- name1 = prop.getName();
434
- if (!(0, import_generate_helpers.shouldSkipObjectKey)(name1)) {
435
- var propType = resolveSymbolType(prop),
436
- isOptional = !!(prop.getFlags() & ts.SymbolFlags.Optional),
437
- val = recurse(propType);
438
- isOptional && !val.startsWith("v.optional(") && (val = `v.optional(${val})`), entries.push(`${(0, import_generate_helpers.formatObjectKey)(name1)}: ${val}`);
510
+ for (var _iterator = props[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
511
+ var prop = _step.value;
512
+ var name1 = prop.getName();
513
+ if ((0, import_generate_helpers.shouldSkipObjectKey)(name1)) continue;
514
+ var propType = resolveSymbolType(prop);
515
+ var isOptional = !!(prop.getFlags() & ts.SymbolFlags.Optional);
516
+ var val = recurse(propType);
517
+ if (isOptional && !val.startsWith("v.optional(")) {
518
+ val = `v.optional(${val})`;
439
519
  }
520
+ entries.push(`${(0, import_generate_helpers.formatObjectKey)(name1)}: ${val}`);
440
521
  }
441
522
  } catch (err) {
442
- _didIteratorError = !0, _iteratorError = err;
523
+ _didIteratorError = true;
524
+ _iteratorError = err;
443
525
  } finally {
444
526
  try {
445
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
527
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
528
+ _iterator.return();
529
+ }
446
530
  } finally {
447
- if (_didIteratorError) throw _iteratorError;
531
+ if (_didIteratorError) {
532
+ throw _iteratorError;
533
+ }
448
534
  }
449
535
  }
450
- return entries.length === 0 ? "v.object({})" : `v.object({
451
- ${entries.join(`,
452
- `)},
536
+ if (entries.length === 0) return "v.object({})";
537
+ return `v.object({
538
+ ${entries.join(",\n ")},
453
539
  })`;
454
540
  }
455
541
  var props1 = type.getProperties();
456
542
  if (props1.length > 0 && (type.getFlags() & ts.TypeFlags.Object || type.objectFlags)) {
457
- var _type_objectFlags,
458
- objectFlags = (_type_objectFlags = type.objectFlags) !== null && _type_objectFlags !== void 0 ? _type_objectFlags : 0;
543
+ var _type_objectFlags;
544
+ var objectFlags = (_type_objectFlags = type.objectFlags) !== null && _type_objectFlags !== void 0 ? _type_objectFlags : 0;
459
545
  if (objectFlags & ts.ObjectFlags.Reference) {
460
- var _typeRef_typeArguments,
461
- typeRef = type,
462
- symbol = type.getSymbol(),
463
- name2 = symbol?.getName();
464
- if ((name2 === "Array" || name2 === "ReadonlyArray") && ((_typeRef_typeArguments = typeRef.typeArguments) === null || _typeRef_typeArguments === void 0 ? void 0 : _typeRef_typeArguments.length) === 1) return `v.array(${recurse(typeRef.typeArguments[0])})`;
546
+ var _typeRef_typeArguments;
547
+ var typeRef = type;
548
+ var symbol = type.getSymbol();
549
+ var name2 = symbol === null || symbol === void 0 ? void 0 : symbol.getName();
550
+ if ((name2 === "Array" || name2 === "ReadonlyArray") && ((_typeRef_typeArguments = typeRef.typeArguments) === null || _typeRef_typeArguments === void 0 ? void 0 : _typeRef_typeArguments.length) === 1) {
551
+ return `v.array(${recurse(typeRef.typeArguments[0])})`;
552
+ }
465
553
  }
466
554
  if (objectFlags & ts.ObjectFlags.Tuple) {
467
- var typeRef1 = type,
468
- typeArgs = typeRef1.typeArguments || [];
555
+ var typeRef1 = type;
556
+ var typeArgs = typeRef1.typeArguments || [];
469
557
  return `v.tuple([${typeArgs.map(function (t) {
470
558
  return recurse(t);
471
559
  }).join(", ")}])`;
472
560
  }
473
- var entries1 = [],
474
- _iteratorNormalCompletion1 = !0,
475
- _didIteratorError1 = !1,
561
+ var entries1 = [];
562
+ var _iteratorNormalCompletion1 = true,
563
+ _didIteratorError1 = false,
476
564
  _iteratorError1 = void 0;
477
565
  try {
478
- for (var _iterator1 = props1[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
479
- var prop1 = _step1.value,
480
- name3 = prop1.getName();
481
- if (!(0, import_generate_helpers.shouldSkipObjectKey)(name3)) {
482
- var propType1 = resolveSymbolType(prop1),
483
- isOptional1 = !!(prop1.getFlags() & ts.SymbolFlags.Optional),
484
- val1 = recurse(propType1);
485
- isOptional1 && !val1.startsWith("v.optional(") && (val1 = `v.optional(${val1})`), entries1.push(`${(0, import_generate_helpers.formatObjectKey)(name3)}: ${val1}`);
566
+ for (var _iterator1 = props1[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
567
+ var prop1 = _step1.value;
568
+ var name3 = prop1.getName();
569
+ if ((0, import_generate_helpers.shouldSkipObjectKey)(name3)) continue;
570
+ var propType1 = resolveSymbolType(prop1);
571
+ var isOptional1 = !!(prop1.getFlags() & ts.SymbolFlags.Optional);
572
+ var val1 = recurse(propType1);
573
+ if (isOptional1 && !val1.startsWith("v.optional(")) {
574
+ val1 = `v.optional(${val1})`;
486
575
  }
576
+ entries1.push(`${(0, import_generate_helpers.formatObjectKey)(name3)}: ${val1}`);
487
577
  }
488
578
  } catch (err) {
489
- _didIteratorError1 = !0, _iteratorError1 = err;
579
+ _didIteratorError1 = true;
580
+ _iteratorError1 = err;
490
581
  } finally {
491
582
  try {
492
- !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
583
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
584
+ _iterator1.return();
585
+ }
493
586
  } finally {
494
- if (_didIteratorError1) throw _iteratorError1;
587
+ if (_didIteratorError1) {
588
+ throw _iteratorError1;
589
+ }
495
590
  }
496
591
  }
497
- return entries1.length === 0 ? "v.object({})" : `v.object({
498
- ${entries1.join(`,
499
- `)},
592
+ if (entries1.length === 0) return "v.object({})";
593
+ return `v.object({
594
+ ${entries1.join(",\n ")},
500
595
  })`;
501
596
  }
502
597
  var stringIndex = type.getStringIndexType();
503
- if (stringIndex) return `v.record(v.string(), ${recurse(stringIndex)})`;
598
+ if (stringIndex) {
599
+ return `v.record(v.string(), ${recurse(stringIndex)})`;
600
+ }
504
601
  var numberIndex = type.getNumberIndexType();
505
- return numberIndex ? `v.record(v.number(), ${recurse(numberIndex)})` : "v.unknown()";
602
+ if (numberIndex) {
603
+ return `v.record(v.number(), ${recurse(numberIndex)})`;
604
+ }
605
+ return "v.unknown()";
506
606
  }
507
607
  function serializeColumnBuilder(col) {
508
- var zeroType = col.type === "string" ? "string" : col.type === "number" ? "number" : col.type === "boolean" ? "boolean" : "json",
509
- expr = `${zeroType}()`;
510
- return col.serverName && (expr += `.from('${col.serverName}')`), col.optional && (expr += ".optional()"), expr;
608
+ var zeroType = col.type === "string" ? "string" : col.type === "number" ? "number" : col.type === "boolean" ? "boolean" : "json";
609
+ var expr = `${zeroType}()`;
610
+ if (col.serverName) {
611
+ expr += `.from('${col.serverName}')`;
612
+ }
613
+ if (col.optional) {
614
+ expr += ".optional()";
615
+ }
616
+ return expr;
511
617
  }
512
618
  function generateDrizzleSchemaFile(schema) {
513
- var lines = ["// auto-generated by: on-zero generate (from drizzle schema)", "import { boolean, createSchema, json, number, relationships, string, table } from '@rocicorp/zero'", ""],
514
- tableNames = Object.keys(schema.tables).sort(),
515
- _iteratorNormalCompletion = !0,
516
- _didIteratorError = !1,
619
+ var lines = [`// auto-generated by: on-zero generate (from drizzle schema)`, `import { boolean, createSchema, json, number, relationships, string, table } from '@rocicorp/zero'`, ``];
620
+ var tableNames = Object.keys(schema.tables).sort();
621
+ var _iteratorNormalCompletion = true,
622
+ _didIteratorError = false,
517
623
  _iteratorError = void 0;
518
624
  try {
519
- for (var _iterator = tableNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
520
- var tableName = _step.value,
521
- t = schema.tables[tableName],
522
- colEntries = Object.entries(t.columns).map(function (param) {
523
- var [colName, col] = param;
524
- return ` ${colName}: ${serializeColumnBuilder(col)},`;
525
- }).join(`
526
- `),
527
- pkArgs = t.primaryKey.map(function (k) {
528
- return `'${k}'`;
529
- }).join(", ");
530
- lines.push(`const ${tableName}Table = table('${t.name}')`), lines.push(" .columns({"), lines.push(colEntries), lines.push(" })"), lines.push(` .primaryKey(${pkArgs})`), lines.push("");
625
+ for (var _iterator = tableNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
626
+ var tableName = _step.value;
627
+ var t = schema.tables[tableName];
628
+ var colEntries = Object.entries(t.columns).map(function (param) {
629
+ var [colName, col] = param;
630
+ return ` ${colName}: ${serializeColumnBuilder(col)},`;
631
+ }).join("\n");
632
+ var pkArgs = t.primaryKey.map(function (k) {
633
+ return `'${k}'`;
634
+ }).join(", ");
635
+ lines.push(`const ${tableName}Table = table('${t.name}')`);
636
+ lines.push(` .columns({`);
637
+ lines.push(colEntries);
638
+ lines.push(` })`);
639
+ lines.push(` .primaryKey(${pkArgs})`);
640
+ lines.push(``);
531
641
  }
532
642
  } catch (err) {
533
- _didIteratorError = !0, _iteratorError = err;
643
+ _didIteratorError = true;
644
+ _iteratorError = err;
534
645
  } finally {
535
646
  try {
536
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
647
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
648
+ _iterator.return();
649
+ }
537
650
  } finally {
538
- if (_didIteratorError) throw _iteratorError;
651
+ if (_didIteratorError) {
652
+ throw _iteratorError;
653
+ }
539
654
  }
540
655
  }
541
- var relTableNames = Object.keys(schema.relationships).sort(),
542
- _iteratorNormalCompletion1 = !0,
543
- _didIteratorError1 = !1,
656
+ var relTableNames = Object.keys(schema.relationships).sort();
657
+ var _iteratorNormalCompletion1 = true,
658
+ _didIteratorError1 = false,
544
659
  _iteratorError1 = void 0;
545
660
  try {
546
- for (var _iterator1 = relTableNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
547
- var tableName1 = _step1.value,
548
- rels = schema.relationships[tableName1],
549
- relEntries = Object.entries(rels);
550
- if (relEntries.length !== 0) {
551
- var relBody = relEntries.map(function (param) {
552
- var [relName, hops] = param;
553
- if (hops.length === 1) {
554
- var hop = hops[0],
555
- fn = hop.cardinality === "one" ? "one" : "many",
556
- sf = hop.sourceField.map(function (f) {
557
- return `'${f}'`;
558
- }).join(", "),
559
- df = hop.destField.map(function (f) {
560
- return `'${f}'`;
561
- }).join(", ");
562
- return ` ${relName}: ${fn}({
661
+ for (var _iterator1 = relTableNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
662
+ var tableName1 = _step1.value;
663
+ var rels = schema.relationships[tableName1];
664
+ var relEntries = Object.entries(rels);
665
+ if (relEntries.length === 0) continue;
666
+ var relBody = relEntries.map(function (param) {
667
+ var [relName, hops] = param;
668
+ if (hops.length === 1) {
669
+ var hop = hops[0];
670
+ var fn = hop.cardinality === "one" ? "one" : "many";
671
+ var sf = hop.sourceField.map(function (f) {
672
+ return `'${f}'`;
673
+ }).join(", ");
674
+ var df = hop.destField.map(function (f) {
675
+ return `'${f}'`;
676
+ }).join(", ");
677
+ return ` ${relName}: ${fn}({
563
678
  sourceField: [${sf}],
564
679
  destSchema: ${hop.destSchema}Table,
565
680
  destField: [${df}],
566
681
  })`;
567
- }
568
- var hopCode = hops.map(function (hop2) {
569
- var fn2 = hop2.cardinality === "one" ? "one" : "many",
570
- sf2 = hop2.sourceField.map(function (f) {
571
- return `'${f}'`;
572
- }).join(", "),
573
- df2 = hop2.destField.map(function (f) {
574
- return `'${f}'`;
575
- }).join(", ");
576
- return `${fn2}({ sourceField: [${sf2}], destSchema: ${hop2.destSchema}Table, destField: [${df2}] })`;
682
+ }
683
+ var hopCode = hops.map(function (hop2) {
684
+ var fn2 = hop2.cardinality === "one" ? "one" : "many";
685
+ var sf2 = hop2.sourceField.map(function (f) {
686
+ return `'${f}'`;
577
687
  }).join(", ");
578
- return ` ${relName}: [${hopCode}]`;
579
- }).join(`,
580
- `);
581
- lines.push(`const ${tableName1}Relationships = relationships(${tableName1}Table, ({ one, many }) => ({`), lines.push(relBody), lines.push("}))"), lines.push("");
582
- }
688
+ var df2 = hop2.destField.map(function (f) {
689
+ return `'${f}'`;
690
+ }).join(", ");
691
+ return `${fn2}({ sourceField: [${sf2}], destSchema: ${hop2.destSchema}Table, destField: [${df2}] })`;
692
+ }).join(", ");
693
+ return ` ${relName}: [${hopCode}]`;
694
+ }).join(",\n");
695
+ lines.push(`const ${tableName1}Relationships = relationships(${tableName1}Table, ({ one, many }) => ({`);
696
+ lines.push(relBody);
697
+ lines.push(`}))`);
698
+ lines.push(``);
583
699
  }
584
700
  } catch (err) {
585
- _didIteratorError1 = !0, _iteratorError1 = err;
701
+ _didIteratorError1 = true;
702
+ _iteratorError1 = err;
586
703
  } finally {
587
704
  try {
588
- !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
705
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
706
+ _iterator1.return();
707
+ }
589
708
  } finally {
590
- if (_didIteratorError1) throw _iteratorError1;
709
+ if (_didIteratorError1) {
710
+ throw _iteratorError1;
711
+ }
591
712
  }
592
713
  }
593
714
  var tableList = tableNames.map(function (n) {
594
- return ` ${n}Table,`;
595
- }).join(`
596
- `),
597
- relList = relTableNames.filter(function (n) {
598
- return Object.keys(schema.relationships[n]).length > 0;
599
- }).map(function (n) {
600
- return ` ${n}Relationships,`;
601
- }).join(`
602
- `);
603
- return lines.push("export const schema = createSchema({"), lines.push(" tables: ["), lines.push(tableList), lines.push(" ],"), lines.push(" relationships: ["), lines.push(relList), lines.push(" ],"), lines.push("})"), lines.push(""), lines.join(`
604
- `);
715
+ return ` ${n}Table,`;
716
+ }).join("\n");
717
+ var relList = relTableNames.filter(function (n) {
718
+ return Object.keys(schema.relationships[n]).length > 0;
719
+ }).map(function (n) {
720
+ return ` ${n}Relationships,`;
721
+ }).join("\n");
722
+ lines.push(`export const schema = createSchema({`);
723
+ lines.push(` tables: [`);
724
+ lines.push(tableList);
725
+ lines.push(` ],`);
726
+ lines.push(` relationships: [`);
727
+ lines.push(relList);
728
+ lines.push(` ],`);
729
+ lines.push(`})`);
730
+ lines.push(``);
731
+ return lines.join("\n");
605
732
  }
606
733
  async function generate(options) {
607
734
  var {
608
- dir,
609
- after,
610
- silent
611
- } = options,
612
- baseDir = (0, import_path.resolve)(dir),
613
- mutationsDir = (0, import_path.resolve)(baseDir, "mutations"),
614
- usesMutationsDir = (0, import_fs.existsSync)(mutationsDir),
615
- modelsDir = usesMutationsDir ? mutationsDir : (0, import_path.resolve)(baseDir, "models"),
616
- modelsDirName = usesMutationsDir ? "mutations" : "models",
617
- generatedDir = (0, import_path.resolve)(baseDir, "generated"),
618
- queriesDir = (0, import_path.resolve)(baseDir, "queries");
619
- (0, import_fs.existsSync)(generatedDir) || (0, import_fs.mkdirSync)(generatedDir, {
620
- recursive: !0
621
- }), loadCache();
735
+ dir,
736
+ after,
737
+ silent
738
+ } = options;
739
+ var baseDir = (0, import_path.resolve)(dir);
740
+ var mutationsDir = (0, import_path.resolve)(baseDir, "mutations");
741
+ var usesMutationsDir = (0, import_fs.existsSync)(mutationsDir);
742
+ var modelsDir = usesMutationsDir ? mutationsDir : (0, import_path.resolve)(baseDir, "models");
743
+ var modelsDirName = usesMutationsDir ? "mutations" : "models";
744
+ var generatedDir = (0, import_path.resolve)(baseDir, "generated");
745
+ var queriesDir = (0, import_path.resolve)(baseDir, "queries");
746
+ if (!(0, import_fs.existsSync)(generatedDir)) {
747
+ (0, import_fs.mkdirSync)(generatedDir, {
748
+ recursive: true
749
+ });
750
+ }
751
+ loadCache();
622
752
  var allModelFiles = (0, import_fs.readdirSync)(modelsDir).filter(function (f) {
753
+ return f.endsWith(".ts");
754
+ }).sort();
755
+ var filesWithSchema = allModelFiles.filter(function (f) {
756
+ return (0, import_fs.readFileSync)((0, import_path.resolve)(modelsDir, f), "utf-8").includes("export const schema = table(");
757
+ });
758
+ var allModelNames = allModelFiles.map(function (f) {
759
+ return (0, import_path.basename)(f, ".ts");
760
+ });
761
+ var schemaModelNames = filesWithSchema.map(function (f) {
762
+ return (0, import_path.basename)(f, ".ts");
763
+ });
764
+ var writeResults = [writeFileIfChanged((0, import_path.resolve)(generatedDir, "models.ts"), (0, import_generate_helpers.generateModelsFile)(allModelNames, modelsDirName)),
765
+ // only generate types.ts and tables.ts when model files define schemas.
766
+ // when using drizzle-zero CLI for schema generation, these files are
767
+ // managed externally and should not be overwritten.
768
+ ...(filesWithSchema.length > 0 ? [writeFileIfChanged((0, import_path.resolve)(generatedDir, "types.ts"), (0, import_generate_helpers.generateTypesFile)(schemaModelNames)), writeFileIfChanged((0, import_path.resolve)(generatedDir, "tables.ts"), (0, import_generate_helpers.generateTablesFile)(schemaModelNames, modelsDirName))] : []), writeFileIfChanged((0, import_path.resolve)(generatedDir, "README.md"), (0, import_generate_helpers.generateReadmeFile)())];
769
+ var filesChanged = writeResults.filter(Boolean).length;
770
+ var queryCount = 0;
771
+ var mutationCount = 0;
772
+ var ts = await import("typescript");
773
+ var typeToValibot = function (paramType) {
774
+ try {
775
+ return (0, import_generate_helpers.parseTypeString)(paramType.trim());
776
+ } catch (e) {
777
+ return null;
778
+ }
779
+ };
780
+ if ((0, import_fs.existsSync)(queriesDir)) {
781
+ var queryFiles = (0, import_fs.readdirSync)(queriesDir).filter(function (f) {
623
782
  return f.endsWith(".ts");
624
- }).sort(),
625
- filesWithSchema = allModelFiles.filter(function (f) {
626
- return (0, import_fs.readFileSync)((0, import_path.resolve)(modelsDir, f), "utf-8").includes("export const schema = table(");
627
- }),
628
- allModelNames = allModelFiles.map(function (f) {
629
- return (0, import_path.basename)(f, ".ts");
630
- }),
631
- schemaModelNames = filesWithSchema.map(function (f) {
632
- return (0, import_path.basename)(f, ".ts");
633
- }),
634
- writeResults = [writeFileIfChanged((0, import_path.resolve)(generatedDir, "models.ts"), (0, import_generate_helpers.generateModelsFile)(allModelNames, modelsDirName)),
635
- // only generate types.ts and tables.ts when model files define schemas.
636
- // when using drizzle-zero CLI for schema generation, these files are
637
- // managed externally and should not be overwritten.
638
- ...(filesWithSchema.length > 0 ? [writeFileIfChanged((0, import_path.resolve)(generatedDir, "types.ts"), (0, import_generate_helpers.generateTypesFile)(schemaModelNames)), writeFileIfChanged((0, import_path.resolve)(generatedDir, "tables.ts"), (0, import_generate_helpers.generateTablesFile)(schemaModelNames, modelsDirName))] : []), writeFileIfChanged((0, import_path.resolve)(generatedDir, "README.md"), (0, import_generate_helpers.generateReadmeFile)())],
639
- filesChanged = writeResults.filter(Boolean).length,
640
- queryCount = 0,
641
- mutationCount = 0,
642
- ts = await import("typescript"),
643
- typeToValibot = function (paramType) {
644
- try {
645
- return (0, import_generate_helpers.parseTypeString)(paramType.trim());
646
- } catch {
647
- return null;
783
+ });
784
+ var allQueries = [];
785
+ var queryResolver = null;
786
+ var getQueryResolver = function () {
787
+ if (!queryResolver) {
788
+ var allFiles2 = (0, import_fs.readdirSync)(queriesDir).filter(function (f) {
789
+ return f.endsWith(".ts");
790
+ }).map(function (f) {
791
+ return {
792
+ path: (0, import_path.resolve)(queriesDir, f),
793
+ content: (0, import_fs.readFileSync)((0, import_path.resolve)(queriesDir, f), "utf-8")
794
+ };
795
+ });
796
+ queryResolver = createTypeResolver(ts, allFiles2, queriesDir);
648
797
  }
798
+ return queryResolver;
649
799
  };
650
- if ((0, import_fs.existsSync)(queriesDir)) {
651
- var queryFiles = (0, import_fs.readdirSync)(queriesDir).filter(function (f) {
652
- return f.endsWith(".ts");
653
- }),
654
- allQueries = [],
655
- queryResolver = null,
656
- getQueryResolver = function () {
657
- if (!queryResolver) {
658
- var allFiles2 = (0, import_fs.readdirSync)(queriesDir).filter(function (f) {
659
- return f.endsWith(".ts");
660
- }).map(function (f) {
661
- return {
662
- path: (0, import_path.resolve)(queriesDir, f),
663
- content: (0, import_fs.readFileSync)((0, import_path.resolve)(queriesDir, f), "utf-8")
664
- };
665
- });
666
- queryResolver = createTypeResolver(ts, allFiles2, queriesDir);
667
- }
668
- return queryResolver;
669
- },
670
- _iteratorNormalCompletion = !0,
671
- _didIteratorError = !1,
800
+ var _iteratorNormalCompletion = true,
801
+ _didIteratorError = false,
672
802
  _iteratorError = void 0;
673
803
  try {
674
- for (var _loop = function () {
675
- var file2 = _step.value,
676
- filePath2 = (0, import_path.resolve)(queriesDir, file2),
677
- fileBaseName2 = (0, import_path.basename)(file2, ".ts");
678
- try {
679
- var content2 = (0, import_fs.readFileSync)(filePath2, "utf-8"),
680
- sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, !0);
681
- ts.forEachChild(sourceFile2, function (node) {
682
- if (ts.isVariableStatement(node)) {
683
- var _node_modifiers,
684
- exportModifier = (_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.find(function (m) {
685
- return m.kind === ts.SyntaxKind.ExportKeyword;
686
- });
687
- if (!exportModifier) return;
688
- var declaration = node.declarationList.declarations[0];
689
- if (!declaration || !ts.isVariableDeclaration(declaration)) return;
690
- var name = declaration.name.getText(sourceFile2);
691
- if (name === "permission") return;
692
- if (declaration.initializer && ts.isArrowFunction(declaration.initializer)) {
693
- var params = declaration.initializer.parameters,
694
- paramType = "void";
695
- if (params.length > 0) {
696
- var _param_type,
697
- param = params[0];
698
- paramType = ((_param_type = param.type) === null || _param_type === void 0 ? void 0 : _param_type.getText(sourceFile2)) || "unknown";
699
- }
700
- var valibotCode = typeToValibot(paramType);
701
- if (!valibotCode && params.length > 0 && params[0].type) {
702
- var resolver = getQueryResolver(),
703
- resolverSourceFile = resolver.program.getSourceFile(filePath2);
704
- if (resolverSourceFile) {
705
- var resolvedType = resolveParamType(ts, resolver, resolverSourceFile, name, 0);
706
- resolvedType && (valibotCode = resolver.typeToValibot(resolvedType));
804
+ var _loop = function () {
805
+ var file2 = _step.value;
806
+ var filePath2 = (0, import_path.resolve)(queriesDir, file2);
807
+ var fileBaseName2 = (0, import_path.basename)(file2, ".ts");
808
+ try {
809
+ var content2 = (0, import_fs.readFileSync)(filePath2, "utf-8");
810
+ var sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, true);
811
+ ts.forEachChild(sourceFile2, function (node) {
812
+ if (ts.isVariableStatement(node)) {
813
+ var _node_modifiers;
814
+ var exportModifier = (_node_modifiers = node.modifiers) === null || _node_modifiers === void 0 ? void 0 : _node_modifiers.find(function (m) {
815
+ return m.kind === ts.SyntaxKind.ExportKeyword;
816
+ });
817
+ if (!exportModifier) return;
818
+ var declaration = node.declarationList.declarations[0];
819
+ if (!declaration || !ts.isVariableDeclaration(declaration)) return;
820
+ var name = declaration.name.getText(sourceFile2);
821
+ if (name === "permission") return;
822
+ if (declaration.initializer && ts.isArrowFunction(declaration.initializer)) {
823
+ var params = declaration.initializer.parameters;
824
+ var paramType = "void";
825
+ if (params.length > 0) {
826
+ var _param_type;
827
+ var param = params[0];
828
+ paramType = ((_param_type = param.type) === null || _param_type === void 0 ? void 0 : _param_type.getText(sourceFile2)) || "unknown";
829
+ }
830
+ var valibotCode = typeToValibot(paramType);
831
+ if (!valibotCode && params.length > 0 && params[0].type) {
832
+ var resolver = getQueryResolver();
833
+ var resolverSourceFile = resolver.program.getSourceFile(filePath2);
834
+ if (resolverSourceFile) {
835
+ var resolvedType = resolveParamType(ts, resolver, resolverSourceFile, name, 0);
836
+ if (resolvedType) {
837
+ valibotCode = resolver.typeToValibot(resolvedType);
707
838
  }
708
839
  }
709
- valibotCode ? allQueries.push({
840
+ }
841
+ if (valibotCode) {
842
+ allQueries.push({
710
843
  name,
711
844
  params: paramType,
712
845
  valibotCode,
713
846
  sourceFile: fileBaseName2
714
- }) : !silent && paramType !== "void" && console.error(`\u2717 ${name}: could not resolve type "${paramType}"`);
847
+ });
848
+ } else if (!silent && paramType !== "void") {
849
+ console.error(`\u2717 ${name}: could not resolve type "${paramType}"`);
715
850
  }
716
851
  }
717
- });
718
- } catch (err) {
719
- silent || console.error(`Error processing ${file2}:`, err);
720
- }
721
- }, _iterator = queryFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
852
+ }
853
+ });
854
+ } catch (err) {
855
+ if (!silent) console.error(`Error processing ${file2}:`, err);
856
+ }
857
+ };
858
+ for (var _iterator = queryFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
722
859
  } catch (err) {
723
- _didIteratorError = !0, _iteratorError = err;
860
+ _didIteratorError = true;
861
+ _iteratorError = err;
724
862
  } finally {
725
863
  try {
726
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
864
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
865
+ _iterator.return();
866
+ }
727
867
  } finally {
728
- if (_didIteratorError) throw _iteratorError;
868
+ if (_didIteratorError) {
869
+ throw _iteratorError;
870
+ }
729
871
  }
730
872
  }
731
873
  queryCount = allQueries.length;
732
- var groupedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "groupedQueries.ts"), (0, import_generate_helpers.generateGroupedQueriesFile)(allQueries)),
733
- syncedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "syncedQueries.ts"), (0, import_generate_helpers.generateSyncedQueriesFile)(allQueries));
734
- groupedChanged && filesChanged++, syncedChanged && filesChanged++;
735
- }
736
- var allModelMutations = [],
737
- mutationFiles = [],
738
- unresolvedModels = [],
739
- _iteratorNormalCompletion1 = !0,
740
- _didIteratorError1 = !1,
874
+ var groupedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "groupedQueries.ts"), (0, import_generate_helpers.generateGroupedQueriesFile)(allQueries));
875
+ var syncedChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "syncedQueries.ts"), (0, import_generate_helpers.generateSyncedQueriesFile)(allQueries));
876
+ if (groupedChanged) filesChanged++;
877
+ if (syncedChanged) filesChanged++;
878
+ }
879
+ var allModelMutations = [];
880
+ var mutationFiles = [];
881
+ var unresolvedModels = [];
882
+ var _iteratorNormalCompletion1 = true,
883
+ _didIteratorError1 = false,
741
884
  _iteratorError1 = void 0;
742
885
  try {
743
- for (var _iterator1 = allModelFiles[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
744
- var file = _step1.value,
745
- filePath = (0, import_path.resolve)(modelsDir, file),
746
- fileBaseName = (0, import_path.basename)(file, ".ts");
886
+ for (var _iterator1 = allModelFiles[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
887
+ var file = _step1.value;
888
+ var filePath = (0, import_path.resolve)(modelsDir, file);
889
+ var fileBaseName = (0, import_path.basename)(file, ".ts");
747
890
  try {
748
891
  var content = (0, import_fs.readFileSync)(filePath, "utf-8");
749
892
  mutationFiles.push({
@@ -751,119 +894,152 @@ async function generate(options) {
751
894
  content,
752
895
  baseName: fileBaseName
753
896
  });
754
- var sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, !0),
755
- result = extractMutationsFromModel(ts, sourceFile, content, filePath, !!silent, typeToValibot);
897
+ var sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
898
+ var result = extractMutationsFromModel(ts, sourceFile, content, filePath, !!silent, typeToValibot);
756
899
  if (result) {
757
- result.modelName = fileBaseName, allModelMutations.push(result);
900
+ result.modelName = fileBaseName;
901
+ allModelMutations.push(result);
758
902
  var hasUnresolved = result.custom.some(function (m) {
759
903
  return m.paramType !== "void" && m.paramType !== "unknown" && !m.valibotCode;
760
904
  });
761
- hasUnresolved && unresolvedModels.push({
762
- baseName: fileBaseName,
763
- filePath
764
- });
905
+ if (hasUnresolved) {
906
+ unresolvedModels.push({
907
+ baseName: fileBaseName,
908
+ filePath
909
+ });
910
+ }
765
911
  }
766
912
  } catch (err) {
767
- silent || console.error(`Error extracting mutations from ${file}:`, err);
913
+ if (!silent) console.error(`Error extracting mutations from ${file}:`, err);
768
914
  }
769
915
  }
770
916
  } catch (err) {
771
- _didIteratorError1 = !0, _iteratorError1 = err;
917
+ _didIteratorError1 = true;
918
+ _iteratorError1 = err;
772
919
  } finally {
773
920
  try {
774
- !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
921
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
922
+ _iterator1.return();
923
+ }
775
924
  } finally {
776
- if (_didIteratorError1) throw _iteratorError1;
925
+ if (_didIteratorError1) {
926
+ throw _iteratorError1;
927
+ }
777
928
  }
778
929
  }
779
930
  if (unresolvedModels.length > 0) {
780
931
  var collectTsFiles = function (dir2) {
781
- var results = [],
782
- _iteratorNormalCompletion4 = !0,
783
- _didIteratorError4 = !1,
784
- _iteratorError4 = void 0;
785
- try {
786
- for (var _iterator4 = (0, import_fs.readdirSync)(dir2, {
787
- withFileTypes: !0
788
- })[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = !0) {
789
- var entry = _step4.value,
790
- fullPath = (0, import_path.resolve)(dir2, entry.name);
791
- entry.isDirectory() && entry.name !== "node_modules" ? results.push(...collectTsFiles(fullPath)) : entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts") && results.push({
932
+ var results = [];
933
+ var _iteratorNormalCompletion4 = true,
934
+ _didIteratorError4 = false,
935
+ _iteratorError4 = void 0;
936
+ try {
937
+ for (var _iterator4 = (0, import_fs.readdirSync)(dir2, {
938
+ withFileTypes: true
939
+ })[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
940
+ var entry = _step4.value;
941
+ var fullPath = (0, import_path.resolve)(dir2, entry.name);
942
+ if (entry.isDirectory() && entry.name !== "node_modules") {
943
+ results.push(...collectTsFiles(fullPath));
944
+ } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
945
+ results.push({
792
946
  path: fullPath,
793
947
  content: (0, import_fs.readFileSync)(fullPath, "utf-8")
794
948
  });
795
949
  }
796
- } catch (err) {
797
- _didIteratorError4 = !0, _iteratorError4 = err;
950
+ }
951
+ } catch (err) {
952
+ _didIteratorError4 = true;
953
+ _iteratorError4 = err;
954
+ } finally {
955
+ try {
956
+ if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
957
+ _iterator4.return();
958
+ }
798
959
  } finally {
799
- try {
800
- !_iteratorNormalCompletion4 && _iterator4.return != null && _iterator4.return();
801
- } finally {
802
- if (_didIteratorError4) throw _iteratorError4;
960
+ if (_didIteratorError4) {
961
+ throw _iteratorError4;
803
962
  }
804
963
  }
805
- return results;
806
- },
807
- allFiles = collectTsFiles(baseDir),
808
- modelResolver = createTypeResolver(ts, allFiles, baseDir),
809
- _iteratorNormalCompletion2 = !0,
810
- _didIteratorError2 = !1,
964
+ }
965
+ return results;
966
+ };
967
+ var allFiles = collectTsFiles(baseDir);
968
+ var modelResolver = createTypeResolver(ts, allFiles, baseDir);
969
+ var _iteratorNormalCompletion2 = true,
970
+ _didIteratorError2 = false,
811
971
  _iteratorError2 = void 0;
812
972
  try {
813
- for (var _loop1 = function () {
814
- var {
815
- baseName,
816
- filePath: filePath2
817
- } = _step2.value,
818
- resolverSourceFile = modelResolver.program.getSourceFile(filePath2);
819
- if (!resolverSourceFile) return "continue";
820
- var resolvedTypes = resolveMutationParamTypes(ts, modelResolver, resolverSourceFile);
821
- if (resolvedTypes.size === 0) return "continue";
822
- var content2 = (0, import_fs.readFileSync)(filePath2, "utf-8"),
823
- sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, !0),
824
- result2 = extractMutationsFromModel(ts, sourceFile2, content2, filePath2, !!silent, typeToValibot, resolvedTypes, modelResolver.typeToValibot);
825
- if (result2) {
826
- result2.modelName = baseName;
827
- var idx = allModelMutations.findIndex(function (m) {
828
- return m.modelName === baseName;
829
- });
830
- idx >= 0 && (allModelMutations[idx] = result2);
831
- }
832
- }, _iterator2 = unresolvedModels[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) _loop1();
973
+ var _loop1 = function () {
974
+ var {
975
+ baseName,
976
+ filePath: filePath2
977
+ } = _step2.value;
978
+ var resolverSourceFile = modelResolver.program.getSourceFile(filePath2);
979
+ if (!resolverSourceFile) return "continue";
980
+ var resolvedTypes = resolveMutationParamTypes(ts, modelResolver, resolverSourceFile);
981
+ if (resolvedTypes.size === 0) return "continue";
982
+ var content2 = (0, import_fs.readFileSync)(filePath2, "utf-8");
983
+ var sourceFile2 = ts.createSourceFile(filePath2, content2, ts.ScriptTarget.Latest, true);
984
+ var result2 = extractMutationsFromModel(ts, sourceFile2, content2, filePath2, !!silent, typeToValibot, resolvedTypes, modelResolver.typeToValibot);
985
+ if (result2) {
986
+ result2.modelName = baseName;
987
+ var idx = allModelMutations.findIndex(function (m) {
988
+ return m.modelName === baseName;
989
+ });
990
+ if (idx >= 0) allModelMutations[idx] = result2;
991
+ }
992
+ };
993
+ for (var _iterator2 = unresolvedModels[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) _loop1();
833
994
  } catch (err) {
834
- _didIteratorError2 = !0, _iteratorError2 = err;
995
+ _didIteratorError2 = true;
996
+ _iteratorError2 = err;
835
997
  } finally {
836
998
  try {
837
- !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
999
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
1000
+ _iterator2.return();
1001
+ }
838
1002
  } finally {
839
- if (_didIteratorError2) throw _iteratorError2;
1003
+ if (_didIteratorError2) {
1004
+ throw _iteratorError2;
1005
+ }
840
1006
  }
841
1007
  }
842
1008
  }
843
- var _iteratorNormalCompletion3 = !0,
844
- _didIteratorError3 = !1,
1009
+ var _iteratorNormalCompletion3 = true,
1010
+ _didIteratorError3 = false,
845
1011
  _iteratorError3 = void 0;
846
1012
  try {
847
- for (var _loop2 = function () {
848
- var model = _step3.value;
849
- model.hasCRUD && (mutationCount += 3), mutationCount += model.custom.filter(function (m) {
850
- return !model.hasCRUD || !["insert", "update", "delete", "upsert"].includes(m.name);
851
- }).length;
852
- }, _iterator3 = allModelMutations[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) _loop2();
1013
+ var _loop2 = function () {
1014
+ var model = _step3.value;
1015
+ if (model.hasCRUD) mutationCount += 3;
1016
+ mutationCount += model.custom.filter(function (m) {
1017
+ return !model.hasCRUD || !["insert", "update", "delete", "upsert"].includes(m.name);
1018
+ }).length;
1019
+ };
1020
+ for (var _iterator3 = allModelMutations[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) _loop2();
853
1021
  } catch (err) {
854
- _didIteratorError3 = !0, _iteratorError3 = err;
1022
+ _didIteratorError3 = true;
1023
+ _iteratorError3 = err;
855
1024
  } finally {
856
1025
  try {
857
- !_iteratorNormalCompletion3 && _iterator3.return != null && _iterator3.return();
1026
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
1027
+ _iterator3.return();
1028
+ }
858
1029
  } finally {
859
- if (_didIteratorError3) throw _iteratorError3;
1030
+ if (_didIteratorError3) {
1031
+ throw _iteratorError3;
1032
+ }
860
1033
  }
861
1034
  }
862
1035
  if (allModelMutations.length > 0) {
863
1036
  var mutationsChanged = writeFileIfChanged((0, import_path.resolve)(generatedDir, "syncedMutations.ts"), (0, import_generate_helpers.generateSyncedMutationsFile)(allModelMutations));
864
- mutationsChanged && filesChanged++;
1037
+ if (mutationsChanged) filesChanged++;
865
1038
  }
866
- if (filesChanged > 0 && !silent && console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)${queryCount ? `, ${queryCount} queries` : ""}${mutationCount ? `, ${mutationCount} mutations` : ""}`), filesChanged > 0 && after) {
1039
+ if (filesChanged > 0 && !silent) {
1040
+ console.info(`\u2713 ${allModelFiles.length} models (${filesWithSchema.length} schemas)${queryCount ? `, ${queryCount} queries` : ""}${mutationCount ? `, ${mutationCount} mutations` : ""}`);
1041
+ }
1042
+ if (filesChanged > 0 && after) {
867
1043
  var {
868
1044
  execSync
869
1045
  } = await import("child_process");
@@ -876,10 +1052,11 @@ async function generate(options) {
876
1052
  }
877
1053
  });
878
1054
  } catch (err) {
879
- silent || console.error(`Error running after command: ${err}`);
1055
+ if (!silent) console.error(`Error running after command: ${err}`);
880
1056
  }
881
1057
  }
882
- return saveCache(), {
1058
+ saveCache();
1059
+ return {
883
1060
  filesChanged,
884
1061
  modelCount: allModelFiles.length,
885
1062
  schemaCount: filesWithSchema.length,
@@ -889,41 +1066,46 @@ async function generate(options) {
889
1066
  }
890
1067
  async function watch(options) {
891
1068
  var {
892
- dir,
893
- debounce = 1e3
894
- } = options,
895
- baseDir = (0, import_path.resolve)(dir),
896
- mutationsDir = (0, import_path.resolve)(baseDir, "mutations"),
897
- modelsDir = (0, import_fs.existsSync)(mutationsDir) ? mutationsDir : (0, import_path.resolve)(baseDir, "models"),
898
- queriesDir = (0, import_path.resolve)(baseDir, "queries"),
899
- generatedDir = (0, import_path.resolve)(baseDir, "generated");
1069
+ dir,
1070
+ debounce = 1e3
1071
+ } = options;
1072
+ var baseDir = (0, import_path.resolve)(dir);
1073
+ var mutationsDir = (0, import_path.resolve)(baseDir, "mutations");
1074
+ var modelsDir = (0, import_fs.existsSync)(mutationsDir) ? mutationsDir : (0, import_path.resolve)(baseDir, "models");
1075
+ var queriesDir = (0, import_path.resolve)(baseDir, "queries");
1076
+ var generatedDir = (0, import_path.resolve)(baseDir, "generated");
900
1077
  await generate({
901
1078
  ...options,
902
- silent: !0
903
- }), console.info(`\u{1F440} watching...
904
- `);
905
- var chokidar = await import("chokidar"),
906
- debounceTimer = null,
907
- debouncedRegenerate = function (path, event) {
908
- debounceTimer && clearTimeout(debounceTimer), console.info(`
909
- ${event} ${path}`), debounceTimer = setTimeout(function () {
910
- generate({
911
- ...options,
912
- silent: !1
913
- });
914
- }, debounce);
915
- },
916
- watcher = chokidar.watch([modelsDir, queriesDir], {
917
- persistent: !0,
918
- ignoreInitial: !0,
919
- ignored: [generatedDir]
920
- });
921
- return watcher.on("change", function (path) {
1079
+ silent: true
1080
+ });
1081
+ console.info("\u{1F440} watching...\n");
1082
+ var chokidar = await import("chokidar");
1083
+ var debounceTimer = null;
1084
+ var debouncedRegenerate = function (path, event) {
1085
+ if (debounceTimer) clearTimeout(debounceTimer);
1086
+ console.info(`
1087
+ ${event} ${path}`);
1088
+ debounceTimer = setTimeout(function () {
1089
+ generate({
1090
+ ...options,
1091
+ silent: false
1092
+ });
1093
+ }, debounce);
1094
+ };
1095
+ var watcher = chokidar.watch([modelsDir, queriesDir], {
1096
+ persistent: true,
1097
+ ignoreInitial: true,
1098
+ ignored: [generatedDir]
1099
+ });
1100
+ watcher.on("change", function (path) {
922
1101
  return debouncedRegenerate(path, "\u{1F4DD}");
923
- }), watcher.on("add", function (path) {
1102
+ });
1103
+ watcher.on("add", function (path) {
924
1104
  return debouncedRegenerate(path, "\u2795");
925
- }), watcher.on("unlink", function (path) {
1105
+ });
1106
+ watcher.on("unlink", function (path) {
926
1107
  return debouncedRegenerate(path, "\u{1F5D1}\uFE0F ");
927
- }), watcher;
1108
+ });
1109
+ return watcher;
928
1110
  }
929
1111
  //# sourceMappingURL=generate.native.js.map