on-zero 0.7.10 → 0.8.0

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 (546) hide show
  1. package/{readme.md → README.md} +172 -231
  2. package/dist/cjs/cli.cjs +5 -2
  3. package/dist/cjs/cli.native.js +5 -2
  4. package/dist/cjs/cli.native.js.map +1 -1
  5. package/dist/cjs/combineZeroClients.cjs +2 -2
  6. package/dist/cjs/combineZeroClients.native.js +6 -6
  7. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  8. package/dist/cjs/config.cjs +30 -0
  9. package/dist/cjs/config.native.js +33 -0
  10. package/dist/cjs/config.native.js.map +1 -0
  11. package/dist/cjs/createPermissions.cjs +2 -2
  12. package/dist/cjs/createPermissions.native.js +17 -27
  13. package/dist/cjs/createPermissions.native.js.map +1 -1
  14. package/dist/cjs/createUseQuery.cjs +3 -3
  15. package/dist/cjs/createUseQuery.native.js +4 -4
  16. package/dist/cjs/createUseQuery.native.js.map +1 -1
  17. package/dist/cjs/createUseQueryDirect.cjs +4 -3
  18. package/dist/cjs/createUseQueryDirect.native.js +14 -18
  19. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  20. package/dist/cjs/createZeroClient.cjs +29 -9
  21. package/dist/cjs/createZeroClient.connection.test.cjs +11 -0
  22. package/dist/cjs/createZeroClient.connection.test.native.js +14 -7
  23. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  24. package/dist/cjs/createZeroClient.native.js +58 -32
  25. package/dist/cjs/createZeroClient.native.js.map +1 -1
  26. package/dist/cjs/createZeroClient.recovery.test.cjs +90 -3
  27. package/dist/cjs/createZeroClient.recovery.test.native.js +109 -19
  28. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  29. package/dist/cjs/generate-helpers.cjs +70 -17
  30. package/dist/cjs/generate-helpers.native.js +110 -23
  31. package/dist/cjs/generate-helpers.native.js.map +1 -1
  32. package/dist/cjs/generate-layout.cjs +586 -0
  33. package/dist/cjs/generate-layout.native.js +1275 -0
  34. package/dist/cjs/generate-layout.native.js.map +1 -0
  35. package/dist/cjs/generate-lite.cjs +295 -27
  36. package/dist/cjs/generate-lite.native.js +854 -102
  37. package/dist/cjs/generate-lite.native.js.map +1 -1
  38. package/dist/cjs/generate-lite.test.cjs +433 -41
  39. package/dist/cjs/generate-lite.test.native.js +446 -41
  40. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  41. package/dist/cjs/generate.cjs +172 -94
  42. package/dist/cjs/generate.native.js +324 -148
  43. package/dist/cjs/generate.native.js.map +1 -1
  44. package/dist/cjs/generate.test.cjs +362 -45
  45. package/dist/cjs/generate.test.native.js +374 -45
  46. package/dist/cjs/generate.test.native.js.map +1 -1
  47. package/dist/cjs/helpers/NullToOptional.cjs +18 -0
  48. package/dist/cjs/helpers/NullToOptional.native.js +21 -0
  49. package/dist/cjs/helpers/NullToOptional.native.js.map +1 -0
  50. package/dist/cjs/helpers/asyncContext.cjs +128 -0
  51. package/dist/cjs/helpers/asyncContext.native.js +87 -0
  52. package/dist/cjs/helpers/asyncContext.native.js.map +1 -0
  53. package/dist/cjs/helpers/batchQuery.cjs +2 -2
  54. package/dist/cjs/helpers/batchQuery.native.js +2 -2
  55. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  56. package/dist/cjs/helpers/createMutators.cjs +7 -4
  57. package/dist/cjs/helpers/createMutators.native.js +12 -9
  58. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  59. package/dist/cjs/helpers/createMutators.test.native.js +2 -2
  60. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
  61. package/dist/cjs/helpers/ellipsis.cjs +35 -0
  62. package/dist/cjs/helpers/ellipsis.native.js +38 -0
  63. package/dist/cjs/helpers/ellipsis.native.js.map +1 -0
  64. package/dist/cjs/helpers/emitter.cjs +99 -0
  65. package/dist/cjs/helpers/emitter.native.js +125 -0
  66. package/dist/cjs/helpers/emitter.native.js.map +1 -0
  67. package/dist/cjs/helpers/ensure.cjs +33 -0
  68. package/dist/cjs/helpers/ensure.native.js +37 -0
  69. package/dist/cjs/helpers/ensure.native.js.map +1 -0
  70. package/dist/cjs/helpers/ensureLoggedIn.cjs +2 -2
  71. package/dist/cjs/helpers/ensureLoggedIn.native.js +3 -3
  72. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  73. package/dist/cjs/helpers/errors.cjs +40 -0
  74. package/dist/cjs/helpers/errors.native.js +152 -0
  75. package/dist/cjs/helpers/errors.native.js.map +1 -0
  76. package/dist/cjs/helpers/getCurrentComponentStack.cjs +71 -0
  77. package/dist/cjs/helpers/getCurrentComponentStack.native.js +93 -0
  78. package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -0
  79. package/dist/cjs/helpers/globalValue.cjs +39 -0
  80. package/dist/cjs/helpers/globalValue.native.js +42 -0
  81. package/dist/cjs/helpers/globalValue.native.js.map +1 -0
  82. package/dist/cjs/helpers/mapObject.cjs +36 -0
  83. package/dist/cjs/helpers/mapObject.native.js +39 -0
  84. package/dist/cjs/helpers/mapObject.native.js.map +1 -0
  85. package/dist/cjs/helpers/mutationLifecycle.cjs +251 -0
  86. package/dist/cjs/helpers/mutationLifecycle.native.js +392 -0
  87. package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -0
  88. package/dist/cjs/helpers/mutationLifecycle.test.cjs +174 -0
  89. package/dist/cjs/helpers/mutationLifecycle.test.native.js +182 -0
  90. package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -0
  91. package/dist/cjs/helpers/mutatorContext.cjs +3 -3
  92. package/dist/cjs/helpers/mutatorContext.native.js +5 -5
  93. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  94. package/dist/cjs/helpers/platform.cjs +31 -0
  95. package/dist/cjs/helpers/platform.native.js +33 -0
  96. package/dist/cjs/helpers/platform.native.js.map +1 -0
  97. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +2 -2
  98. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +7 -7
  99. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  100. package/dist/cjs/helpers/queryContext.cjs +2 -2
  101. package/dist/cjs/helpers/queryContext.native.js +4 -4
  102. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  103. package/dist/cjs/helpers/recoverZeroClient.cjs +14 -15
  104. package/dist/cjs/helpers/recoverZeroClient.native.js +26 -23
  105. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  106. package/dist/cjs/helpers/recoverZeroClient.test.cjs +10 -8
  107. package/dist/cjs/helpers/recoverZeroClient.test.native.js +17 -21
  108. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  109. package/dist/cjs/helpers/sleep.cjs +34 -0
  110. package/dist/cjs/helpers/sleep.native.js +39 -0
  111. package/dist/cjs/helpers/sleep.native.js.map +1 -0
  112. package/dist/cjs/helpers/time.cjs +47 -0
  113. package/dist/cjs/helpers/time.native.js +80 -0
  114. package/dist/cjs/helpers/time.native.js.map +1 -0
  115. package/dist/cjs/helpers/tuple.cjs +18 -0
  116. package/dist/cjs/helpers/tuple.native.js +21 -0
  117. package/dist/cjs/helpers/tuple.native.js.map +1 -0
  118. package/dist/cjs/helpers/useMutation.native.js +5 -5
  119. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  120. package/dist/cjs/helpers/useMutation.test.native.js +1 -1
  121. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  122. package/dist/cjs/helpers/useZeroDebug.cjs +2 -2
  123. package/dist/cjs/helpers/useZeroDebug.native.js +7 -8
  124. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  125. package/dist/cjs/index.cjs +9 -1
  126. package/dist/cjs/index.native.js +8 -0
  127. package/dist/cjs/index.native.js.map +1 -1
  128. package/dist/cjs/instanceRegistry.cjs +16 -4
  129. package/dist/cjs/instanceRegistry.native.js +56 -6
  130. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  131. package/dist/cjs/multi.cjs +34 -13
  132. package/dist/cjs/multi.native.js +39 -17
  133. package/dist/cjs/multi.native.js.map +1 -1
  134. package/dist/cjs/multiInstance.test.cjs +6 -2
  135. package/dist/cjs/multiInstance.test.native.js +13 -9
  136. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  137. package/dist/cjs/multiInstanceNested.test.native.js +10 -10
  138. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  139. package/dist/cjs/multiPartition.test.cjs +85 -36
  140. package/dist/cjs/multiPartition.test.native.js +102 -39
  141. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  142. package/dist/cjs/mutations.cjs +2 -2
  143. package/dist/cjs/mutations.native.js +4 -4
  144. package/dist/cjs/mutations.native.js.map +1 -1
  145. package/dist/cjs/mutations.test.native.js +3 -3
  146. package/dist/cjs/mutations.test.native.js.map +1 -1
  147. package/dist/cjs/provideZero.hydration.test.cjs +3 -3
  148. package/dist/cjs/provideZero.hydration.test.native.js +4 -4
  149. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  150. package/dist/cjs/run.cjs +1 -1
  151. package/dist/cjs/run.native.js +3 -3
  152. package/dist/cjs/run.native.js.map +1 -1
  153. package/dist/cjs/server.cjs +20 -16
  154. package/dist/cjs/server.native.js +50 -57
  155. package/dist/cjs/server.native.js.map +1 -1
  156. package/dist/cjs/server.test.cjs +129 -6
  157. package/dist/cjs/server.test.native.js +141 -10
  158. package/dist/cjs/server.test.native.js.map +1 -1
  159. package/dist/cjs/serverWhere.test.native.js +3 -3
  160. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  161. package/dist/cjs/state.cjs +2 -2
  162. package/dist/cjs/state.native.js +10 -10
  163. package/dist/cjs/state.native.js.map +1 -1
  164. package/dist/cjs/usePermission.test.native.js +3 -3
  165. package/dist/cjs/usePermission.test.native.js.map +1 -1
  166. package/dist/cjs/useQuery.empty.test.cjs +3 -3
  167. package/dist/cjs/useQuery.empty.test.native.js +6 -6
  168. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  169. package/dist/cjs/useQuery.ssr.test.native.js +2 -2
  170. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  171. package/dist/cjs/vite-plugin.cjs +7 -8
  172. package/dist/cjs/vite-plugin.native.js +11 -11
  173. package/dist/cjs/vite-plugin.native.js.map +1 -1
  174. package/dist/cjs/where.cjs +3 -3
  175. package/dist/cjs/where.native.js +4 -4
  176. package/dist/cjs/where.native.js.map +1 -1
  177. package/dist/esm/cli.mjs +6 -3
  178. package/dist/esm/cli.mjs.map +1 -1
  179. package/dist/esm/cli.native.js +6 -3
  180. package/dist/esm/cli.native.js.map +1 -1
  181. package/dist/esm/combineZeroClients.mjs +1 -1
  182. package/dist/esm/combineZeroClients.mjs.map +1 -1
  183. package/dist/esm/combineZeroClients.native.js +5 -5
  184. package/dist/esm/combineZeroClients.native.js.map +1 -1
  185. package/dist/esm/config.mjs +5 -0
  186. package/dist/esm/config.mjs.map +1 -0
  187. package/dist/esm/config.native.js +5 -0
  188. package/dist/esm/config.native.js.map +1 -0
  189. package/dist/esm/createPermissions.mjs +1 -1
  190. package/dist/esm/createPermissions.mjs.map +1 -1
  191. package/dist/esm/createPermissions.native.js +16 -26
  192. package/dist/esm/createPermissions.native.js.map +1 -1
  193. package/dist/esm/createUseQuery.mjs +2 -2
  194. package/dist/esm/createUseQuery.mjs.map +1 -1
  195. package/dist/esm/createUseQuery.native.js +3 -3
  196. package/dist/esm/createUseQuery.native.js.map +1 -1
  197. package/dist/esm/createUseQueryDirect.mjs +2 -1
  198. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  199. package/dist/esm/createUseQueryDirect.native.js +12 -16
  200. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  201. package/dist/esm/createZeroClient.connection.test.mjs +11 -0
  202. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  203. package/dist/esm/createZeroClient.connection.test.native.js +14 -7
  204. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  205. package/dist/esm/createZeroClient.mjs +25 -5
  206. package/dist/esm/createZeroClient.mjs.map +1 -1
  207. package/dist/esm/createZeroClient.native.js +54 -28
  208. package/dist/esm/createZeroClient.native.js.map +1 -1
  209. package/dist/esm/createZeroClient.recovery.test.mjs +90 -3
  210. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  211. package/dist/esm/createZeroClient.recovery.test.native.js +109 -19
  212. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  213. package/dist/esm/generate-helpers.mjs +70 -18
  214. package/dist/esm/generate-helpers.mjs.map +1 -1
  215. package/dist/esm/generate-helpers.native.js +110 -24
  216. package/dist/esm/generate-helpers.native.js.map +1 -1
  217. package/dist/esm/generate-layout.mjs +560 -0
  218. package/dist/esm/generate-layout.mjs.map +1 -0
  219. package/dist/esm/generate-layout.native.js +1246 -0
  220. package/dist/esm/generate-layout.native.js.map +1 -0
  221. package/dist/esm/generate-lite.mjs +296 -28
  222. package/dist/esm/generate-lite.mjs.map +1 -1
  223. package/dist/esm/generate-lite.native.js +855 -103
  224. package/dist/esm/generate-lite.native.js.map +1 -1
  225. package/dist/esm/generate-lite.test.mjs +434 -42
  226. package/dist/esm/generate-lite.test.mjs.map +1 -1
  227. package/dist/esm/generate-lite.test.native.js +447 -42
  228. package/dist/esm/generate-lite.test.native.js.map +1 -1
  229. package/dist/esm/generate.mjs +172 -96
  230. package/dist/esm/generate.mjs.map +1 -1
  231. package/dist/esm/generate.native.js +324 -150
  232. package/dist/esm/generate.native.js.map +1 -1
  233. package/dist/esm/generate.test.mjs +366 -49
  234. package/dist/esm/generate.test.mjs.map +1 -1
  235. package/dist/esm/generate.test.native.js +378 -49
  236. package/dist/esm/generate.test.native.js.map +1 -1
  237. package/dist/esm/helpers/NullToOptional.mjs +2 -0
  238. package/dist/esm/helpers/NullToOptional.mjs.map +1 -0
  239. package/dist/esm/helpers/NullToOptional.native.js +2 -0
  240. package/dist/esm/helpers/NullToOptional.native.js.map +1 -0
  241. package/dist/esm/helpers/asyncContext.mjs +102 -0
  242. package/dist/esm/helpers/asyncContext.mjs.map +1 -0
  243. package/dist/esm/helpers/asyncContext.native.js +58 -0
  244. package/dist/esm/helpers/asyncContext.native.js.map +1 -0
  245. package/dist/esm/helpers/batchQuery.mjs +1 -1
  246. package/dist/esm/helpers/batchQuery.native.js +1 -1
  247. package/dist/esm/helpers/createMutators.mjs +5 -2
  248. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  249. package/dist/esm/helpers/createMutators.native.js +10 -7
  250. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  251. package/dist/esm/helpers/createMutators.test.native.js +2 -2
  252. package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
  253. package/dist/esm/helpers/ellipsis.mjs +10 -0
  254. package/dist/esm/helpers/ellipsis.mjs.map +1 -0
  255. package/dist/esm/helpers/ellipsis.native.js +10 -0
  256. package/dist/esm/helpers/ellipsis.native.js.map +1 -0
  257. package/dist/esm/helpers/emitter.mjs +72 -0
  258. package/dist/esm/helpers/emitter.mjs.map +1 -0
  259. package/dist/esm/helpers/emitter.native.js +95 -0
  260. package/dist/esm/helpers/emitter.native.js.map +1 -0
  261. package/dist/esm/helpers/ensure.mjs +8 -0
  262. package/dist/esm/helpers/ensure.mjs.map +1 -0
  263. package/dist/esm/helpers/ensure.native.js +9 -0
  264. package/dist/esm/helpers/ensure.native.js.map +1 -0
  265. package/dist/esm/helpers/ensureLoggedIn.mjs +1 -1
  266. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  267. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
  268. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  269. package/dist/esm/helpers/errors.mjs +14 -0
  270. package/dist/esm/helpers/errors.mjs.map +1 -0
  271. package/dist/esm/helpers/errors.native.js +123 -0
  272. package/dist/esm/helpers/errors.native.js.map +1 -0
  273. package/dist/esm/helpers/getCurrentComponentStack.mjs +35 -0
  274. package/dist/esm/helpers/getCurrentComponentStack.mjs.map +1 -0
  275. package/dist/esm/helpers/getCurrentComponentStack.native.js +54 -0
  276. package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -0
  277. package/dist/esm/helpers/globalValue.mjs +14 -0
  278. package/dist/esm/helpers/globalValue.mjs.map +1 -0
  279. package/dist/esm/helpers/globalValue.native.js +14 -0
  280. package/dist/esm/helpers/globalValue.native.js.map +1 -0
  281. package/dist/esm/helpers/mapObject.mjs +11 -0
  282. package/dist/esm/helpers/mapObject.mjs.map +1 -0
  283. package/dist/esm/helpers/mapObject.native.js +11 -0
  284. package/dist/esm/helpers/mapObject.native.js.map +1 -0
  285. package/dist/esm/helpers/mutationLifecycle.mjs +221 -0
  286. package/dist/esm/helpers/mutationLifecycle.mjs.map +1 -0
  287. package/dist/esm/helpers/mutationLifecycle.native.js +359 -0
  288. package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -0
  289. package/dist/esm/helpers/mutationLifecycle.test.mjs +175 -0
  290. package/dist/esm/helpers/mutationLifecycle.test.mjs.map +1 -0
  291. package/dist/esm/helpers/mutationLifecycle.test.native.js +180 -0
  292. package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -0
  293. package/dist/esm/helpers/mutatorContext.mjs +1 -1
  294. package/dist/esm/helpers/mutatorContext.native.js +4 -4
  295. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  296. package/dist/esm/helpers/platform.mjs +5 -0
  297. package/dist/esm/helpers/platform.mjs.map +1 -0
  298. package/dist/esm/helpers/platform.native.js +4 -0
  299. package/dist/esm/helpers/platform.native.js.map +1 -0
  300. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +1 -1
  301. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +6 -6
  302. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  303. package/dist/esm/helpers/queryContext.mjs +1 -1
  304. package/dist/esm/helpers/queryContext.native.js +3 -3
  305. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  306. package/dist/esm/helpers/recoverZeroClient.mjs +14 -15
  307. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  308. package/dist/esm/helpers/recoverZeroClient.native.js +26 -23
  309. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  310. package/dist/esm/helpers/recoverZeroClient.test.mjs +8 -6
  311. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  312. package/dist/esm/helpers/recoverZeroClient.test.native.js +15 -19
  313. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  314. package/dist/esm/helpers/sleep.mjs +9 -0
  315. package/dist/esm/helpers/sleep.mjs.map +1 -0
  316. package/dist/esm/helpers/sleep.native.js +11 -0
  317. package/dist/esm/helpers/sleep.native.js.map +1 -0
  318. package/dist/esm/helpers/time.mjs +22 -0
  319. package/dist/esm/helpers/time.mjs.map +1 -0
  320. package/dist/esm/helpers/time.native.js +52 -0
  321. package/dist/esm/helpers/time.native.js.map +1 -0
  322. package/dist/esm/helpers/tuple.mjs +2 -0
  323. package/dist/esm/helpers/tuple.mjs.map +1 -0
  324. package/dist/esm/helpers/tuple.native.js +2 -0
  325. package/dist/esm/helpers/tuple.native.js.map +1 -0
  326. package/dist/esm/helpers/useMutation.native.js +5 -5
  327. package/dist/esm/helpers/useMutation.native.js.map +1 -1
  328. package/dist/esm/helpers/useMutation.test.native.js +1 -1
  329. package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
  330. package/dist/esm/helpers/useZeroDebug.mjs +1 -1
  331. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
  332. package/dist/esm/helpers/useZeroDebug.native.js +6 -7
  333. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  334. package/dist/esm/index.js +3 -1
  335. package/dist/esm/index.js.map +1 -1
  336. package/dist/esm/index.mjs +3 -1
  337. package/dist/esm/index.mjs.map +1 -1
  338. package/dist/esm/index.native.js +3 -1
  339. package/dist/esm/index.native.js.map +1 -1
  340. package/dist/esm/instanceRegistry.mjs +13 -2
  341. package/dist/esm/instanceRegistry.mjs.map +1 -1
  342. package/dist/esm/instanceRegistry.native.js +53 -4
  343. package/dist/esm/instanceRegistry.native.js.map +1 -1
  344. package/dist/esm/multi.mjs +33 -12
  345. package/dist/esm/multi.mjs.map +1 -1
  346. package/dist/esm/multi.native.js +38 -16
  347. package/dist/esm/multi.native.js.map +1 -1
  348. package/dist/esm/multiInstance.test.mjs +5 -1
  349. package/dist/esm/multiInstance.test.mjs.map +1 -1
  350. package/dist/esm/multiInstance.test.native.js +12 -8
  351. package/dist/esm/multiInstance.test.native.js.map +1 -1
  352. package/dist/esm/multiInstanceNested.test.native.js +10 -10
  353. package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
  354. package/dist/esm/multiPartition.test.mjs +86 -37
  355. package/dist/esm/multiPartition.test.mjs.map +1 -1
  356. package/dist/esm/multiPartition.test.native.js +103 -40
  357. package/dist/esm/multiPartition.test.native.js.map +1 -1
  358. package/dist/esm/mutations.mjs +1 -1
  359. package/dist/esm/mutations.mjs.map +1 -1
  360. package/dist/esm/mutations.native.js +3 -3
  361. package/dist/esm/mutations.native.js.map +1 -1
  362. package/dist/esm/mutations.test.native.js +3 -3
  363. package/dist/esm/mutations.test.native.js.map +1 -1
  364. package/dist/esm/provideZero.hydration.test.mjs +1 -1
  365. package/dist/esm/provideZero.hydration.test.mjs.map +1 -1
  366. package/dist/esm/provideZero.hydration.test.native.js +2 -2
  367. package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
  368. package/dist/esm/run.mjs +1 -1
  369. package/dist/esm/run.mjs.map +1 -1
  370. package/dist/esm/run.native.js +3 -3
  371. package/dist/esm/run.native.js.map +1 -1
  372. package/dist/esm/server.mjs +20 -15
  373. package/dist/esm/server.mjs.map +1 -1
  374. package/dist/esm/server.native.js +50 -56
  375. package/dist/esm/server.native.js.map +1 -1
  376. package/dist/esm/server.test.mjs +130 -7
  377. package/dist/esm/server.test.mjs.map +1 -1
  378. package/dist/esm/server.test.native.js +142 -11
  379. package/dist/esm/server.test.native.js.map +1 -1
  380. package/dist/esm/serverWhere.test.mjs.map +1 -1
  381. package/dist/esm/serverWhere.test.native.js +3 -3
  382. package/dist/esm/serverWhere.test.native.js.map +1 -1
  383. package/dist/esm/state.mjs +1 -1
  384. package/dist/esm/state.mjs.map +1 -1
  385. package/dist/esm/state.native.js +9 -9
  386. package/dist/esm/state.native.js.map +1 -1
  387. package/dist/esm/usePermission.test.native.js +3 -3
  388. package/dist/esm/usePermission.test.native.js.map +1 -1
  389. package/dist/esm/useQuery.empty.test.mjs +1 -1
  390. package/dist/esm/useQuery.empty.test.mjs.map +1 -1
  391. package/dist/esm/useQuery.empty.test.native.js +4 -4
  392. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  393. package/dist/esm/useQuery.ssr.test.native.js +2 -2
  394. package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
  395. package/dist/esm/vite-plugin.mjs +7 -8
  396. package/dist/esm/vite-plugin.mjs.map +1 -1
  397. package/dist/esm/vite-plugin.native.js +11 -11
  398. package/dist/esm/vite-plugin.native.js.map +1 -1
  399. package/dist/esm/where.mjs +1 -1
  400. package/dist/esm/where.mjs.map +1 -1
  401. package/dist/esm/where.native.js +2 -2
  402. package/dist/esm/where.native.js.map +1 -1
  403. package/package.json +18 -6
  404. package/src/cli.ts +11 -3
  405. package/src/combineZeroClients.tsx +18 -10
  406. package/src/config.ts +72 -0
  407. package/src/createPermissions.ts +3 -4
  408. package/src/createUseQuery.tsx +8 -8
  409. package/src/createUseQueryDirect.tsx +11 -10
  410. package/src/createZeroClient.authData.test.tsx +1 -1
  411. package/src/createZeroClient.connection.test.tsx +13 -2
  412. package/src/createZeroClient.recovery.test.tsx +100 -4
  413. package/src/createZeroClient.tsx +87 -30
  414. package/src/generate-helpers.ts +108 -31
  415. package/src/generate-layout.ts +841 -0
  416. package/src/generate-lite.test.ts +421 -42
  417. package/src/generate-lite.ts +479 -43
  418. package/src/generate.test.ts +552 -90
  419. package/src/generate.ts +360 -163
  420. package/src/helpers/NullToOptional.ts +5 -0
  421. package/src/helpers/asyncContext.native.ts +90 -0
  422. package/src/helpers/asyncContext.ts +159 -0
  423. package/src/helpers/batchQuery.ts +2 -2
  424. package/src/helpers/createMutators.ts +11 -8
  425. package/src/helpers/ellipsis.ts +9 -0
  426. package/src/helpers/emitter.tsx +106 -0
  427. package/src/helpers/ensure.ts +10 -0
  428. package/src/helpers/ensureLoggedIn.ts +1 -2
  429. package/src/helpers/errors.ts +13 -0
  430. package/src/helpers/getCurrentComponentStack.ts +56 -0
  431. package/src/helpers/globalValue.ts +40 -0
  432. package/src/helpers/mapObject.ts +14 -0
  433. package/src/helpers/mutationLifecycle.test.ts +180 -0
  434. package/src/helpers/mutationLifecycle.ts +313 -0
  435. package/src/helpers/mutatorContext.ts +3 -3
  436. package/src/helpers/platform.native.ts +2 -0
  437. package/src/helpers/platform.ts +16 -0
  438. package/src/helpers/prettyFormatZeroQuery.ts +2 -2
  439. package/src/helpers/queryContext.ts +2 -2
  440. package/src/helpers/recoverZeroClient.test.ts +23 -21
  441. package/src/helpers/recoverZeroClient.ts +56 -49
  442. package/src/helpers/sleep.ts +8 -0
  443. package/src/helpers/time.ts +51 -0
  444. package/src/helpers/tuple.ts +1 -0
  445. package/src/helpers/useMutation.tsx +3 -3
  446. package/src/helpers/useZeroDebug.ts +3 -3
  447. package/src/index.ts +13 -1
  448. package/src/instanceRegistry.ts +19 -6
  449. package/src/multi.ts +75 -31
  450. package/src/multiInstance.test.tsx +31 -13
  451. package/src/multiInstanceNested.test.tsx +2 -2
  452. package/src/multiPartition.test.ts +62 -27
  453. package/src/mutations.ts +10 -10
  454. package/src/provideZero.hydration.test.tsx +1 -1
  455. package/src/resolveQuery.ts +2 -2
  456. package/src/run.ts +7 -7
  457. package/src/server.test.ts +117 -18
  458. package/src/server.ts +70 -43
  459. package/src/serverWhere.ts +2 -2
  460. package/src/state.ts +2 -2
  461. package/src/types.ts +47 -6
  462. package/src/useQuery.empty.test.tsx +3 -3
  463. package/src/useQuery.ssr.test.ts +1 -1
  464. package/src/vite-plugin.ts +12 -9
  465. package/src/where.ts +6 -7
  466. package/src/zeroRunner.ts +2 -2
  467. package/types/combineZeroClients.d.ts +11 -5
  468. package/types/combineZeroClients.d.ts.map +1 -1
  469. package/types/config.d.ts +62 -0
  470. package/types/config.d.ts.map +1 -0
  471. package/types/createPermissions.d.ts.map +1 -1
  472. package/types/createUseQuery.d.ts.map +1 -1
  473. package/types/createUseQueryDirect.d.ts +1 -1
  474. package/types/createUseQueryDirect.d.ts.map +1 -1
  475. package/types/createZeroClient.d.ts +22 -12
  476. package/types/createZeroClient.d.ts.map +1 -1
  477. package/types/createZeroClient.recovery.test.d.ts.map +1 -1
  478. package/types/generate-helpers.d.ts +17 -2
  479. package/types/generate-helpers.d.ts.map +1 -1
  480. package/types/generate-layout.d.ts +26 -0
  481. package/types/generate-layout.d.ts.map +1 -0
  482. package/types/generate-lite.d.ts +29 -1
  483. package/types/generate-lite.d.ts.map +1 -1
  484. package/types/generate.d.ts +20 -0
  485. package/types/generate.d.ts.map +1 -1
  486. package/types/helpers/NullToOptional.d.ts +6 -0
  487. package/types/helpers/NullToOptional.d.ts.map +1 -0
  488. package/types/helpers/asyncContext.d.ts +15 -0
  489. package/types/helpers/asyncContext.d.ts.map +1 -0
  490. package/types/helpers/asyncContext.native.d.ts +8 -0
  491. package/types/helpers/asyncContext.native.d.ts.map +1 -0
  492. package/types/helpers/createMutators.d.ts +2 -1
  493. package/types/helpers/createMutators.d.ts.map +1 -1
  494. package/types/helpers/ellipsis.d.ts +2 -0
  495. package/types/helpers/ellipsis.d.ts.map +1 -0
  496. package/types/helpers/emitter.d.ts +21 -0
  497. package/types/helpers/emitter.d.ts.map +1 -0
  498. package/types/helpers/ensure.d.ts +2 -0
  499. package/types/helpers/ensure.d.ts.map +1 -0
  500. package/types/helpers/ensureLoggedIn.d.ts.map +1 -1
  501. package/types/helpers/errors.d.ts +7 -0
  502. package/types/helpers/errors.d.ts.map +1 -0
  503. package/types/helpers/getCurrentComponentStack.d.ts +2 -0
  504. package/types/helpers/getCurrentComponentStack.d.ts.map +1 -0
  505. package/types/helpers/globalValue.d.ts +23 -0
  506. package/types/helpers/globalValue.d.ts.map +1 -0
  507. package/types/helpers/mapObject.d.ts +4 -0
  508. package/types/helpers/mapObject.d.ts.map +1 -0
  509. package/types/helpers/mutationLifecycle.d.ts +44 -0
  510. package/types/helpers/mutationLifecycle.d.ts.map +1 -0
  511. package/types/helpers/mutationLifecycle.test.d.ts +2 -0
  512. package/types/helpers/mutationLifecycle.test.d.ts.map +1 -0
  513. package/types/helpers/platform.d.ts +3 -0
  514. package/types/helpers/platform.d.ts.map +1 -0
  515. package/types/helpers/platform.native.d.ts +3 -0
  516. package/types/helpers/platform.native.d.ts.map +1 -0
  517. package/types/helpers/recoverZeroClient.d.ts +13 -9
  518. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  519. package/types/helpers/sleep.d.ts +2 -0
  520. package/types/helpers/sleep.d.ts.map +1 -0
  521. package/types/helpers/time.d.ts +28 -0
  522. package/types/helpers/time.d.ts.map +1 -0
  523. package/types/helpers/tuple.d.ts +2 -0
  524. package/types/helpers/tuple.d.ts.map +1 -0
  525. package/types/index.d.ts +3 -1
  526. package/types/index.d.ts.map +1 -1
  527. package/types/instanceRegistry.d.ts +1 -0
  528. package/types/instanceRegistry.d.ts.map +1 -1
  529. package/types/multi.d.ts +23 -1
  530. package/types/multi.d.ts.map +1 -1
  531. package/types/mutations.d.ts +1 -1
  532. package/types/mutations.d.ts.map +1 -1
  533. package/types/run.d.ts.map +1 -1
  534. package/types/server.d.ts +12 -8
  535. package/types/server.d.ts.map +1 -1
  536. package/types/state.d.ts +1 -1
  537. package/types/state.d.ts.map +1 -1
  538. package/types/types.d.ts +23 -1
  539. package/types/types.d.ts.map +1 -1
  540. package/types/vite-plugin.d.ts.map +1 -1
  541. package/types/where.d.ts.map +1 -1
  542. package/lint/ssr-guards.js +0 -165
  543. package/test-fixtures/server-return-types.ts +0 -58
  544. package/test-fixtures/tsconfig.json +0 -13
  545. package/tsconfig.json +0 -26
  546. package/vitest.config.ts +0 -8
