on-zero 0.16.20 → 0.16.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/dist/cjs/cli.cjs +6 -0
  2. package/dist/cjs/cli.native.js +6 -0
  3. package/dist/cjs/cli.native.js.map +1 -1
  4. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  5. package/dist/cjs/config.native.js.map +1 -1
  6. package/dist/cjs/createPermissions.native.js.map +1 -1
  7. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  8. package/dist/cjs/createUseQuery.cjs +14 -4
  9. package/dist/cjs/createUseQuery.native.js +18 -5
  10. package/dist/cjs/createUseQuery.native.js.map +1 -1
  11. package/dist/cjs/createUseQueryDirect.cjs +13 -2
  12. package/dist/cjs/createUseQueryDirect.native.js +14 -2
  13. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  14. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
  15. package/dist/cjs/createZeroClient.cjs +21 -3
  16. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  17. package/dist/cjs/createZeroClient.exportProbe.test.native.js.map +1 -1
  18. package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
  19. package/dist/cjs/createZeroClient.httpAuth.test.native.js.map +1 -1
  20. package/dist/cjs/createZeroClient.native.js +28 -3
  21. package/dist/cjs/createZeroClient.native.js.map +1 -1
  22. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  23. package/dist/cjs/generate-helpers.native.js.map +1 -1
  24. package/dist/cjs/generate-helpers.test.native.js.map +1 -1
  25. package/dist/cjs/generate-layout.native.js.map +1 -1
  26. package/dist/cjs/generate-lite.native.js.map +1 -1
  27. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  28. package/dist/cjs/generate.cjs +57 -30
  29. package/dist/cjs/generate.native.js +92 -31
  30. package/dist/cjs/generate.native.js.map +1 -1
  31. package/dist/cjs/generate.test.cjs +147 -0
  32. package/dist/cjs/generate.test.native.js +147 -0
  33. package/dist/cjs/generate.test.native.js.map +1 -1
  34. package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
  35. package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
  36. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  37. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  38. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  39. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
  40. package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
  41. package/dist/cjs/helpers/emitter.native.js.map +1 -1
  42. package/dist/cjs/helpers/ensure.native.js.map +1 -1
  43. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  44. package/dist/cjs/helpers/errors.native.js.map +1 -1
  45. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  46. package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
  47. package/dist/cjs/helpers/globalValue.native.js.map +1 -1
  48. package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
  49. package/dist/cjs/helpers/mapObject.native.js.map +1 -1
  50. package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
  51. package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
  52. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  53. package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
  54. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  55. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  56. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  57. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  58. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  59. package/dist/cjs/helpers/sleep.native.js.map +1 -1
  60. package/dist/cjs/helpers/time.native.js.map +1 -1
  61. package/dist/cjs/helpers/tuple.native.js.map +1 -1
  62. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  63. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  64. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  65. package/dist/cjs/index.native.js.map +1 -1
  66. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  67. package/dist/cjs/modelRegistry.native.js.map +1 -1
  68. package/dist/cjs/multi.cjs +10 -5
  69. package/dist/cjs/multi.native.js +10 -5
  70. package/dist/cjs/multi.native.js.map +1 -1
  71. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  72. package/dist/cjs/multiInstanceMutations.test.native.js.map +1 -1
  73. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  74. package/dist/cjs/multiPartition.test.cjs +46 -2
  75. package/dist/cjs/multiPartition.test.native.js +50 -2
  76. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  77. package/dist/cjs/mutations.native.js.map +1 -1
  78. package/dist/cjs/mutations.test.native.js.map +1 -1
  79. package/dist/cjs/native-typescript.cjs +50 -11
  80. package/dist/cjs/native-typescript.native.js +158 -30
  81. package/dist/cjs/native-typescript.native.js.map +1 -1
  82. package/dist/cjs/provideZero.eagerInstance.test.cjs +22 -0
  83. package/dist/cjs/provideZero.eagerInstance.test.native.js +30 -0
  84. package/dist/cjs/provideZero.eagerInstance.test.native.js.map +1 -1
  85. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  86. package/dist/cjs/provideZero.ssr.test.native.js.map +1 -1
  87. package/dist/cjs/queryErrorRecovery.cjs +93 -0
  88. package/dist/cjs/queryErrorRecovery.native.js +205 -0
  89. package/dist/cjs/queryErrorRecovery.native.js.map +1 -0
  90. package/dist/cjs/queryJson.native.js.map +1 -1
  91. package/dist/cjs/queryRegistry.native.js.map +1 -1
  92. package/dist/cjs/resolveQuery.native.js.map +1 -1
  93. package/dist/cjs/run.native.js.map +1 -1
  94. package/dist/cjs/server.native.js.map +1 -1
  95. package/dist/cjs/server.test.native.js.map +1 -1
  96. package/dist/cjs/serverWhere.native.js.map +1 -1
  97. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  98. package/dist/cjs/state.native.js.map +1 -1
  99. package/dist/cjs/streaming.native.js.map +1 -1
  100. package/dist/cjs/testSetup.native.js.map +1 -1
  101. package/dist/cjs/types.native.js.map +1 -1
  102. package/dist/cjs/usePermission.test.native.js.map +1 -1
  103. package/dist/cjs/useQuery.aggregate.zero.test.cjs +199 -4
  104. package/dist/cjs/useQuery.aggregate.zero.test.native.js +212 -4
  105. package/dist/cjs/useQuery.aggregate.zero.test.native.js.map +1 -1
  106. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  107. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  108. package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
  109. package/dist/cjs/useStreamingField.native.js.map +1 -1
  110. package/dist/cjs/vite-plugin.cjs +10 -0
  111. package/dist/cjs/vite-plugin.native.js +10 -0
  112. package/dist/cjs/vite-plugin.native.js.map +1 -1
  113. package/dist/cjs/where.native.js.map +1 -1
  114. package/dist/cjs/zeroRunner.native.js.map +1 -1
  115. package/dist/cjs/zql.native.js.map +1 -1
  116. package/dist/esm/cli.mjs +6 -0
  117. package/dist/esm/cli.mjs.map +1 -1
  118. package/dist/esm/cli.native.js +7 -1
  119. package/dist/esm/cli.native.js.map +1 -1
  120. package/dist/esm/combineZeroClients.native.js +4 -4
  121. package/dist/esm/combineZeroClients.native.js.map +1 -1
  122. package/dist/esm/config.native.js.map +1 -1
  123. package/dist/esm/createPermissions.native.js +4 -4
  124. package/dist/esm/createPermissions.native.js.map +1 -1
  125. package/dist/esm/createSchemaFromDrizzle.native.js +1 -1
  126. package/dist/esm/createSchemaFromDrizzle.native.js.map +1 -1
  127. package/dist/esm/createUseQuery.mjs +16 -6
  128. package/dist/esm/createUseQuery.mjs.map +1 -1
  129. package/dist/esm/createUseQuery.native.js +24 -11
  130. package/dist/esm/createUseQuery.native.js.map +1 -1
  131. package/dist/esm/createUseQueryDirect.mjs +13 -2
  132. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  133. package/dist/esm/createUseQueryDirect.native.js +19 -7
  134. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  135. package/dist/esm/createZeroClient.authData.test.native.js +2 -2
  136. package/dist/esm/createZeroClient.authData.test.native.js.map +1 -1
  137. package/dist/esm/createZeroClient.connection.test.native.js +1 -1
  138. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  139. package/dist/esm/createZeroClient.exportProbe.test.native.js +1 -1
  140. package/dist/esm/createZeroClient.exportProbe.test.native.js.map +1 -1
  141. package/dist/esm/createZeroClient.headless.test.native.js +2 -2
  142. package/dist/esm/createZeroClient.headless.test.native.js.map +1 -1
  143. package/dist/esm/createZeroClient.httpAuth.test.native.js +1 -1
  144. package/dist/esm/createZeroClient.httpAuth.test.native.js.map +1 -1
  145. package/dist/esm/createZeroClient.mjs +21 -3
  146. package/dist/esm/createZeroClient.mjs.map +1 -1
  147. package/dist/esm/createZeroClient.native.js +49 -24
  148. package/dist/esm/createZeroClient.native.js.map +1 -1
  149. package/dist/esm/createZeroClient.recovery.test.native.js +2 -2
  150. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  151. package/dist/esm/generate-helpers.native.js.map +1 -1
  152. package/dist/esm/generate-helpers.test.native.js +1 -1
  153. package/dist/esm/generate-helpers.test.native.js.map +1 -1
  154. package/dist/esm/generate-layout.native.js.map +1 -1
  155. package/dist/esm/generate-lite.native.js +1 -1
  156. package/dist/esm/generate-lite.native.js.map +1 -1
  157. package/dist/esm/generate-lite.test.native.js +1 -1
  158. package/dist/esm/generate-lite.test.native.js.map +1 -1
  159. package/dist/esm/generate.mjs +57 -30
  160. package/dist/esm/generate.mjs.map +1 -1
  161. package/dist/esm/generate.native.js +95 -34
  162. package/dist/esm/generate.native.js.map +1 -1
  163. package/dist/esm/generate.test.mjs +147 -0
  164. package/dist/esm/generate.test.mjs.map +1 -1
  165. package/dist/esm/generate.test.native.js +148 -1
  166. package/dist/esm/generate.test.native.js.map +1 -1
  167. package/dist/esm/helpers/NullToOptional.native.js.map +1 -1
  168. package/dist/esm/helpers/asyncContext.hostStorage.test.native.js +7 -7
  169. package/dist/esm/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
  170. package/dist/esm/helpers/batchQuery.native.js +1 -1
  171. package/dist/esm/helpers/batchQuery.native.js.map +1 -1
  172. package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
  173. package/dist/esm/helpers/createMutators.native.js +4 -4
  174. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  175. package/dist/esm/helpers/createMutators.test.native.js +2 -2
  176. package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
  177. package/dist/esm/helpers/ellipsis.native.js.map +1 -1
  178. package/dist/esm/helpers/emitter.native.js.map +1 -1
  179. package/dist/esm/helpers/ensure.native.js +1 -1
  180. package/dist/esm/helpers/ensure.native.js.map +1 -1
  181. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
  182. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  183. package/dist/esm/helpers/errors.native.js.map +1 -1
  184. package/dist/esm/helpers/getAuth.native.js +3 -3
  185. package/dist/esm/helpers/getAuth.native.js.map +1 -1
  186. package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -1
  187. package/dist/esm/helpers/globalValue.native.js.map +1 -1
  188. package/dist/esm/helpers/hostStorageScope.native.js.map +1 -1
  189. package/dist/esm/helpers/mapObject.native.js.map +1 -1
  190. package/dist/esm/helpers/mutationLifecycle.native.js +1 -1
  191. package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -1
  192. package/dist/esm/helpers/mutationLifecycle.test.native.js +1 -1
  193. package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -1
  194. package/dist/esm/helpers/mutatorContext.native.js +1 -1
  195. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  196. package/dist/esm/helpers/mutatorContext.test.native.js +6 -6
  197. package/dist/esm/helpers/mutatorContext.test.native.js.map +1 -1
  198. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +1 -1
  199. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  200. package/dist/esm/helpers/queryContext.native.js +1 -1
  201. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  202. package/dist/esm/helpers/recoverZeroClient.native.js +1 -1
  203. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  204. package/dist/esm/helpers/recoverZeroClient.test.native.js +2 -2
  205. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  206. package/dist/esm/helpers/showZeroClientError.native.js +1 -1
  207. package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
  208. package/dist/esm/helpers/sleep.native.js +1 -1
  209. package/dist/esm/helpers/sleep.native.js.map +1 -1
  210. package/dist/esm/helpers/time.native.js.map +1 -1
  211. package/dist/esm/helpers/tuple.native.js.map +1 -1
  212. package/dist/esm/helpers/useMutation.native.js.map +1 -1
  213. package/dist/esm/helpers/useMutation.test.native.js +1 -1
  214. package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
  215. package/dist/esm/helpers/useZeroDebug.native.js +2 -2
  216. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  217. package/dist/esm/index.native.js +23 -23
  218. package/dist/esm/index.native.js.map +1 -1
  219. package/dist/esm/instanceRegistry.native.js +2 -2
  220. package/dist/esm/instanceRegistry.native.js.map +1 -1
  221. package/dist/esm/modelRegistry.native.js.map +1 -1
  222. package/dist/esm/multi.mjs +10 -5
  223. package/dist/esm/multi.mjs.map +1 -1
  224. package/dist/esm/multi.native.js +15 -10
  225. package/dist/esm/multi.native.js.map +1 -1
  226. package/dist/esm/multiInstance.test.native.js +10 -10
  227. package/dist/esm/multiInstance.test.native.js.map +1 -1
  228. package/dist/esm/multiInstanceMutations.test.native.js +4 -4
  229. package/dist/esm/multiInstanceMutations.test.native.js.map +1 -1
  230. package/dist/esm/multiInstanceNested.test.native.js +3 -3
  231. package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
  232. package/dist/esm/multiPartition.test.mjs +47 -3
  233. package/dist/esm/multiPartition.test.mjs.map +1 -1
  234. package/dist/esm/multiPartition.test.native.js +52 -4
  235. package/dist/esm/multiPartition.test.native.js.map +1 -1
  236. package/dist/esm/mutations.native.js +2 -2
  237. package/dist/esm/mutations.native.js.map +1 -1
  238. package/dist/esm/mutations.test.native.js +4 -4
  239. package/dist/esm/mutations.test.native.js.map +1 -1
  240. package/dist/esm/native-typescript.mjs +50 -11
  241. package/dist/esm/native-typescript.mjs.map +1 -1
  242. package/dist/esm/native-typescript.native.js +158 -30
  243. package/dist/esm/native-typescript.native.js.map +1 -1
  244. package/dist/esm/provideZero.eagerInstance.test.mjs +22 -0
  245. package/dist/esm/provideZero.eagerInstance.test.mjs.map +1 -1
  246. package/dist/esm/provideZero.eagerInstance.test.native.js +31 -1
  247. package/dist/esm/provideZero.eagerInstance.test.native.js.map +1 -1
  248. package/dist/esm/provideZero.hydration.test.native.js +2 -2
  249. package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
  250. package/dist/esm/provideZero.ssr.test.native.js +2 -2
  251. package/dist/esm/provideZero.ssr.test.native.js.map +1 -1
  252. package/dist/esm/queryErrorRecovery.mjs +66 -0
  253. package/dist/esm/queryErrorRecovery.mjs.map +1 -0
  254. package/dist/esm/queryErrorRecovery.native.js +175 -0
  255. package/dist/esm/queryErrorRecovery.native.js.map +1 -0
  256. package/dist/esm/queryJson.native.js +1 -1
  257. package/dist/esm/queryJson.native.js.map +1 -1
  258. package/dist/esm/queryRegistry.native.js.map +1 -1
  259. package/dist/esm/resolveQuery.native.js +2 -2
  260. package/dist/esm/resolveQuery.native.js.map +1 -1
  261. package/dist/esm/run.native.js +4 -4
  262. package/dist/esm/run.native.js.map +1 -1
  263. package/dist/esm/server.native.js +10 -10
  264. package/dist/esm/server.native.js.map +1 -1
  265. package/dist/esm/server.test.native.js +2 -2
  266. package/dist/esm/server.test.native.js.map +1 -1
  267. package/dist/esm/serverWhere.native.js +1 -1
  268. package/dist/esm/serverWhere.native.js.map +1 -1
  269. package/dist/esm/serverWhere.test.native.js +3 -3
  270. package/dist/esm/serverWhere.test.native.js.map +1 -1
  271. package/dist/esm/state.native.js +1 -1
  272. package/dist/esm/state.native.js.map +1 -1
  273. package/dist/esm/streaming.native.js +1 -1
  274. package/dist/esm/streaming.native.js.map +1 -1
  275. package/dist/esm/testSetup.native.js.map +1 -1
  276. package/dist/esm/types.native.js.map +1 -1
  277. package/dist/esm/usePermission.test.native.js +3 -3
  278. package/dist/esm/usePermission.test.native.js.map +1 -1
  279. package/dist/esm/useQuery.aggregate.zero.test.mjs +197 -2
  280. package/dist/esm/useQuery.aggregate.zero.test.mjs.map +1 -1
  281. package/dist/esm/useQuery.aggregate.zero.test.native.js +212 -4
  282. package/dist/esm/useQuery.aggregate.zero.test.native.js.map +1 -1
  283. package/dist/esm/useQuery.empty.test.native.js +3 -3
  284. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  285. package/dist/esm/useQuery.ssr.test.native.js +2 -2
  286. package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
  287. package/dist/esm/useStreamingField.loop.test.native.js +1 -1
  288. package/dist/esm/useStreamingField.loop.test.native.js.map +1 -1
  289. package/dist/esm/useStreamingField.native.js.map +1 -1
  290. package/dist/esm/vite-plugin.mjs +10 -0
  291. package/dist/esm/vite-plugin.mjs.map +1 -1
  292. package/dist/esm/vite-plugin.native.js +11 -1
  293. package/dist/esm/vite-plugin.native.js.map +1 -1
  294. package/dist/esm/where.native.js +3 -3
  295. package/dist/esm/where.native.js.map +1 -1
  296. package/dist/esm/zeroRunner.native.js +1 -1
  297. package/dist/esm/zeroRunner.native.js.map +1 -1
  298. package/dist/esm/zql.native.js +1 -1
  299. package/dist/esm/zql.native.js.map +1 -1
  300. package/package.json +4 -4
  301. package/src/cli.ts +6 -0
  302. package/src/createUseQuery.tsx +20 -5
  303. package/src/createUseQueryDirect.tsx +17 -1
  304. package/src/createZeroClient.tsx +37 -4
  305. package/src/generate.test.ts +116 -0
  306. package/src/generate.ts +109 -52
  307. package/src/multi.ts +11 -3
  308. package/src/multiPartition.test.ts +55 -11
  309. package/src/native-typescript.ts +64 -11
  310. package/src/provideZero.eagerInstance.test.tsx +27 -0
  311. package/src/queryErrorRecovery.ts +95 -0
  312. package/src/useQuery.aggregate.zero.test.tsx +187 -2
  313. package/src/vite-plugin.ts +10 -0
  314. package/types/createUseQuery.d.ts +3 -1
  315. package/types/createUseQuery.d.ts.map +1 -1
  316. package/types/createUseQueryDirect.d.ts +3 -1
  317. package/types/createUseQueryDirect.d.ts.map +1 -1
  318. package/types/createZeroClient.d.ts +3 -1
  319. package/types/createZeroClient.d.ts.map +1 -1
  320. package/types/generate.d.ts +4 -0
  321. package/types/generate.d.ts.map +1 -1
  322. package/types/multi.d.ts +3 -1
  323. package/types/multi.d.ts.map +1 -1
  324. package/types/native-typescript.d.ts +7 -1
  325. package/types/native-typescript.d.ts.map +1 -1
  326. package/types/queryErrorRecovery.d.ts +33 -0
  327. package/types/queryErrorRecovery.d.ts.map +1 -0
  328. package/types/useQuery.aggregate.zero.test.d.ts.map +1 -1
  329. package/types/vite-plugin.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_layout_exports","__export","discoverDataLayout","namespaceImportPath","module","exports","import_fs","require","import_path","ts","__toESM","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","relative","split","sep","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","project","configPath","resolve","existsSync","Error","dirname","source","sourceFile","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","iterator","_step","next","done","statement","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","statSync","isDirectory","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","found","delete","found1","forEachChild","mutationTable","namespace","schemaTable","firstArgument","v","visit","visit1","_ret","discoverNamespaces","instanceDirs","namespaces","readdirSync","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","basename","queryPath","modelPath","aggregatePath","sourcePaths","folder","hasQueries","hasMutations","hasAggregates","includes","filter","path2","Boolean","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name","isSpreadAssignment","tableName"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","generate_layout_exports","discoverDataLayout","namespaceImportPath","module","exports","import_fs","require","import_path","ts","_type_of","obj","Symbol","constructor","isSourceFile","isSourceFile2","endsWith","toImportPath","toImportPath2","baseDir","path","relative","split","sep","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","project","configPath","resolve","existsSync","Error","dirname","source","sourceFile","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","iterator","_step","next","done","statement","isExportAssignment","isExportEquals","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","statSync","isDirectory","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","namespaceExportKinds","none","model","query","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","found","delete","found1","forEachChild","mutationTable","namespace","schemaTable","firstArgument","v","visit","visit1","_ret","discoverNamespaces","instanceDirs","namespaces","readdirSync","withFileTypes","sort","a","b","localeCompare","entry","isFile","kinds","basename","queryPath","modelPath","aggregatePath","sourcePaths","folder","hasQueries","hasMutations","hasAggregates","includes","filter","path2","Boolean","metadataPaths","paths","relations","databaseDir","relationTargets","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test","names","map","_property_name","isSpreadAssignment","tableName","queriedTables","reached","rootTable","rootTable2","_ref","_text_match","match","currentTable","_rootTable","nameArg","sourceTable","callback","helperRoot","queryRoot","aggregateTables","unwrap","unwrap2","current","isSatisfiesExpression","isAsExpression","tables","definitions","_i2","_iter2","fieldName","field","definition","_i","_iter","mutationSupportTables","sourceRoots","visited","scan","scan1","transaction","isImportDeclaration","isExportDeclaration","moduleSpecifier","specifier","unresolved","slice","assertNoInstanceFiles","roots","walk","walk1","assertNoUnclaimedNamespaces","instanceDir","configured","instance2","syncTables","declaredSupportTables","namespaceOwners","owner","tableOwners","namespace1","owner1","metadata","relatedOwners","instance1","namespace3","table2","namespace2","_tableOwners_get","owner2","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_iterator6","_step6","_tableOwners_get1","owner3","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_iterator7","_step7","table1","_columns_get","_iteratorNormalCompletion8","_didIteratorError8","_iteratorError8","_step8","_iteratorNormalCompletion9","_didIteratorError9","_iteratorError9","_iterator9","_step9","table3","_iterator8"],"sources":["generate-layout.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar generate_layout_exports = {};\n__export(generate_layout_exports, {\n discoverDataLayout: () => discoverDataLayout,\n namespaceImportPath: () => namespaceImportPath\n});\nmodule.exports = __toCommonJS(generate_layout_exports);\nvar import_fs = require(\"fs\");\nvar import_path = require(\"path\");\nvar ts = __toESM(require(\"typescript/unstable/ast\"), 1);\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar isSourceFile = function isSourceFile2(name) {\n return name.endsWith(\".ts\") && !name.endsWith(\".d.ts\") && !name.endsWith(\".test.ts\") && !name.endsWith(\".spec.ts\");\n};\nvar toImportPath = function toImportPath2(baseDir, path) {\n return (0, import_path.relative)(baseDir, path).split(import_path.sep).join(\"/\").replace(/\\.ts$/, \"\");\n};\nvar isWithin = function isWithin2(root, path) {\n var child = (0, import_path.relative)(root, path);\n return child === \"\" || child !== \"..\" && !child.startsWith(`..${import_path.sep}`);\n};\nfunction propertyName(name) {\n if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {\n return name.text;\n }\n return null;\n}\nfunction readDataConfig(project, baseDir, configPath) {\n var path = configPath ? (0, import_path.resolve)(configPath) : (0, import_path.resolve)(baseDir, \"on-zero.config.ts\");\n if (!(0, import_fs.existsSync)(path)) {\n if (configPath) throw new Error(`[on-zero] config file does not exist: ${path}`);\n return null;\n }\n if ((0, import_path.dirname)(path) !== baseDir) {\n throw new Error(`[on-zero] ${path} must be at the data root ${baseDir}`);\n }\n var source = project.sourceFile(path);\n if (project.hasParseErrors(path)) throw new Error(`[on-zero] unable to parse ${path}`);\n var config = null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n if (!ts.isExportAssignment(statement) || statement.isExportEquals) continue;\n var call = statement.expression;\n if (!ts.isCallExpression(call) || call.expression.getText(source) !== \"defineConfig\") {\n continue;\n }\n var value = call.arguments[0];\n if (value && ts.isObjectLiteralExpression(value)) config = value;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (!config) {\n throw new Error(`[on-zero] ${path} must default export defineConfig({ instances: { ... } })`);\n }\n var rootOptions = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = config.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var option = _step1.value;\n if (!ts.isPropertyAssignment(option)) {\n throw new Error(`[on-zero] ${path} options must use explicit property assignments`);\n }\n var name = propertyName(option.name);\n if (!name) throw new Error(`[on-zero] ${path} has an unsupported option name`);\n if (rootOptions.has(name)) throw new Error(`[on-zero] ${path} repeats option '${name}'`);\n rootOptions.set(name, option.initializer);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = rootOptions.keys()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var name1 = _step2.value;\n if (name1 !== \"instances\") throw new Error(`[on-zero] ${path} has unknown option '${name1}'`);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var instancesNode = rootOptions.get(\"instances\");\n if (!instancesNode || !ts.isObjectLiteralExpression(instancesNode)) {\n throw new Error(`[on-zero] ${path} must declare a non-empty instances object`);\n }\n var instances = [];\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n var _loop = function() {\n var property = _step3.value;\n if (!ts.isPropertyAssignment(property)) {\n throw new Error(`[on-zero] ${path} instances must use explicit property assignments`);\n }\n var name2 = propertyName(property.name);\n if (!name2) throw new Error(`[on-zero] ${path} has an unsupported instance name`);\n if (!ts.isObjectLiteralExpression(property.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' must be an object`);\n }\n if (instances.some(function(instance) {\n return instance.name === name2;\n })) {\n throw new Error(`[on-zero] duplicate instance name '${name2}'`);\n }\n var dir = (0, import_path.resolve)((0, import_path.dirname)(path), name2);\n var scope = null;\n var supportTables = [];\n var seen = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = property.initializer.properties[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var option2 = _step5.value;\n if (!ts.isPropertyAssignment(option2)) {\n throw new Error(`[on-zero] instance '${name2}' options must be assignments`);\n }\n var optionName = propertyName(option2.name);\n if (!optionName) throw new Error(`[on-zero] instance '${name2}' has an invalid option`);\n if (seen.has(optionName)) {\n throw new Error(`[on-zero] instance '${name2}' repeats option '${optionName}'`);\n }\n seen.add(optionName);\n if (optionName === \"dir\") {\n if (!ts.isStringLiteral(option2.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' dir must be a string literal`);\n }\n if (option2.initializer.text.startsWith(\"/\")) {\n throw new Error(`[on-zero] instance '${name2}' dir must be relative to ${path}`);\n }\n dir = (0, import_path.resolve)((0, import_path.dirname)(path), option2.initializer.text);\n continue;\n }\n if (optionName === \"scope\") {\n if (!ts.isStringLiteral(option2.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' scope must be a string literal`);\n }\n if (!option2.initializer.text) {\n throw new Error(`[on-zero] instance '${name2}' scope cannot be empty`);\n }\n scope = option2.initializer.text;\n continue;\n }\n if (optionName === \"supportTables\") {\n if (!ts.isArrayLiteralExpression(option2.initializer)) {\n throw new Error(`[on-zero] instance '${name2}' supportTables must be an array`);\n }\n var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n for (var _iterator12 = option2.initializer.elements[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {\n var table = _step12.value;\n if (!ts.isStringLiteral(table)) {\n throw new Error(`[on-zero] instance '${name2}' supportTables must contain string literals`);\n }\n if (!table.text) {\n throw new Error(`[on-zero] instance '${name2}' supportTables cannot contain an empty table name`);\n }\n supportTables.push(table.text);\n }\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n continue;\n }\n throw new Error(`[on-zero] instance '${name2}' has unknown option '${optionName}'`);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n if (!(0, import_fs.existsSync)(dir) || !(0, import_fs.statSync)(dir).isDirectory()) {\n throw new Error(`[on-zero] instance '${name2}' directory does not exist: ${dir}`);\n }\n instances.push({\n name: name2,\n dir,\n scope,\n supportTables\n });\n };\n for (var _iterator3 = instancesNode.properties[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) _loop();\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (instances.length === 0) {\n throw new Error(`[on-zero] ${path} must declare at least one instance`);\n }\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n var _loop1 = function() {\n var instance = _step4.value;\n var duplicate = instances.find(function(candidate) {\n return candidate !== instance && candidate.dir === instance.dir;\n });\n if (duplicate) {\n throw new Error(`[on-zero] instances '${instance.name}' and '${duplicate.name}' resolve to the same directory: ${instance.dir}`);\n }\n };\n for (var _iterator4 = instances[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) _loop1();\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n return {\n path,\n instances\n };\n}\nfunction namespaceExportKinds(project, baseDir, path) {\n var none = {\n model: false,\n query: false\n };\n var source = project.sourceFile(path);\n if (project.hasParseErrors(path)) {\n var displayPath = (0, import_path.relative)((0, import_path.dirname)(baseDir), path).split(import_path.sep).join(\"/\");\n console.warn(`[on-zero] ignoring ${displayPath}: no recognized data exports`);\n return none;\n }\n var functions = /* @__PURE__ */ new Map();\n var exported = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n if (ts.isVariableStatement(statement)) {\n var _statement_modifiers;\n var isExported = (_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n });\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var declaration = _step1.value;\n if (!ts.isIdentifier(declaration.name) || !declaration.initializer) continue;\n var name = declaration.name.text;\n var initializer = declaration.initializer;\n if (isExported && ts.isCallExpression(initializer)) {\n var initializerText = initializer.getText(source);\n if (name === \"mutate\" && initializerText.startsWith(\"mutations(\") || name === \"where\" && initializerText.startsWith(\"serverWhere(\") || name === \"schema\" && initializerText.startsWith(\"table(\")) {\n return {\n model: true,\n query: false\n };\n }\n }\n if (ts.isArrowFunction(initializer) || ts.isFunctionExpression(initializer)) {\n functions.set(name, initializer.body);\n if (isExported) exported.add(name);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n continue;\n }\n if (ts.isFunctionDeclaration(statement) && statement.name && statement.body) {\n var _statement_modifiers1;\n functions.set(statement.name.text, statement.body);\n if ((_statement_modifiers1 = statement.modifiers) === null || _statement_modifiers1 === void 0 ? void 0 : _statement_modifiers1.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })) {\n exported.add(statement.name.text);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var visiting = /* @__PURE__ */ new Set();\n var reachesQuery = function reachesQuery1(node) {\n if (ts.isPropertyAccessExpression(node)) {\n if (ts.isIdentifier(node.expression) && node.expression.text === \"zql\") return true;\n if (ts.isPropertyAccessExpression(node.expression) && node.expression.name.text === \"query\") return true;\n }\n if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {\n var name2 = node.expression.text;\n var helper = functions.get(name2);\n if (helper && !visiting.has(name2)) {\n visiting.add(name2);\n var found = reachesQuery(helper);\n visiting.delete(name2);\n if (found) return true;\n }\n }\n var found1 = false;\n node.forEachChild(function(child) {\n if (!found1 && reachesQuery(child)) found1 = true;\n });\n return found1;\n };\n var query = [\n ...exported\n ].some(function(name2) {\n return reachesQuery(functions.get(name2));\n });\n return {\n model: false,\n query\n };\n}\nfunction mutationTable(project, path, namespace) {\n var source = project.sourceFile(path);\n var schemaTable = null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n var _statement_modifiers;\n if (!ts.isVariableStatement(statement)) continue;\n if (!((_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n }))) {\n continue;\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var declaration = _step1.value;\n if (!ts.isIdentifier(declaration.name) || !declaration.initializer) return \"continue\";\n if (declaration.name.text === \"mutate\" && ts.isCallExpression(declaration.initializer)) {\n var firstArgument = declaration.initializer.arguments[0];\n if (firstArgument && ts.isStringLiteral(firstArgument)) {\n return {\n v: firstArgument.text\n };\n }\n }\n if (declaration.name.text !== \"schema\") return \"continue\";\n var visit = function visit1(node) {\n if (ts.isCallExpression(node) && node.expression.getText(source) === \"table\" && node.arguments[0] && ts.isStringLiteral(node.arguments[0])) {\n schemaTable = node.arguments[0].text;\n return;\n }\n node.forEachChild(visit);\n };\n visit(declaration.initializer);\n };\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return schemaTable !== null && schemaTable !== void 0 ? schemaTable : namespace;\n}\nfunction discoverNamespaces(project, baseDir, instance, instanceDirs) {\n var namespaces = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (0, import_fs.readdirSync)(instance.dir, {\n withFileTypes: true\n }).sort(function(a, b) {\n return a.name.localeCompare(b.name);\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (entry.isFile()) {\n if (!isSourceFile(entry.name) || entry.name === \"on-zero.config.ts\") continue;\n var path = (0, import_path.resolve)(instance.dir, entry.name);\n var kinds = namespaceExportKinds(project, baseDir, path);\n if (!kinds.model && !kinds.query) continue;\n var name = (0, import_path.basename)(entry.name, \".ts\");\n namespaces.push({\n name,\n instance: instance.name,\n queryPath: path,\n // a query-only file is not a model, matching the folder layout where a\n // missing mutations.ts leaves modelPath null\n modelPath: kinds.model ? path : null,\n aggregatePath: null,\n table: kinds.model ? mutationTable(project, path, name) : null,\n sourcePaths: [\n path\n ]\n });\n continue;\n }\n if (!entry.isDirectory()) continue;\n var folder = (0, import_path.resolve)(instance.dir, entry.name);\n if (entry.name === \"generated\" || instanceDirs.has(folder)) continue;\n var queryPath = (0, import_path.resolve)(folder, \"queries.ts\");\n var modelPath = (0, import_path.resolve)(folder, \"mutations.ts\");\n var aggregatePath = (0, import_path.resolve)(folder, \"aggregates.ts\");\n var hasQueries = (0, import_fs.existsSync)(queryPath);\n var hasMutations = (0, import_fs.existsSync)(modelPath);\n var hasAggregates = (0, import_fs.existsSync)(aggregatePath);\n if (!hasQueries && !hasMutations && !hasAggregates) {\n if ([\n \"models\",\n \"mutations\",\n \"queries\"\n ].includes(entry.name) && (0, import_fs.readdirSync)(folder).some(isSourceFile)) {\n throw new Error(`[on-zero] ${folder} uses the removed top-level ${entry.name}/ layout; move each namespace to <name>.ts or <name>/queries.ts + mutations.ts`);\n }\n continue;\n }\n namespaces.push({\n name: entry.name,\n instance: instance.name,\n queryPath: hasQueries ? queryPath : null,\n modelPath: hasMutations ? modelPath : null,\n aggregatePath: hasAggregates ? aggregatePath : null,\n table: hasMutations ? mutationTable(project, modelPath, entry.name) : null,\n sourcePaths: [\n hasQueries && queryPath,\n hasMutations && modelPath,\n hasAggregates && aggregatePath\n ].filter(function(path2) {\n return Boolean(path2);\n })\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return namespaces;\n}\nfunction metadataPaths(baseDir) {\n var paths = [];\n var relations = (0, import_path.resolve)(baseDir, \"relations.ts\");\n if ((0, import_fs.existsSync)(relations)) paths.push(relations);\n var databaseDir = (0, import_path.resolve)((0, import_path.dirname)(baseDir), \"database\");\n if (!(0, import_fs.existsSync)(databaseDir)) return paths;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (0, import_fs.readdirSync)(databaseDir, {\n withFileTypes: true\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (!entry.isFile() || !isSourceFile(entry.name)) continue;\n if (entry.name === \"relations.ts\" || entry.name === \"zeroSchemaInput.ts\" || entry.name.startsWith(\"schema\")) {\n paths.push((0, import_path.resolve)(databaseDir, entry.name));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return paths.sort();\n}\nfunction relationTargets(project, paths) {\n var relations = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var path = _step.value;\n var source = project.sourceFile(path);\n var visit = function visit1(node) {\n if (!ts.isCallExpression(node) || node.expression.getText(source) !== \"defineRelations\") {\n node.forEachChild(visit);\n return;\n }\n var factory = node.arguments[1];\n if (!factory || !ts.isArrowFunction(factory) && !ts.isFunctionExpression(factory)) return;\n var body = ts.isParenthesizedExpression(factory.body) ? factory.body.expression : factory.body;\n if (!ts.isObjectLiteralExpression(body)) return;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = body.properties[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var tableProperty = _step2.value;\n var _relations_get;\n if (!ts.isPropertyAssignment(tableProperty) || !ts.isObjectLiteralExpression(tableProperty.initializer)) {\n continue;\n }\n var table = tableProperty.name.getText(source).replace(/^['\"]|['\"]$/g, \"\");\n var tableRelations = (_relations_get = relations.get(table)) !== null && _relations_get !== void 0 ? _relations_get : /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = tableProperty.initializer.properties[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var relationProperty = _step1.value;\n if (!ts.isPropertyAssignment(relationProperty) || !ts.isCallExpression(relationProperty.initializer)) {\n continue;\n }\n var expression = relationProperty.initializer.expression;\n if (!ts.isPropertyAccessExpression(expression)) continue;\n var name = relationProperty.name.getText(source).replace(/^['\"]|['\"]$/g, \"\");\n tableRelations.set(name, expression.name.text);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n relations.set(table, tableRelations);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n visit(source);\n };\n for (var _iterator = paths.filter(function(path) {\n return (0, import_path.basename)(path) === \"relations.ts\";\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return relations;\n}\nfunction tableColumns(project, paths, namespaces) {\n var columns = /* @__PURE__ */ new Map();\n var sources = /* @__PURE__ */ new Set([\n ...paths,\n ...namespaces.flatMap(function(namespace) {\n return namespace.sourcePaths;\n })\n ]);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var path = _step.value;\n var source = project.sourceFile(path);\n var visit = function visit1(node) {\n if (!ts.isVariableDeclaration(node) || !ts.isIdentifier(node.name) || !node.initializer) {\n node.forEachChild(visit);\n return;\n }\n var tableNames = /* @__PURE__ */ new Set([\n node.name.text\n ]);\n var foundColumns = null;\n var inspect = function inspect1(candidate) {\n if (!ts.isCallExpression(candidate)) {\n candidate.forEachChild(inspect);\n return;\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = candidate.arguments[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var argument = _step3.value;\n if (ts.isStringLiteral(argument) && /table/i.test(candidate.expression.getText(source))) {\n tableNames.add(argument.text);\n }\n if (ts.isObjectLiteralExpression(argument)) foundColumns = argument;\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n inspect(candidate.expression);\n };\n inspect(node.initializer);\n if (foundColumns) {\n var names = new Set(foundColumns.properties.map(function(property) {\n var _property_name;\n return ts.isSpreadAssignment(property) ? null : (_property_name = property.name) === null || _property_name === void 0 ? void 0 : _property_name.getText(source).replace(/^['\"]|['\"]$/g, \"\");\n }).filter(function(name) {\n return Boolean(name);\n }));\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = tableNames[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var tableName = _step2.value;\n columns.set(tableName, names);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n node.forEachChild(visit);\n };\n visit(source);\n };\n for (var _iterator = sources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return columns;\n}\nfunction queriedTables(project, namespace, relations) {\n if (!namespace.queryPath) return [];\n var source = project.sourceFile(namespace.queryPath);\n var reached = [];\n var functions = /* @__PURE__ */ new Map();\n var exported = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n if (ts.isVariableStatement(statement)) {\n var _statement_modifiers;\n var isExported = (_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n });\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var declaration = _step1.value;\n if (ts.isIdentifier(declaration.name) && declaration.initializer && (ts.isArrowFunction(declaration.initializer) || ts.isFunctionExpression(declaration.initializer))) {\n functions.set(declaration.name.text, declaration.initializer.body);\n if (isExported) exported.add(declaration.name.text);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n } else if (ts.isFunctionDeclaration(statement) && statement.name && statement.body) {\n var _statement_modifiers1;\n functions.set(statement.name.text, statement.body);\n if ((_statement_modifiers1 = statement.modifiers) === null || _statement_modifiers1 === void 0 ? void 0 : _statement_modifiers1.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })) {\n exported.add(statement.name.text);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var rootTable = function rootTable2(node) {\n var _ref;\n var _text_match;\n var text = node.getText(source);\n return (_ref = (_text_match = text.match(/(?:\\bzql|\\.query)\\.([A-Za-z_$][\\w$]*)/)) === null || _text_match === void 0 ? void 0 : _text_match[1]) !== null && _ref !== void 0 ? _ref : null;\n };\n var visiting = /* @__PURE__ */ new Set();\n var visit = function visit1(node, currentTable, query) {\n if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression) && node.expression.name.text === \"related\") {\n var _rootTable;\n var _relations_get;\n var nameArg = node.arguments[0];\n if (!nameArg || !ts.isStringLiteral(nameArg)) {\n throw new Error(`[on-zero] ${namespace.name}.${query} uses related() without a string literal; sync membership must be statically derivable`);\n }\n var sourceTable = (_rootTable = rootTable(node.expression.expression)) !== null && _rootTable !== void 0 ? _rootTable : currentTable;\n var target = (_relations_get = relations.get(sourceTable)) === null || _relations_get === void 0 ? void 0 : _relations_get.get(nameArg.text);\n if (!target) {\n throw new Error(`[on-zero] ${namespace.name}.${query} related('${nameArg.text}') cannot be resolved from table '${sourceTable}' through relations.ts`);\n }\n reached.push({\n table: target,\n query,\n root: false\n });\n visit(node.expression.expression, currentTable, query);\n var callback = node.arguments[1];\n if (callback && (ts.isArrowFunction(callback) || ts.isFunctionExpression(callback))) {\n visit(callback.body, target, query);\n }\n return;\n }\n if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) {\n var helper = functions.get(node.expression.text);\n var key = `${query}:${node.expression.text}`;\n if (helper && !visiting.has(key)) {\n visiting.add(key);\n var helperRoot = rootTable(helper);\n if (helperRoot) reached.push({\n table: helperRoot,\n query,\n root: true\n });\n visit(helper, helperRoot !== null && helperRoot !== void 0 ? helperRoot : currentTable, query);\n visiting.delete(key);\n }\n }\n node.forEachChild(function(child) {\n return visit(child, currentTable, query);\n });\n };\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = exported[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var name = _step2.value;\n if ([\n \"mutate\",\n \"schema\",\n \"where\"\n ].includes(name)) continue;\n var body = functions.get(name);\n var queryRoot = rootTable(body);\n if (queryRoot) reached.push({\n table: queryRoot,\n query: name,\n root: true\n });\n visit(body, queryRoot !== null && queryRoot !== void 0 ? queryRoot : namespace.name, name);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return reached;\n}\nfunction aggregateTables(project, namespace) {\n if (!namespace.aggregatePath) return [];\n var source = project.sourceFile(namespace.aggregatePath);\n var unwrap = function unwrap2(node) {\n var current = node;\n while (ts.isSatisfiesExpression(current) || ts.isAsExpression(current) || ts.isParenthesizedExpression(current)) {\n current = current.expression;\n }\n return current;\n };\n var tables = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = source.statements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var statement = _step.value;\n var _statement_modifiers;\n if (!ts.isVariableStatement(statement)) continue;\n if (!((_statement_modifiers = statement.modifiers) === null || _statement_modifiers === void 0 ? void 0 : _statement_modifiers.some(function(modifier) {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n }))) {\n continue;\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = statement.declarationList.declarations[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var declaration = _step1.value;\n if (!ts.isIdentifier(declaration.name) || declaration.name.text !== \"aggregates\" || !declaration.initializer) {\n continue;\n }\n var definitions = unwrap(declaration.initializer);\n if (!ts.isObjectLiteralExpression(definitions)) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} must export aggregates as an object literal`);\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = definitions.properties[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _loop = function(_i2, _iter2) {\n var fieldName = _iter2[_i2];\n var field = definition.properties.find(function(candidate) {\n return ts.isPropertyAssignment(candidate) && propertyName(candidate.name) === fieldName;\n });\n if (!field || !ts.isStringLiteral(unwrap(field.initializer))) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate ${property.name.getText(source)} ${fieldName} must be a string literal`);\n }\n tables.add(unwrap(field.initializer).text);\n };\n var property = _step2.value;\n if (!ts.isPropertyAssignment(property)) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate definitions must use explicit properties`);\n }\n var definition = unwrap(property.initializer);\n if (!ts.isObjectLiteralExpression(definition)) {\n throw new Error(`[on-zero] ${namespace.aggregatePath} aggregate ${property.name.getText(source)} must be an object literal`);\n }\n for (var _i = 0, _iter = [\n \"source\",\n \"target\"\n ]; _i < _iter.length; _i++) _loop(_i, _iter);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return [\n ...tables\n ].sort();\n}\nfunction mutationSupportTables(project, baseDir, sourceRoots, namespace) {\n if (!namespace.modelPath) return [];\n var tables = /* @__PURE__ */ new Set();\n var visited = /* @__PURE__ */ new Set();\n var scan = function scan1(path) {\n if (visited.has(path)) return;\n visited.add(path);\n var source = project.sourceFile(path);\n var visit = function visit1(node) {\n if (ts.isPropertyAccessExpression(node) && ts.isPropertyAccessExpression(node.expression) && [\n \"mutate\",\n \"query\"\n ].includes(node.expression.name.text)) {\n var transaction = node.expression.expression;\n if (ts.isIdentifier(transaction) && transaction.text === \"tx\" || ts.isPropertyAccessExpression(transaction) && transaction.name.text === \"tx\") {\n tables.add(node.name.text);\n }\n }\n if ((ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier)) {\n var specifier = node.moduleSpecifier.text;\n var unresolved = specifier.startsWith(\"~/data/\") ? (0, import_path.resolve)(baseDir, specifier.slice(\"~/data/\".length)) : specifier.startsWith(\".\") ? (0, import_path.resolve)((0, import_path.dirname)(path), specifier) : null;\n if (unresolved) {\n var _loop = function(_i2, _iter2) {\n var candidate = _iter2[_i2];\n if ((0, import_fs.existsSync)(candidate) && sourceRoots.some(function(root) {\n return isWithin(root, candidate);\n })) {\n scan(candidate);\n return \"break\";\n }\n };\n for (var _i = 0, _iter = [\n unresolved.endsWith(\".ts\") ? unresolved : `${unresolved}.ts`,\n (0, import_path.resolve)(unresolved, \"index.ts\")\n ]; _i < _iter.length; _i++) {\n var _ret = _loop(_i, _iter);\n if (_ret === \"break\") break;\n }\n }\n }\n node.forEachChild(visit);\n };\n visit(source);\n };\n scan(namespace.modelPath);\n return [\n ...tables\n ].sort();\n}\nfunction assertNoInstanceFiles(roots) {\n var visited = /* @__PURE__ */ new Set();\n var walk = function walk1(dir) {\n if (visited.has(dir) || !(0, import_fs.existsSync)(dir)) return;\n visited.add(dir);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = (0, import_fs.readdirSync)(dir, {\n withFileTypes: true\n })[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var entry = _step2.value;\n if (entry.name === \"node_modules\" || entry.name === \"generated\") continue;\n var path = (0, import_path.resolve)(dir, entry.name);\n if (entry.isDirectory()) {\n walk(path);\n } else if (entry.isFile() && entry.name === \"instance.ts\") {\n throw new Error(`[on-zero] ${path} uses removed instance.ts configuration; delete it and configure instances in on-zero.config.ts`);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = roots[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var root = _step.value;\n walk(root);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction assertNoUnclaimedNamespaces(project, baseDir, configPath, instanceDirs) {\n var walk = function walk1(dir) {\n if (instanceDirs.some(function(instanceDir) {\n return isWithin(instanceDir, dir);\n })) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (0, import_fs.readdirSync)(dir, {\n withFileTypes: true\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (entry.name === \"node_modules\" || entry.name === \"generated\") continue;\n var path = (0, import_path.resolve)(dir, entry.name);\n if (entry.isDirectory()) {\n walk(path);\n continue;\n }\n if (!entry.isFile() || !isSourceFile(entry.name) || path === configPath || entry.name === \"instance.ts\") {\n continue;\n }\n var kinds = namespaceExportKinds(project, baseDir, path);\n if (kinds.model || kinds.query) {\n throw new Error(`[on-zero] data namespace ${path} is outside every instance directory declared in ${configPath}`);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n };\n walk(baseDir);\n}\nfunction discoverDataLayout(project, baseDir, configPath) {\n var _ref;\n var config = readDataConfig(project, baseDir, configPath);\n var configured = (_ref = config === null || config === void 0 ? void 0 : config.instances) !== null && _ref !== void 0 ? _ref : [\n {\n name: \"default\",\n dir: baseDir,\n scope: null,\n supportTables: []\n }\n ];\n var sourceRoots = [\n .../* @__PURE__ */ new Set([\n baseDir,\n ...configured.map(function(instance2) {\n return instance2.dir;\n })\n ])\n ];\n assertNoInstanceFiles(sourceRoots);\n if (config) {\n assertNoUnclaimedNamespaces(project, baseDir, config.path, configured.map(function(instance2) {\n return instance2.dir;\n }));\n }\n var instances = configured.map(function(instance2) {\n return {\n name: instance2.name,\n dir: instance2.dir,\n scope: instance2.scope,\n namespaces: [],\n tables: [],\n syncTables: [],\n supportTables: [],\n declaredSupportTables: instance2.supportTables\n };\n });\n var instanceDirs = new Set(instances.map(function(instance2) {\n return instance2.dir;\n }));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = instances[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var instance = _step.value;\n instance.namespaces = discoverNamespaces(project, baseDir, instance, instanceDirs);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var namespaces = instances.flatMap(function(instance2) {\n return instance2.namespaces;\n });\n var namespaceOwners = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = namespaces[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var namespace = _step1.value;\n var owner = namespaceOwners.get(namespace.name);\n if (owner) {\n throw new Error(`[on-zero] namespace '${namespace.name}' is claimed by instances '${owner}' and '${namespace.instance}'`);\n }\n namespaceOwners.set(namespace.name, namespace.instance);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var tableOwners = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = namespaces[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var namespace1 = _step2.value;\n if (namespace1.table === null) continue;\n var owner1 = tableOwners.get(namespace1.table);\n if (owner1 && owner1 !== namespace1.instance) {\n throw new Error(`[on-zero] table '${namespace1.table}' is claimed by instances '${owner1}' and '${namespace1.instance}'`);\n }\n tableOwners.set(namespace1.table, namespace1.instance);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var metadata = metadataPaths(baseDir);\n var relations = relationTargets(project, metadata);\n var columns = tableColumns(project, metadata, namespaces);\n var relatedOwners = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = instances[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var instance1 = _step3.value;\n var tables = new Set(instance1.namespaces.map(function(namespace3) {\n return namespace3.table;\n }).filter(function(table2) {\n return table2 !== null;\n }));\n var syncTables = new Set(tables);\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = instance1.namespaces[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var namespace2 = _step4.value;\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = aggregateTables(project, namespace2)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var table = _step5.value;\n var _tableOwners_get;\n var owner2 = (_tableOwners_get = tableOwners.get(table)) !== null && _tableOwners_get !== void 0 ? _tableOwners_get : relatedOwners.get(table);\n if (owner2 && owner2 !== instance1.name) {\n throw new Error(`[on-zero] ${namespace2.name} aggregates in instance '${instance1.name}' reach table '${table}' owned by instance '${owner2}'`);\n }\n relatedOwners.set(table, instance1.name);\n tables.add(table);\n syncTables.add(table);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n var _iteratorNormalCompletion6 = true, _didIteratorError6 = false, _iteratorError6 = void 0;\n try {\n for (var _iterator6 = queriedTables(project, namespace2, relations)[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var reached = _step6.value;\n var _tableOwners_get1;\n var owner3 = (_tableOwners_get1 = tableOwners.get(reached.table)) !== null && _tableOwners_get1 !== void 0 ? _tableOwners_get1 : relatedOwners.get(reached.table);\n if (owner3 && owner3 !== instance1.name) {\n throw new Error(`[on-zero] ${namespace2.name}.${reached.query} in instance '${instance1.name}' reaches table '${reached.table}' owned by instance '${owner3}'`);\n }\n relatedOwners.set(reached.table, instance1.name);\n if (reached.root) tables.add(reached.table);\n syncTables.add(reached.table);\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6.return != null) {\n _iterator6.return();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n instance1.tables = [\n ...tables\n ].sort();\n instance1.syncTables = [\n ...syncTables\n ].sort();\n if (instance1.scope) {\n var _iteratorNormalCompletion7 = true, _didIteratorError7 = false, _iteratorError7 = void 0;\n try {\n for (var _iterator7 = instance1.syncTables[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var table1 = _step7.value;\n var _columns_get;\n if (!((_columns_get = columns.get(table1)) === null || _columns_get === void 0 ? void 0 : _columns_get.has(instance1.scope))) {\n throw new Error(`[on-zero] table '${table1}' in instance '${instance1.name}' is missing scope column '${instance1.scope}'`);\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7.return != null) {\n _iterator7.return();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n var _iteratorNormalCompletion8 = true, _didIteratorError8 = false, _iteratorError8 = void 0;\n try {\n var _loop = function() {\n var instance2 = _step8.value;\n var supportTables = new Set(instance2.declaredSupportTables);\n var _iteratorNormalCompletion9 = true, _didIteratorError9 = false, _iteratorError9 = void 0;\n try {\n for (var _iterator9 = instance2.namespaces[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {\n var namespace3 = _step9.value;\n var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n for (var _iterator12 = mutationSupportTables(project, baseDir, sourceRoots, namespace3)[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {\n var table2 = _step12.value;\n if (tableOwners.has(table2) || relatedOwners.has(table2)) continue;\n if (!instance2.syncTables.includes(table2)) {\n supportTables.add(table2);\n }\n }\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError9 = true;\n _iteratorError9 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion9 && _iterator9.return != null) {\n _iterator9.return();\n }\n } finally {\n if (_didIteratorError9) {\n throw _iteratorError9;\n }\n }\n }\n instance2.supportTables = [\n ...supportTables\n ].filter(function(table3) {\n return !instance2.syncTables.includes(table3);\n }).sort();\n };\n for (var _iterator8 = instances[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) _loop();\n } catch (err) {\n _didIteratorError8 = true;\n _iteratorError8 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion8 && _iterator8.return != null) {\n _iterator8.return();\n }\n } finally {\n if (_didIteratorError8) {\n throw _iteratorError8;\n }\n }\n }\n return {\n instances,\n namespaces,\n metadataPaths: config ? [\n ...metadata,\n config.path\n ].sort() : metadata,\n sourceRoots\n };\n}\nfunction namespaceImportPath(baseDir, path) {\n return `../${toImportPath(baseDir, path)}`;\n}\n//# sourceMappingURL=generate-layout.js.map\n"],"mappings":"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","ignoreList":[]}