@@ -1,4 +1,5 @@
1
- import { describe, expect, test } from "vitest";
1
+ import { runInNewContext } from "vm";
2
+ import { afterEach, describe, expect, test, vi } from "vitest";
2
3
  import { generateLite } from "./generate-lite.native.js";
3
4
  function makeParse(table) {
4
5
  return function (_src, path) {
@@ -10,14 +11,17 @@ function makeParse(table) {
10
11
  };
11
12
  }
12
13
  var DIR = "/proj/src/data";
14
+ afterEach(function () {
15
+ vi.restoreAllMocks();
16
+ });
13
17
  describe("generateLite", function () {
14
18
  test("emits models.ts, syncedMutations.ts, and README.md from inline types", function () {
15
19
  var files = {
16
- [`${DIR}/models/todo.ts`]: "// fake source, parser returns fixture",
17
- [`${DIR}/models/user.ts`]: "// fake source, parser returns fixture"
20
+ [`${DIR}/todo.ts`]: "// fake source, parser returns fixture",
21
+ [`${DIR}/user.ts`]: "// fake source, parser returns fixture"
18
22
  };
19
23
  var fixtures = {
20
- [`${DIR}/models/todo.ts`]: {
24
+ [`${DIR}/todo.ts`]: {
21
25
  mutations: [{
22
26
  modelName: "todo",
23
27
  handlers: [{
@@ -31,7 +35,7 @@ describe("generateLite", function () {
31
35
  }],
32
36
  queries: []
33
37
  },
34
- [`${DIR}/models/user.ts`]: {
38
+ [`${DIR}/user.ts`]: {
35
39
  mutations: [{
36
40
  modelName: "user",
37
41
  handlers: [{
@@ -49,10 +53,10 @@ describe("generateLite", function () {
49
53
  dir: DIR,
50
54
  parse: makeParse(fixtures)
51
55
  });
52
- expect(Object.keys(result.files).sort()).toEqual(["README.md", "models.ts", "syncedMutations.ts"]);
56
+ expect(Object.keys(result.files).sort()).toEqual(["README.md", "groupedQueries.ts", "instances.ts", "models.ts", "syncedMutations.ts", "syncedQueries.ts"]);
53
57
  var models = result.files["models.ts"];
54
- expect(models).toContain("import * as todo from '../models/todo'");
55
- expect(models).toContain("import * as userPublic from '../models/user'");
58
+ expect(models).toContain("import * as todo from '../todo'");
59
+ expect(models).toContain("import * as userPublic from '../user'");
56
60
  expect(models).toContain("user: userPublic,");
57
61
  expect(models).not.toContain("\n userPublic,");
58
62
  expect(models).toContain("export const models = {");
@@ -70,11 +74,11 @@ describe("generateLite", function () {
70
74
  });
71
75
  test("parses newline-separated mutation object types", function () {
72
76
  var files = {
73
- [`${DIR}/models/agentEvent.ts`]: "// fake",
74
- [`${DIR}/models/deployment.ts`]: "// fake"
77
+ [`${DIR}/agentEvent.ts`]: "// fake",
78
+ [`${DIR}/deployment.ts`]: "// fake"
75
79
  };
76
80
  var fixtures = {
77
- [`${DIR}/models/agentEvent.ts`]: {
81
+ [`${DIR}/agentEvent.ts`]: {
78
82
  mutations: [{
79
83
  modelName: "agentEvent",
80
84
  handlers: [{
@@ -89,7 +93,7 @@ describe("generateLite", function () {
89
93
  }],
90
94
  queries: []
91
95
  },
92
- [`${DIR}/models/deployment.ts`]: {
96
+ [`${DIR}/deployment.ts`]: {
93
97
  mutations: [{
94
98
  modelName: "deployment",
95
99
  handlers: [{
@@ -122,10 +126,10 @@ describe("generateLite", function () {
122
126
  });
123
127
  test("parses object intersections and skips index signatures", function () {
124
128
  var files = {
125
- [`${DIR}/models/agent.ts`]: "// fake"
129
+ [`${DIR}/agent.ts`]: "// fake"
126
130
  };
127
131
  var fixtures = {
128
- [`${DIR}/models/agent.ts`]: {
132
+ [`${DIR}/agent.ts`]: {
129
133
  mutations: [{
130
134
  modelName: "agent",
131
135
  handlers: [{
@@ -158,10 +162,10 @@ describe("generateLite", function () {
158
162
  });
159
163
  test("falls back to v.unknown() for type references", function () {
160
164
  var files = {
161
- [`${DIR}/models/post.ts`]: "// fake"
165
+ [`${DIR}/post.ts`]: `export const allPosts = () => zql.post`
162
166
  };
163
167
  var fixtures = {
164
- [`${DIR}/models/post.ts`]: {
168
+ [`${DIR}/post.ts`]: {
165
169
  mutations: [{
166
170
  modelName: "post",
167
171
  handlers: [{
@@ -191,10 +195,10 @@ describe("generateLite", function () {
191
195
  });
192
196
  test("uses v.unknown() for explicitly unknown mutation params", function () {
193
197
  var files = {
194
- [`${DIR}/models/project.ts`]: "// fake"
198
+ [`${DIR}/project.ts`]: "// fake"
195
199
  };
196
200
  var fixtures = {
197
- [`${DIR}/models/project.ts`]: {
201
+ [`${DIR}/project.ts`]: {
198
202
  mutations: [{
199
203
  modelName: "project",
200
204
  handlers: [{
@@ -215,15 +219,10 @@ describe("generateLite", function () {
215
219
  });
216
220
  test("emits query files with v.unknown() fallback for references", function () {
217
221
  var files = {
218
- [`${DIR}/models/post.ts`]: "// fake",
219
- [`${DIR}/queries/post.ts`]: "// fake"
222
+ [`${DIR}/post.ts`]: "// fake"
220
223
  };
221
224
  var fixtures = {
222
- [`${DIR}/models/post.ts`]: {
223
- mutations: [],
224
- queries: []
225
- },
226
- [`${DIR}/queries/post.ts`]: {
225
+ [`${DIR}/post.ts`]: {
227
226
  mutations: [],
228
227
  queries: [
229
228
  // no-arg query → void
@@ -266,7 +265,8 @@ describe("generateLite", function () {
266
265
  expect(result.files["groupedQueries.ts"]).toBeDefined();
267
266
  expect(result.files["syncedQueries.ts"]).toBeDefined();
268
267
  var grouped = result.files["groupedQueries.ts"];
269
- expect(grouped).toContain("export * as post from '../queries/post'");
268
+ expect(grouped).toContain("import * as postSource from '../post'");
269
+ expect(grouped).toContain("postById: postSource.postById");
270
270
  var synced = result.files["syncedQueries.ts"];
271
271
  expect(synced).toContain("allPosts: defineQuery(() => Queries.post.allPosts())");
272
272
  expect(synced).toContain("postById: defineQuery(");
@@ -282,10 +282,10 @@ describe("generateLite", function () {
282
282
  });
283
283
  test("emits types.ts and tables.ts when a model declares a schema inline", function () {
284
284
  var files = {
285
- [`${DIR}/models/task.ts`]: "// fake"
285
+ [`${DIR}/task.ts`]: "// fake"
286
286
  };
287
287
  var fixtures = {
288
- [`${DIR}/models/task.ts`]: {
288
+ [`${DIR}/task.ts`]: {
289
289
  mutations: [{
290
290
  modelName: "task",
291
291
  handlers: [],
@@ -324,24 +324,24 @@ describe("generateLite", function () {
324
324
  var types = result.files["types.ts"];
325
325
  expect(types).toContain("export type Task = TableInsertRow<typeof schema.task>");
326
326
  var tables = result.files["tables.ts"];
327
- expect(tables).toContain("export { schema as task } from '../models/task'");
327
+ expect(tables).toContain("export { schema as task } from '../task'");
328
328
  var synced = result.files["syncedMutations.ts"];
329
329
  expect(synced).toContain("insert:");
330
330
  expect(synced).toContain("update:");
331
331
  expect(synced).toContain("delete:");
332
332
  expect(result.mutationCount).toBe(3);
333
333
  });
334
- test("ignores nested files and non-ts files inside the models directory", function () {
334
+ test("ignores private files inside a namespace folder", function () {
335
335
  var files = {
336
- [`${DIR}/models/post.ts`]: "// fake",
337
- [`${DIR}/models/README.md`]: "not a model",
338
- [`${DIR}/models/helpers/util.ts`]: "nested should be ignored",
339
- [`${DIR}/models/post.d.ts`]: "declaration file, ignored",
340
- [`${DIR}/models/post.test.ts`]: "test file, ignored",
341
- [`${DIR}/models/post.spec.ts`]: "spec file, ignored"
336
+ [`${DIR}/post/mutations.ts`]: "// fake",
337
+ [`${DIR}/post/README.md`]: "not a model",
338
+ [`${DIR}/post/helpers/util.ts`]: "private helper, ignored",
339
+ [`${DIR}/post/post.d.ts`]: "declaration file, ignored",
340
+ [`${DIR}/post/post.test.ts`]: "test file, ignored",
341
+ [`${DIR}/post/post.spec.ts`]: "spec file, ignored"
342
342
  };
343
343
  var fixtures = {
344
- [`${DIR}/models/post.ts`]: {
344
+ [`${DIR}/post/mutations.ts`]: {
345
345
  mutations: [{
346
346
  modelName: "post",
347
347
  handlers: [],
@@ -357,18 +357,18 @@ describe("generateLite", function () {
357
357
  });
358
358
  expect(result.modelCount).toBe(1);
359
359
  var models = result.files["models.ts"];
360
- expect(models).toContain("import * as post from '../models/post'");
360
+ expect(models).toContain("import * as post from '../post/mutations'");
361
361
  expect(models).not.toContain("util");
362
362
  expect(models).not.toContain("README");
363
363
  expect(models).not.toContain("post.test");
364
364
  expect(models).not.toContain("post.spec");
365
365
  });
366
- test("infers mutations/ directory when present", function () {
366
+ test("supports a split namespace folder", function () {
367
367
  var files = {
368
- [`${DIR}/mutations/post.ts`]: "// fake"
368
+ [`${DIR}/post/mutations.ts`]: "// fake"
369
369
  };
370
370
  var fixtures = {
371
- [`${DIR}/mutations/post.ts`]: {
371
+ [`${DIR}/post/mutations.ts`]: {
372
372
  mutations: [{
373
373
  modelName: "post",
374
374
  handlers: [{
@@ -386,7 +386,412 @@ describe("generateLite", function () {
386
386
  parse: makeParse(fixtures)
387
387
  });
388
388
  var models = result.files["models.ts"];
389
- expect(models).toContain("from '../mutations/post'");
389
+ expect(models).toContain("from '../post/mutations'");
390
+ });
391
+ test("derives single-file namespaces from data exports", function () {
392
+ var files = {
393
+ [`${DIR}/server.ts`]: `export const serverRows = () => zql.server`,
394
+ [`${DIR}/types.ts`]: `export const formatRow = (value: string) => value`
395
+ };
396
+ var result = generateLite({
397
+ files,
398
+ dir: DIR,
399
+ parse: makeParse({
400
+ [`${DIR}/server.ts`]: {
401
+ mutations: [],
402
+ queries: [{
403
+ name: "serverRows",
404
+ paramTypeText: null
405
+ }]
406
+ },
407
+ [`${DIR}/types.ts`]: {
408
+ mutations: [],
409
+ queries: []
410
+ }
411
+ })
412
+ });
413
+ expect(result.modelCount).toBe(1);
414
+ expect(result.queryCount).toBe(1);
415
+ });
416
+ test("warns once and ignores an unparseable non-data file", function () {
417
+ var warn = vi.spyOn(console, "warn").mockImplementation(function () {});
418
+ var result = generateLite({
419
+ files: {
420
+ [`${DIR}/server.ts`]: `export const serverRows = () => zql.server`,
421
+ [`${DIR}/types.ts`]: `export type Broken = {`
422
+ },
423
+ dir: DIR,
424
+ parse: function parse(source, path) {
425
+ if (path.endsWith("/types.ts")) throw new Error("parse failed");
426
+ return {
427
+ mutations: [],
428
+ queries: source.includes("zql.server") ? [{
429
+ name: "serverRows",
430
+ paramTypeText: null
431
+ }] : []
432
+ };
433
+ }
434
+ });
435
+ expect(result.modelCount).toBe(1);
436
+ expect(warn).toHaveBeenCalledOnce();
437
+ expect(warn).toHaveBeenCalledWith("[on-zero] ignoring data/types.ts: no recognized data exports");
438
+ warn.mockRestore();
439
+ });
440
+ test("rejects the removed top-level layout", function () {
441
+ expect(function () {
442
+ return generateLite({
443
+ files: {
444
+ [`${DIR}/queries/post.ts`]: "// fake"
445
+ },
446
+ dir: DIR,
447
+ parse: makeParse({})
448
+ });
449
+ }).toThrow(/removed top-level queries\/ layout/);
450
+ });
451
+ test("derives scoped related-table closure from lite metadata", function () {
452
+ var files = {
453
+ [`${DIR}/on-zero.config.ts`]: `export default defineConfig({ instances: { project: { scope: 'projectId' } } })`,
454
+ [`${DIR}/project/message/queries.ts`]: `export const messages = () => zql.message.related('comments')`,
455
+ [`${DIR}/project/message/mutations.ts`]: "// fake mutation",
456
+ ["/proj/src/database/relations.ts"]: "// fake relations",
457
+ ["/proj/src/database/schema.ts"]: "// fake tables"
458
+ };
459
+ var empty = {
460
+ mutations: [],
461
+ queries: []
462
+ };
463
+ var result = generateLite({
464
+ files,
465
+ dir: DIR,
466
+ parse: makeParse({
467
+ [`${DIR}/on-zero.config.ts`]: {
468
+ ...empty,
469
+ dataConfig: {
470
+ instances: {
471
+ project: {
472
+ scope: "projectId"
473
+ }
474
+ }
475
+ }
476
+ },
477
+ [`${DIR}/project/message/queries.ts`]: {
478
+ ...empty,
479
+ queries: [{
480
+ name: "messages",
481
+ paramTypeText: null,
482
+ relatedPaths: [["comments", "author"]]
483
+ }]
484
+ },
485
+ [`${DIR}/project/message/mutations.ts`]: {
486
+ ...empty,
487
+ mutations: [{
488
+ modelName: "message",
489
+ handlers: [],
490
+ schema: {
491
+ tableName: "message",
492
+ primaryKeys: ["id"],
493
+ columns: [{
494
+ name: "id",
495
+ builderText: "string()"
496
+ }, {
497
+ name: "projectId",
498
+ builderText: "string()"
499
+ }]
500
+ }
501
+ }]
502
+ },
503
+ "/proj/src/database/relations.ts": {
504
+ ...empty,
505
+ relations: [{
506
+ sourceTable: "message",
507
+ name: "comments",
508
+ targetTable: "comment"
509
+ }, {
510
+ sourceTable: "comment",
511
+ name: "author",
512
+ targetTable: "userPublic"
513
+ }]
514
+ },
515
+ "/proj/src/database/schema.ts": {
516
+ ...empty,
517
+ tables: [{
518
+ name: "comment",
519
+ columns: ["id", "projectId"]
520
+ }, {
521
+ name: "userPublic",
522
+ columns: ["id", "projectId"]
523
+ }]
524
+ }
525
+ })
526
+ });
527
+ expect(result.files["instances.ts"]).toContain('syncTables: ["comment","message","userPublic"]');
528
+ var instance = result.instances.find(function (entry) {
529
+ return entry.name === "project";
530
+ });
531
+ expect(instance === null || instance === void 0 ? void 0 : instance.syncTables).toEqual(["comment", "message", "userPublic"]);
532
+ expect(instance === null || instance === void 0 ? void 0 : instance.supportTables).toEqual([]);
533
+ });
534
+ test("derives fileless support tables through parsed mutation helpers", function () {
535
+ var _context_instances_default, _context_instances;
536
+ var files = {
537
+ [`${DIR}/post.ts`]: "// namespace",
538
+ [`${DIR}/helpers/writeAudit.ts`]: "// helper",
539
+ [`${DIR}/helpers/readSettings.ts`]: "// nested helper"
540
+ };
541
+ var empty = {
542
+ mutations: [],
543
+ queries: []
544
+ };
545
+ var result = generateLite({
546
+ files,
547
+ dir: DIR,
548
+ parse: makeParse({
549
+ [`${DIR}/post.ts`]: {
550
+ ...empty,
551
+ mutations: [{
552
+ modelName: "post",
553
+ handlers: [],
554
+ schema: null
555
+ }],
556
+ imports: ["./helpers/writeAudit"],
557
+ supportTables: ["post"]
558
+ },
559
+ [`${DIR}/helpers/writeAudit.ts`]: {
560
+ ...empty,
561
+ imports: ["./readSettings"],
562
+ supportTables: ["audit"]
563
+ },
564
+ [`${DIR}/helpers/readSettings.ts`]: {
565
+ ...empty,
566
+ supportTables: ["settings"]
567
+ }
568
+ })
569
+ });
570
+ var runnable = result.files["instances.ts"].replace("import { schema } from './schema'", "").replace("import * as groupedQueries from './groupedQueries'", "").replace("import { models } from './models'", "").replace("export const instances =", "globalThis.instances =").replace(/: string/g, "").replace(" as const", "");
571
+ var context = {
572
+ groupedQueries: {},
573
+ models: {
574
+ post: {}
575
+ },
576
+ schema: {}
577
+ };
578
+ runInNewContext(runnable, context);
579
+ expect((_context_instances = context.instances) === null || _context_instances === void 0 ? void 0 : (_context_instances_default = _context_instances.default) === null || _context_instances_default === void 0 ? void 0 : _context_instances_default.supportTables).toEqual(["audit", "settings"]);
580
+ });
581
+ test("includes a fileless support table in every lite instance that uses it", function () {
582
+ var _context_instances_control, _context_instances, _context_instances_project, _context_instances1;
583
+ var files = {
584
+ [`${DIR}/on-zero.config.ts`]: `export default defineConfig({ instances: { control: { dir: './planes/control', supportTables: ['manual'] }, project: { scope: 'projectId' } } })`,
585
+ [`${DIR}/planes/control/account.ts`]: "// control namespace",
586
+ [`${DIR}/project/message.ts`]: "// project namespace",
587
+ ["/proj/src/database/schema.ts"]: "// table columns"
588
+ };
589
+ var empty = {
590
+ mutations: [],
591
+ queries: []
592
+ };
593
+ var result = generateLite({
594
+ files,
595
+ dir: DIR,
596
+ parse: makeParse({
597
+ [`${DIR}/on-zero.config.ts`]: {
598
+ ...empty,
599
+ dataConfig: {
600
+ instances: {
601
+ control: {
602
+ dir: "./planes/control",
603
+ supportTables: ["manual"]
604
+ },
605
+ project: {
606
+ scope: "projectId"
607
+ }
608
+ }
609
+ }
610
+ },
611
+ [`${DIR}/planes/control/account.ts`]: {
612
+ ...empty,
613
+ mutations: [{
614
+ modelName: "account",
615
+ handlers: [],
616
+ schema: null
617
+ }],
618
+ supportTables: ["audit"]
619
+ },
620
+ [`${DIR}/project/message.ts`]: {
621
+ ...empty,
622
+ mutations: [{
623
+ modelName: "message",
624
+ handlers: [],
625
+ schema: {
626
+ tableName: "message",
627
+ primaryKeys: ["id"],
628
+ columns: [{
629
+ name: "id",
630
+ builderText: "string()"
631
+ }, {
632
+ name: "projectId",
633
+ builderText: "string()"
634
+ }]
635
+ }
636
+ }],
637
+ supportTables: ["audit"]
638
+ },
639
+ "/proj/src/database/schema.ts": {
640
+ ...empty,
641
+ tables: [{
642
+ name: "message",
643
+ columns: ["id", "projectId"]
644
+ }]
645
+ }
646
+ })
647
+ });
648
+ var runnable = result.files["instances.ts"].replace("import { schema } from './schema'", "").replace("import * as groupedQueries from './groupedQueries'", "").replace("import { models } from './models'", "").replace("export const instances =", "globalThis.instances =").replace(/: string/g, "").replace(" as const", "");
649
+ var context = {
650
+ groupedQueries: {},
651
+ models: {
652
+ account: {},
653
+ message: {}
654
+ },
655
+ schema: {}
656
+ };
657
+ runInNewContext(runnable, context);
658
+ expect((_context_instances = context.instances) === null || _context_instances === void 0 ? void 0 : (_context_instances_control = _context_instances.control) === null || _context_instances_control === void 0 ? void 0 : _context_instances_control.supportTables).toEqual(["audit", "manual"]);
659
+ expect((_context_instances1 = context.instances) === null || _context_instances1 === void 0 ? void 0 : (_context_instances_project = _context_instances1.project) === null || _context_instances_project === void 0 ? void 0 : _context_instances_project.supportTables).toEqual(["audit"]);
660
+ });
661
+ test("keeps a configured default lite instance at the data root", function () {
662
+ var _context_instances_default, _context_instances, _context_instances_project, _context_instances1;
663
+ var files = {
664
+ [`${DIR}/on-zero.config.ts`]: `export default defineConfig({ instances: { default: { dir: '.', supportTables: ['accountRepo', 'usageLedger'] }, project: { scope: 'projectId' } } })`,
665
+ [`${DIR}/account.ts`]: "// control namespace",
666
+ [`${DIR}/project/message.ts`]: "// project namespace"
667
+ };
668
+ var empty = {
669
+ mutations: [],
670
+ queries: []
671
+ };
672
+ var result = generateLite({
673
+ files,
674
+ dir: DIR,
675
+ parse: makeParse({
676
+ [`${DIR}/on-zero.config.ts`]: {
677
+ ...empty,
678
+ dataConfig: {
679
+ instances: {
680
+ default: {
681
+ dir: ".",
682
+ supportTables: ["accountRepo", "usageLedger"]
683
+ },
684
+ project: {
685
+ scope: "projectId"
686
+ }
687
+ }
688
+ }
689
+ },
690
+ [`${DIR}/account.ts`]: {
691
+ ...empty,
692
+ queries: [{
693
+ name: "accounts",
694
+ paramTypeText: null
695
+ }]
696
+ },
697
+ [`${DIR}/project/message.ts`]: {
698
+ ...empty,
699
+ mutations: [{
700
+ modelName: "message",
701
+ handlers: [],
702
+ schema: {
703
+ tableName: "message",
704
+ primaryKeys: ["id"],
705
+ columns: [{
706
+ name: "id",
707
+ builderText: "string()"
708
+ }, {
709
+ name: "projectId",
710
+ builderText: "string()"
711
+ }]
712
+ }
713
+ }]
714
+ }
715
+ })
716
+ });
717
+ var runnable = result.files["instances.ts"].replace("import { schema } from './schema'", "").replace("import * as groupedQueries from './groupedQueries'", "").replace("import { models } from './models'", "").replace("export const instances =", "globalThis.instances =").replace(/: string/g, "").replace(" as const", "");
718
+ var context = {
719
+ groupedQueries: {},
720
+ models: {
721
+ message: {}
722
+ },
723
+ schema: {}
724
+ };
725
+ runInNewContext(runnable, context);
726
+ expect((_context_instances = context.instances) === null || _context_instances === void 0 ? void 0 : (_context_instances_default = _context_instances.default) === null || _context_instances_default === void 0 ? void 0 : _context_instances_default.supportTables).toEqual(["accountRepo", "usageLedger"]);
727
+ expect((_context_instances1 = context.instances) === null || _context_instances1 === void 0 ? void 0 : (_context_instances_project = _context_instances1.project) === null || _context_instances_project === void 0 ? void 0 : _context_instances_project.supportTables).toEqual([]);
728
+ });
729
+ test("rejects missing configured directories and instance.ts remnants", function () {
730
+ var empty = {
731
+ mutations: [],
732
+ queries: []
733
+ };
734
+ expect(function () {
735
+ return generateLite({
736
+ files: {
737
+ [`${DIR}/on-zero.config.ts`]: `export default defineConfig({ instances: { project: {} } })`
738
+ },
739
+ dir: DIR,
740
+ parse: makeParse({
741
+ [`${DIR}/on-zero.config.ts`]: {
742
+ ...empty,
743
+ dataConfig: {
744
+ instances: {
745
+ project: {}
746
+ }
747
+ }
748
+ }
749
+ })
750
+ });
751
+ }).toThrow(/instance 'project' directory does not exist/);
752
+ expect(function () {
753
+ return generateLite({
754
+ files: {
755
+ [`${DIR}/on-zero.config.ts`]: `export default defineConfig({ instances: { control: { dir: './shared' }, project: { dir: './shared' } } })`,
756
+ [`${DIR}/shared/account.ts`]: "// namespace"
757
+ },
758
+ dir: DIR,
759
+ parse: makeParse({
760
+ [`${DIR}/on-zero.config.ts`]: {
761
+ ...empty,
762
+ dataConfig: {
763
+ instances: {
764
+ control: {
765
+ dir: "./shared"
766
+ },
767
+ project: {
768
+ dir: "./shared"
769
+ }
770
+ }
771
+ }
772
+ }
773
+ })
774
+ });
775
+ }).toThrow(/instances 'control' and 'project' resolve to the same directory/);
776
+ expect(function () {
777
+ return generateLite({
778
+ files: {
779
+ [`${DIR}/post.ts`]: "// namespace",
780
+ [`${DIR}/project/instance.ts`]: `export default defineInstance({})`
781
+ },
782
+ dir: DIR,
783
+ parse: makeParse({
784
+ [`${DIR}/post.ts`]: {
785
+ ...empty,
786
+ mutations: [{
787
+ modelName: "post",
788
+ handlers: [],
789
+ schema: null
790
+ }]
791
+ }
792
+ })
793
+ });
794
+ }).toThrow(/uses removed instance\.ts configuration/);
390
795
  });
391
796
  });
392
797
  //# sourceMappingURL=generate-lite.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","generateLite","makeParse","table","_src","path","entry","Error","DIR","files","fixtures","mutations","modelName","handlers","name","paramTypeText","schema","queries","result","dir","parse","Object","keys","sort","toEqual","models","toContain","not","syncedMutations","modelCount","toBe","schemaCount","mutationCount","synced","toBeDefined","grouped","toMatch","queryCount","tableName","primaryKeys","columns","builderText","types","tables"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAASC,YAAA,QAAoB;AAO7B,SAASC,UAAUC,KAAA,EAAoD;EACrE,OAAO,UAAOC,IAAA,EAAAC,IAAS;IACrB,IAAAC,KAAM,GAAAH,KAAQ,CAAAE,IAAM;IACpB,IAAI,CAACC,KAAA,EAAO;MACV,MAAM,IAAIC,KAAA,CAAM,2BAA2BF,IAAI,EAAE;IACnD;IACA,OAAOC,KAAA;EACT;AACF;AAEA,IAAAE,GAAM,mBAAM;AAEZV,QAAA,CAAS,gBAAgB,YAAM;EAC7BE,IAAA,CAAK,wEAAwE,YAAM;IACjF,IAAAS,KAAM;MACJ,CAAC,GAAGD,GAAG,iBAAiB,GAAG;MAC3B,CAAC,GAAGA,GAAG,iBAAiB,GAAG;IAC7B;IAEA,IAAAE,QAAM;MACJ,CAAC,GAAGF,GAAG,iBAAiB,GAAG;QACzBG,SAAA,EAAW,CACT;UACEC,SAAA,EAAW;UACXC,QAAA,EAAU,CACR;YACEC,IAAA,EAAM;YACNC,aAAA,EAAe;UACjB,GACA;YACED,IAAA,EAAM;YACNC,aAAA,EAAe;UACjB,EACF;UACAC,MAAA,EAAQ;QACV,EACF;QACAC,OAAA,EAAS;MACX;MACA,CAAC,GAAGT,GAAG,iBAAiB,GAAG;QACzBG,SAAA,EAAW,CACT;UACEC,SAAA,EAAW;UACXC,QAAA,EAAU,CACR;YACEC,IAAA,EAAM;YAAA;YAENC,aAAA,EAAe;UACjB,EACF;UACAC,MAAA,EAAQ;QACV,EACF;QACAC,OAAA,EAAS;MACX;IACF;IAEA,IAAAC,MAAM,GAAAjB,YAAS;MACbQ,KAAA;MACAU,GAAA,EAAKX,GAAA;MACLY,KAAA,EAAOlB,SAAA,CAAUQ,QAAQ;IAC3B,CAAC;IAGDX,MAAA,CAAOsB,MAAA,CAAOC,IAAA,CAAKJ,MAAA,CAAOT,KAAK,EAAEc,IAAA,CAAK,CAAC,EAAEC,OAAA,CAAQ,CAC/C,aACA,aACA,qBACD;IAGD,IAAAC,MAAM,GAAAP,MAAS,CAAAT,KAAO,YAAM;IAC5BV,MAAA,CAAO0B,MAAM,EAAEC,SAAA,CAAU,wCAAwC;IACjE3B,MAAA,CAAO0B,MAAM,EAAEC,SAAA,CAAU,8CAA8C;IACvE3B,MAAA,CAAO0B,MAAM,EAAEC,SAAA,CAAU,mBAAmB;IAC5C3B,MAAA,CAAO0B,MAAM,EAAEE,GAAA,CAAID,SAAA,CAAU,iBAAiB;IAC9C3B,MAAA,CAAO0B,MAAM,EAAEC,SAAA,CAAU,yBAAyB;IAGlD,IAAAE,eAAM,GAAAV,MAAkB,CAAAT,KAAO,qBAAM;IACrCV,MAAA,CAAO6B,eAAe,EAAEF,SAAA,CAAU,SAAS;IAC3C3B,MAAA,CAAO6B,eAAe,EAAEF,SAAA,CAAU,YAAY;IAC9C3B,MAAA,CAAO6B,eAAe,EAAEF,SAAA,CAAU,gBAAgB;IAClD3B,MAAA,CAAO6B,eAAe,EAAEF,SAAA,CAAU,uBAAuB;IACzD3B,MAAA,CAAO6B,eAAe,EAAEF,SAAA,CAAU,SAAS;IAC3C3B,MAAA,CAAO6B,eAAe,EAAEF,SAAA,CAAU,mBAAmB;IAErD3B,MAAA,CAAO6B,eAAe,EAAEF,SAAA,CAAU,6BAA6B;IAE/D3B,MAAA,CAAOmB,MAAA,CAAOW,UAAU,EAAEC,IAAA,CAAK,CAAC;IAChC/B,MAAA,CAAOmB,MAAA,CAAOa,WAAW,EAAED,IAAA,CAAK,CAAC;IACjC/B,MAAA,CAAOmB,MAAA,CAAOc,aAAa,EAAEF,IAAA,CAAK,CAAC;EACrC,CAAC;EAED9B,IAAA,CAAK,kDAAkD,YAAM;IAC3D,IAAAS,KAAM;MACJ,CAAC,GAAGD,GAAG,uBAAuB,GAAG;MACjC,CAAC,GAAGA,GAAG,uBAAuB,GAAG;IACnC;IAEA,IAAAE,QAAM;MACJ,CAAC,GAAGF,GAAG,uBAAuB,GAAG;QAC/BG,SAAA,EAAW,CACT;UACEC,SAAA,EAAW;UACXC,QAAA,EAAU,CACR;YACEC,IAAA,EAAM;YACNC,aAAA,EAAe;AAAA;AAAA;AAAA;AAAA;UAKjB,EACF;UACAC,MAAA,EAAQ;QACV,EACF;QACAC,OAAA,EAAS;MACX;MACA,CAAC,GAAGT,GAAG,uBAAuB,GAAG;QAC/BG,SAAA,EAAW,CACT;UACEC,SAAA,EAAW;UACXC,QAAA,EAAU,CACR;YACEC,IAAA,EAAM;YACNC,aAAA,EAAe;AAAA;AAAA;AAAA;AAAA;UAKjB,EACF;UACAC,MAAA,EAAQ;QACV,EACF;QACAC,OAAA,EAAS;MACX;IACF;IAEA,IAAAC,MAAM,GAAAjB,YAAS;MACbQ,KAAA;MACAU,GAAA,EAAKX,GAAA;MACLY,KAAA,EAAOlB,SAAA,CAAUQ,QAAQ;IAC3B,CAAC;IAED,IAAAuB,MAAM,GAAAf,MAAS,CAAAT,KAAO,qBAAM;IAC5BV,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,mBAAmB;IAC5C3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,uBAAuB;IAChD3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,uBAAuB;IAChD3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,SAAS;IAClC3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,kCAAkC;IAC3D3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,mCAAmC;IAC5D3B,MAAA,CAAOkC,MAAM,EAAEN,GAAA,CAAID,SAAA,CAAU,gCAAgC;IAC7D3B,MAAA,CAAOkC,MAAM,EAAEN,GAAA,CAAID,SAAA,CAAU,sBAAsB;EACrD,CAAC;EAED1B,IAAA,CAAK,0DAA0D,YAAM;IACnE,IAAAS,KAAM;MACJ,CAAC,GAAGD,GAAG,kBAAkB,GAAG;IAC9B;IAEA,IAAAE,QAAM;MACJ,CAAC,GAAGF,GAAG,kBAAkB,GAAG;QAC1BG,SAAA,EAAW,CACT;UACEC,SAAA,EAAW;UACXC,QAAA,EAAU,CACR;YACEC,IAAA,EAAM;YACNC,aAAA,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;UAOjB,EACF;UACAC,MAAA,EAAQ;QACV,EACF;QACAC,OAAA,EAAS;MACX;IACF;IAEA,IAAAC,MAAM,GAAAjB,YAAS;MACbQ,KAAA;MACAU,GAAA,EAAKX,GAAA;MACLY,KAAA,EAAOlB,SAAA,CAAUQ,QAAQ;IAC3B,CAAC;IAED,IAAAuB,MAAM,GAAAf,MAAS,CAAAT,KAAO,qBAAM;IAC5BV,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,SAAS;IAClC3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,gBAAgB;IACzC3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,gCAAgC;IACzD3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,uCAAuC;IAChE3B,MAAA,CAAOkC,MAAM,EAAEN,GAAA,CAAID,SAAA,CAAU,MAAM;IACnC3B,MAAA,CAAOkC,MAAM,EAAEN,GAAA,CAAID,SAAA,CAAU,sBAAsB;EACrD,CAAC;EAED1B,IAAA,CAAK,iDAAiD,YAAM;IAC1D,IAAAS,KAAM;MACJ,CAAC,GAAGD,GAAG,iBAAiB,GAAG;IAC7B;IAEA,IAAAE,QAAM;MACJ,CAAC,GAAGF,GAAG,iBAAiB,GAAG;QACzBG,SAAA,EAAW,CACT;UACEC,SAAA,EAAW;UACXC,QAAA,EAAU,CACR;YACEC,IAAA,EAAM;YAAA;YAAA;YAAA;YAINC,aAAA,EAAe;UACjB,GACA;YACED,IAAA,EAAM;YAAA;YAENC,aAAA,EAAe;UACjB,EACF;UACAC,MAAA,EAAQ;QACV,EACF;QACAC,OAAA,EAAS;MACX;IACF;IAEA,IAAAC,MAAM,GAAAjB,YAAS;MACbQ,KAAA;MACAU,GAAA,EAAKX,GAAA;MACLY,KAAA,EAAOlB,SAAA,CAAUQ,QAAQ;IAC3B,CAAC;IAED,IAAAuB,MAAM,GAAAf,MAAS,CAAAT,KAAO,qBAAM;IAC5BV,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,sBAAsB;IAC/C3B,MAAA,CAAOkC,MAAM,EAAEP,SAAA,CAAU,qBAAqB;EAChD,CAAC;EAED1B,IAAA,CAAK,2DAA2D,YAAM;IACpE,IAAAS,KAAM;MACJ,CAAC,GAAGD,GAAG,oBAAoB,GAAG;IAChC;IAEA,IAAAE,QAAM;MACJ,CAAC,GAAGF,GAAG,oBAAoB,GAAG;QAC5BG,SAAA,EAAW,CACT;UACEC,SAAA,EAAW;UACXC,QAAA,EAAU,CACV;YACFC,IAAA;YACFC,aAAA;UACA,EACF;UACFC,MAAA;QAEM,EACJ;QACAC,OAAK;MACL;IACF,CAAC;IAED,IAAAC,MAAO,GAAAjB,YAAa;MACrBQ,KAAA;MAEDU,GAAK,EAAAX,GAAA;MACHY,KAAM,EAAAlB,SAAgC,CAAAQ,QAAA;IAAA,EACpC;IAA2BX,MACvB,CAAAmB,MAAG,CAAAT,KAAA,qBAAqB,GAAAiB,SAAA;EAAA,EAC9B;EAEA1B,IAAA,6DAAiD;IAAA,IAC9CS,KAAM;MAAoB,IACzBD,GAAA,iBAAY;MAAA,IACZA,GAAA,kBAAU;IAAA;IACZ,IACCE,QAAM;MAAqB,IAC1BF,GAAA,iBAAY;QACZG,SAAS;QAAAM,OAAA;MAAA;MAEiC,IAAAT,GAAA;QAAAG,SAEtC,EAAM;QAA4CM,OAAA;QAEpD;QAA8C;UAE9CH,IAAA;UACEC,aAAM;QAAA;QAGR;QAAA;UAEED,IAAA,EAAM;UAAwCC,aAAA;QAEhD;QACF;QACF;UACFD,IAAA;UAEMC,aAAS;QACb;QACA;QACA;UACDD,IAAA;UAGMC,aAAa;QACpB,CAAO;QAED;QACN;UAEMD,IAAA,YAAgB;UACfC,aAAQ;QACf,CAAO;QACP;QACA;UAEOD,IAAA,EAAM,YAAU;UAChBC,aAAQ;QACf,CAAO;MAGP;IAEA;IAEA,IAAAG,MAAO,GAAAjB,YAAiB,CAAE;MAC3BQ,KAAA;MAEDU,GAAK,EAAAX,GAAA;MACHY,KAAM,EAAAlB,SAAgC,CAAAQ,QAAA;IAAA,EACpC;IACFX,MAAA,CAAAmB,MAAA,CAAAT,KAAA,uBAAAyB,WAAA;IAEAnC,MAAM,CAAAmB,MAAA,CAAAT,KAA2C,sBAAAyB,WAAA;IAAA,IAC9CC,OAAM,GAAAjB,MAAA,CAAAT,KAAiB,oBAAG;IAAAV,MACzB,CAAAoC,OAAA,CAAW,CAAAT,SAAA;IAAA,IAAAO,MACT,GAAAf,MAAA,CAAAT,KAAA;IAAAV,MAAA,CAAAkC,MACE,EAAAP,SAAW;IAAA3B,MAAA,CAAAkC,MACX,EAAAP,SAAW;IAAA3B,MAAA,CAAAkC,MACX,EAAAP,SAAQ;IAAA3B,MAAA,CAAAkC,MACN,EAAAP,SAAW;IAAA3B,MAAA,CAAAkC,MACX,EAAAG,OAAA,CAAa,2CAAK;IAAArC,MAAA,CAAAkC,MAClB,EAAAP,SAAS;IAAA3B,MAAA,CAAAkC,MACP,CAAE,CAAAP,SAAM,2CAA8B;IAAA3B,MAAA,CAAAkC,MACtC,CAAE,CAAAP,SAAM,yBAAsB;IAAW3B,MAAA,CAAAkC,MACzC,CAAE,CAAAG,OAAM,2CAAoC;IAAArC,MAAA,CAAAkC,MAC5C,CAAE,CAAAN,GAAA,CAAAD,SAAc,0BAAyB;IAAA3B,MAAA,CAAAmB,MACzC,CAAEmB,UAAM,EAAAP,IAAQ;EAAmC;EACrD9B,IAAA,qEACF;IAAA,IAAAS,KACF;MAAA,IACFD,GAAA;IAAA;IACU,IACZE,QAAA;MACF,IAAAF,GAAA;QAEAG,SAAM,EAAS,CACb;UACKC,SAAA;UACLC,QAAO,IAAU;UAClBG,MAAA;YAEMsB,SAAO,QAAa;YACpBC,WAAa,GACb,IAAO,CAER;YACCC,OAAO,GAER;cACO1B,IAAE;cAGT2B,WAAgB;YACf,CAAM,EACN;cACM3B,IAAE,SAAU;cAEX2B,WAAA,EAAa;YAC5B,GAEI;cACmC3B,IAAA;cAC7B2B,WAAA,EAAiB;YACjB,GACA;cACA3B,IAAA;cACA2B,WAAA;YACA,GACT;cAEM3B,IAA2C;cACxC2B,WAAA,EAAiB;YACtB;UAEF;QACF,EAEA;QACExB,OAAA;MACA;IAAK;IAEP,IAACC,MAAA,GAAAjB,YAAA;MAEDQ,KAAO;MACPU,GAAA,EAAMX,GAAA;MACNY,KAAO,EAAAlB,SAAQ,CAAAQ,QAAU;IACzB;IACAX,MAAA,CAAOmB,MAAM,CAAAa,WAAM,EAAAD,IAAU;IAC7B/B,MAAA,CAAOmB,MAAM,CAAAT,KAAM,WAAU,GAAAyB,WAAW;IACxCnC,MAAA,CAAOmB,MAAM,CAAAT,KAAM,YAAU,GAAAyB,WAAW;IACzC,IAAAQ,KAAA,GAAAxB,MAAA,CAAAT,KAAA;IAEDV,MAAK,CAAA2C,KAAA,EAAAhB,SAAA,wDAAkD;IACrD,IAAAiB,MAAM,GAAAzB,MAAgC,CAAAT,KAAA;IAAAV,MAChC,CAAA4C,MAAG,EAAAjB,SAAA,kDAAuB;IAChC,IAAAO,MAAA,GAAAf,MAAA,CAAAT,KAAA;IAEAV,MAAM,CAAAkC,MAAA,EAAAP,SAA2C;IAAA3B,MAC3C,CAAAkC,MAAG,EAAAP,SAAA,UAAuB;IAAA3B,MAC5B,CAAAkC,MAAA,EAAWP,SAAA;IAAA3B,MACT,CAAAmB,MAAA,CAAAc,aAAA,EAAAF,IAAA;EAAA;EACa9B,IAAA,oEACmD,EAAC;IAAA,IAAAS,KAC/D;MAAQ,IACVD,GAAA;MAAA,IACFA,GAAA;MAAA,IACAA,GAAA,yBAAU;MACZ,IAAAA,GAAA;MACF,IAAAA,GAAA;MAEA,IAAMA,GAAA,sBAAsB;IAAA;IAC1B,IACAE,QAAK;MACL,IAAAF,GAAO,iBAAU,GAAQ;QAC1BG,SAAA,GAGK;UACCC,SAAQ,QAAU;UAC1BC,QAAA;UACFG,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["runInNewContext","afterEach","describe","expect","test","vi","generateLite","makeParse","table","_src","path","entry","Error","DIR","restoreAllMocks","files","fixtures","mutations","modelName","handlers","name","paramTypeText","schema","queries","result","dir","parse","Object","keys","sort","toEqual","models","toContain","not","syncedMutations","modelCount","toBe","schemaCount","mutationCount","synced","toBeDefined","grouped","toMatch","queryCount","tableName","primaryKeys","columns","builderText","types","tables","warn","spyOn","console","mockImplementation","source","endsWith","includes","toHaveBeenCalledOnce","toHaveBeenCalledWith","mockRestore","toThrow","empty","dataConfig","instances","project","scope","relatedPaths","relations","sourceTable","targetTable","instance","find","syncTables","supportTables","_context_instances_default","_context_instances","imports","runnable","replace","context","groupedQueries","post","default","_context_instances_control","_context_instances_project","_context_instances1","control"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}