on-zero 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/cjs/cli.cjs +46 -41
  2. package/dist/cjs/cli.native.js +48 -43
  3. package/dist/cjs/cli.native.js.map +1 -1
  4. package/dist/cjs/constants.cjs +14 -12
  5. package/dist/cjs/constants.native.js +14 -12
  6. package/dist/cjs/constants.native.js.map +1 -1
  7. package/dist/cjs/createPermissions.cjs +66 -34
  8. package/dist/cjs/createPermissions.native.js +143 -87
  9. package/dist/cjs/createPermissions.native.js.map +1 -1
  10. package/dist/cjs/createSchemaFromDrizzle.cjs +15 -13
  11. package/dist/cjs/createSchemaFromDrizzle.native.js +15 -13
  12. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  13. package/dist/cjs/createUseQuery.cjs +48 -35
  14. package/dist/cjs/createUseQuery.native.js +52 -38
  15. package/dist/cjs/createUseQuery.native.js.map +1 -1
  16. package/dist/cjs/createZeroClient.cjs +177 -135
  17. package/dist/cjs/createZeroClient.native.js +246 -195
  18. package/dist/cjs/createZeroClient.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.cjs +175 -129
  20. package/dist/cjs/createZeroServer.native.js +170 -138
  21. package/dist/cjs/createZeroServer.native.js.map +1 -1
  22. package/dist/cjs/generate-helpers.cjs +122 -88
  23. package/dist/cjs/generate-helpers.native.js +209 -174
  24. package/dist/cjs/generate-helpers.native.js.map +1 -1
  25. package/dist/cjs/generate-lite.cjs +90 -58
  26. package/dist/cjs/generate-lite.native.js +200 -140
  27. package/dist/cjs/generate-lite.native.js.map +1 -1
  28. package/dist/cjs/generate-lite.test.cjs +229 -192
  29. package/dist/cjs/generate-lite.test.native.js +229 -194
  30. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  31. package/dist/cjs/generate.cjs +455 -291
  32. package/dist/cjs/generate.native.js +747 -565
  33. package/dist/cjs/generate.native.js.map +1 -1
  34. package/dist/cjs/generate.test.cjs +170 -106
  35. package/dist/cjs/generate.test.native.js +171 -107
  36. package/dist/cjs/generate.test.native.js.map +1 -1
  37. package/dist/cjs/helpers/batchQuery.cjs +29 -18
  38. package/dist/cjs/helpers/batchQuery.native.js +36 -21
  39. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  40. package/dist/cjs/helpers/clearZeroClientData.cjs +30 -21
  41. package/dist/cjs/helpers/clearZeroClientData.native.js +42 -33
  42. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  43. package/dist/cjs/helpers/createMutators.cjs +80 -42
  44. package/dist/cjs/helpers/createMutators.native.js +139 -87
  45. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  46. package/dist/cjs/helpers/didRunPermissionCheck.cjs +19 -13
  47. package/dist/cjs/helpers/didRunPermissionCheck.native.js +22 -20
  48. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  49. package/dist/cjs/helpers/ensureLoggedIn.cjs +16 -13
  50. package/dist/cjs/helpers/ensureLoggedIn.native.js +21 -18
  51. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  52. package/dist/cjs/helpers/getAuth.cjs +25 -15
  53. package/dist/cjs/helpers/getAuth.native.js +25 -15
  54. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  55. package/dist/cjs/helpers/mutatorContext.cjs +21 -14
  56. package/dist/cjs/helpers/mutatorContext.native.js +21 -15
  57. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  58. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +126 -81
  59. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +135 -92
  60. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  61. package/dist/cjs/helpers/queryContext.cjs +12 -10
  62. package/dist/cjs/helpers/queryContext.native.js +16 -13
  63. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  64. package/dist/cjs/helpers/showZeroClientError.cjs +24 -19
  65. package/dist/cjs/helpers/showZeroClientError.native.js +38 -34
  66. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  67. package/dist/cjs/helpers/useZeroDebug.cjs +82 -49
  68. package/dist/cjs/helpers/useZeroDebug.native.js +83 -55
  69. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  70. package/dist/cjs/index.cjs +17 -15
  71. package/dist/cjs/index.native.js +17 -15
  72. package/dist/cjs/index.native.js.map +1 -1
  73. package/dist/cjs/modelRegistry.cjs +12 -10
  74. package/dist/cjs/modelRegistry.native.js +12 -10
  75. package/dist/cjs/modelRegistry.native.js.map +1 -1
  76. package/dist/cjs/mutations.cjs +66 -42
  77. package/dist/cjs/mutations.native.js +68 -46
  78. package/dist/cjs/mutations.native.js.map +1 -1
  79. package/dist/cjs/queryRegistry.cjs +13 -10
  80. package/dist/cjs/queryRegistry.native.js +14 -11
  81. package/dist/cjs/queryRegistry.native.js.map +1 -1
  82. package/dist/cjs/resolveQuery.cjs +22 -18
  83. package/dist/cjs/resolveQuery.native.js +32 -28
  84. package/dist/cjs/resolveQuery.native.js.map +1 -1
  85. package/dist/cjs/run.cjs +35 -28
  86. package/dist/cjs/run.native.js +35 -29
  87. package/dist/cjs/run.native.js.map +1 -1
  88. package/dist/cjs/server.cjs +7 -5
  89. package/dist/cjs/serverWhere.cjs +13 -11
  90. package/dist/cjs/serverWhere.native.js +13 -11
  91. package/dist/cjs/serverWhere.native.js.map +1 -1
  92. package/dist/cjs/serverWhere.test.cjs +83 -55
  93. package/dist/cjs/serverWhere.test.native.js +72 -50
  94. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  95. package/dist/cjs/state.cjs +49 -44
  96. package/dist/cjs/state.native.js +56 -53
  97. package/dist/cjs/state.native.js.map +1 -1
  98. package/dist/cjs/types.cjs +7 -5
  99. package/dist/cjs/types.native.js +7 -5
  100. package/dist/cjs/types.native.js.map +1 -1
  101. package/dist/cjs/usePermission.test.cjs +58 -45
  102. package/dist/cjs/usePermission.test.native.js +59 -48
  103. package/dist/cjs/usePermission.test.native.js.map +1 -1
  104. package/dist/cjs/vite-plugin.cjs +41 -21
  105. package/dist/cjs/vite-plugin.native.js +61 -47
  106. package/dist/cjs/vite-plugin.native.js.map +1 -1
  107. package/dist/cjs/where.cjs +39 -24
  108. package/dist/cjs/where.native.js +44 -29
  109. package/dist/cjs/where.native.js.map +1 -1
  110. package/dist/cjs/zeroRunner.cjs +18 -12
  111. package/dist/cjs/zeroRunner.native.js +22 -16
  112. package/dist/cjs/zeroRunner.native.js.map +1 -1
  113. package/dist/cjs/zql.cjs +14 -11
  114. package/dist/cjs/zql.native.js +19 -17
  115. package/dist/cjs/zql.native.js.map +1 -1
  116. package/dist/esm/cli.mjs +43 -38
  117. package/dist/esm/cli.mjs.map +1 -1
  118. package/dist/esm/cli.native.js +44 -39
  119. package/dist/esm/cli.native.js.map +1 -1
  120. package/dist/esm/constants.mjs +2 -2
  121. package/dist/esm/constants.mjs.map +1 -1
  122. package/dist/esm/constants.native.js +2 -2
  123. package/dist/esm/constants.native.js.map +1 -1
  124. package/dist/esm/createPermissions.mjs +48 -18
  125. package/dist/esm/createPermissions.mjs.map +1 -1
  126. package/dist/esm/createPermissions.native.js +125 -71
  127. package/dist/esm/createPermissions.native.js.map +1 -1
  128. package/dist/esm/createUseQuery.mjs +32 -21
  129. package/dist/esm/createUseQuery.mjs.map +1 -1
  130. package/dist/esm/createUseQuery.native.js +36 -24
  131. package/dist/esm/createUseQuery.native.js.map +1 -1
  132. package/dist/esm/createZeroClient.mjs +148 -108
  133. package/dist/esm/createZeroClient.mjs.map +1 -1
  134. package/dist/esm/createZeroClient.native.js +217 -168
  135. package/dist/esm/createZeroClient.native.js.map +1 -1
  136. package/dist/esm/createZeroServer.mjs +148 -104
  137. package/dist/esm/createZeroServer.mjs.map +1 -1
  138. package/dist/esm/createZeroServer.native.js +143 -113
  139. package/dist/esm/createZeroServer.native.js.map +1 -1
  140. package/dist/esm/generate-helpers.mjs +110 -78
  141. package/dist/esm/generate-helpers.mjs.map +1 -1
  142. package/dist/esm/generate-helpers.native.js +197 -164
  143. package/dist/esm/generate-helpers.native.js.map +1 -1
  144. package/dist/esm/generate-lite.mjs +78 -48
  145. package/dist/esm/generate-lite.mjs.map +1 -1
  146. package/dist/esm/generate-lite.native.js +188 -130
  147. package/dist/esm/generate-lite.native.js.map +1 -1
  148. package/dist/esm/generate-lite.test.mjs +227 -190
  149. package/dist/esm/generate-lite.test.mjs.map +1 -1
  150. package/dist/esm/generate-lite.test.native.js +227 -192
  151. package/dist/esm/generate-lite.test.native.js.map +1 -1
  152. package/dist/esm/generate.mjs +427 -265
  153. package/dist/esm/generate.mjs.map +1 -1
  154. package/dist/esm/generate.native.js +718 -538
  155. package/dist/esm/generate.native.js.map +1 -1
  156. package/dist/esm/generate.test.mjs +165 -101
  157. package/dist/esm/generate.test.mjs.map +1 -1
  158. package/dist/esm/generate.test.native.js +165 -101
  159. package/dist/esm/generate.test.native.js.map +1 -1
  160. package/dist/esm/helpers/batchQuery.mjs +17 -8
  161. package/dist/esm/helpers/batchQuery.mjs.map +1 -1
  162. package/dist/esm/helpers/batchQuery.native.js +24 -11
  163. package/dist/esm/helpers/batchQuery.native.js.map +1 -1
  164. package/dist/esm/helpers/clearZeroClientData.mjs +18 -11
  165. package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -1
  166. package/dist/esm/helpers/clearZeroClientData.native.js +30 -23
  167. package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
  168. package/dist/esm/helpers/createMutators.mjs +53 -17
  169. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  170. package/dist/esm/helpers/createMutators.native.js +112 -62
  171. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  172. package/dist/esm/helpers/didRunPermissionCheck.mjs +7 -3
  173. package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -1
  174. package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -9
  175. package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -1
  176. package/dist/esm/helpers/ensureLoggedIn.mjs +2 -1
  177. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  178. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -1
  179. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  180. package/dist/esm/helpers/getAuth.mjs +10 -2
  181. package/dist/esm/helpers/getAuth.mjs.map +1 -1
  182. package/dist/esm/helpers/getAuth.native.js +10 -2
  183. package/dist/esm/helpers/getAuth.native.js.map +1 -1
  184. package/dist/esm/helpers/mutatorContext.mjs +9 -4
  185. package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
  186. package/dist/esm/helpers/mutatorContext.native.js +8 -4
  187. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  188. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +114 -71
  189. package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -1
  190. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +121 -80
  191. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  192. package/dist/esm/helpers/queryContext.native.js +2 -1
  193. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  194. package/dist/esm/helpers/showZeroClientError.mjs +12 -9
  195. package/dist/esm/helpers/showZeroClientError.mjs.map +1 -1
  196. package/dist/esm/helpers/showZeroClientError.native.js +25 -23
  197. package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
  198. package/dist/esm/helpers/useZeroDebug.mjs +67 -36
  199. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
  200. package/dist/esm/helpers/useZeroDebug.native.js +68 -42
  201. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  202. package/dist/esm/mutations.mjs +51 -29
  203. package/dist/esm/mutations.mjs.map +1 -1
  204. package/dist/esm/mutations.native.js +53 -33
  205. package/dist/esm/mutations.native.js.map +1 -1
  206. package/dist/esm/queryRegistry.mjs +1 -0
  207. package/dist/esm/queryRegistry.mjs.map +1 -1
  208. package/dist/esm/queryRegistry.native.js +2 -1
  209. package/dist/esm/queryRegistry.native.js.map +1 -1
  210. package/dist/esm/resolveQuery.mjs +10 -8
  211. package/dist/esm/resolveQuery.mjs.map +1 -1
  212. package/dist/esm/resolveQuery.native.js +20 -18
  213. package/dist/esm/resolveQuery.native.js.map +1 -1
  214. package/dist/esm/run.mjs +21 -16
  215. package/dist/esm/run.mjs.map +1 -1
  216. package/dist/esm/run.native.js +20 -16
  217. package/dist/esm/run.native.js.map +1 -1
  218. package/dist/esm/serverWhere.mjs +1 -1
  219. package/dist/esm/serverWhere.mjs.map +1 -1
  220. package/dist/esm/serverWhere.native.js +1 -1
  221. package/dist/esm/serverWhere.native.js.map +1 -1
  222. package/dist/esm/serverWhere.test.mjs +79 -51
  223. package/dist/esm/serverWhere.test.mjs.map +1 -1
  224. package/dist/esm/serverWhere.test.native.js +68 -46
  225. package/dist/esm/serverWhere.test.native.js.map +1 -1
  226. package/dist/esm/state.mjs +35 -32
  227. package/dist/esm/state.mjs.map +1 -1
  228. package/dist/esm/state.native.js +41 -40
  229. package/dist/esm/state.native.js.map +1 -1
  230. package/dist/esm/usePermission.test.mjs +53 -40
  231. package/dist/esm/usePermission.test.mjs.map +1 -1
  232. package/dist/esm/usePermission.test.native.js +54 -43
  233. package/dist/esm/usePermission.test.native.js.map +1 -1
  234. package/dist/esm/vite-plugin.mjs +27 -9
  235. package/dist/esm/vite-plugin.mjs.map +1 -1
  236. package/dist/esm/vite-plugin.native.js +47 -35
  237. package/dist/esm/vite-plugin.native.js.map +1 -1
  238. package/dist/esm/where.mjs +24 -11
  239. package/dist/esm/where.mjs.map +1 -1
  240. package/dist/esm/where.native.js +29 -16
  241. package/dist/esm/where.native.js.map +1 -1
  242. package/dist/esm/zeroRunner.mjs +6 -2
  243. package/dist/esm/zeroRunner.mjs.map +1 -1
  244. package/dist/esm/zeroRunner.native.js +8 -4
  245. package/dist/esm/zeroRunner.native.js.map +1 -1
  246. package/dist/esm/zql.mjs +2 -1
  247. package/dist/esm/zql.mjs.map +1 -1
  248. package/dist/esm/zql.native.js.map +1 -1
  249. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","formatObjectKey","generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","shouldSkipObjectKey","hash","s","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","f","value","set","path","err","return","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","name","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","call","extractSchemaColumns","_secondParam_type","push","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Boolean","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","join","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","entries","name1","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","tables","sort","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","tableName1","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","hop2","fn2","sf2","df2","tableList","n","relList","generate","after","baseDir","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","generatedDir","queriesDir","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","filesChanged","queryCount","mutationCount","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createHash","existsSync","mkdirSync","readFileSync","readdirSync","writeFileSync","basename","dirname","resolve","formatObjectKey","generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","shouldSkipObjectKey","hash","s","update","digest","generateCache","generateCachePath","getCacheDir","dir","process","cwd","nm","cacheDir","recursive","loadCache","JSON","parse","e","saveCache","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","options","fileMap","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","f","value","set","path","err","return","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","name","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","hasCRUD","columns","primaryKeys","custom","call","extractSchemaColumns","_secondParam_type","push","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","endsWith","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","seen","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Boolean","Void","Undefined","Null","Any","Unknown","Never","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","join","resolveSymbolType","prop2","_prop_declarations","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","entries","name1","getName","propType","isOptional","SymbolFlags","Optional","val","startsWith","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","getNumberIndexType","serializeColumnBuilder","col","zeroType","expr","serverName","optional","generateDrizzleSchemaFile","schema","lines","tableNames","keys","tables","sort","tableName","colEntries","pkArgs","primaryKey","k","relTableNames","relationships","tableName1","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","hopCode","hop2","fn2","sf2","df2","tableList","n","relList","generate","after","baseDir","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","generatedDir","queriesDir","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","filesChanged","queryCount","mutationCount","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2","_loop","file2","filePath2","fileBaseName2","content2","sourceFile2","exportModifier","find","declaration","_param_type"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,15 +6,16 @@ import { generate } from "./generate.mjs";
6
6
  const testDir = join(tmpdir(), "on-zero-test-" + Date.now());
7
7
  beforeEach(() => {
8
8
  mkdirSync(join(testDir, "models"), {
9
- recursive: !0
10
- }), mkdirSync(join(testDir, "queries"), {
11
- recursive: !0
9
+ recursive: true
10
+ });
11
+ mkdirSync(join(testDir, "queries"), {
12
+ recursive: true
12
13
  });
13
14
  });
14
15
  afterEach(() => {
15
16
  rmSync(testDir, {
16
- recursive: !0,
17
- force: !0
17
+ recursive: true,
18
+ force: true
18
19
  });
19
20
  });
20
21
  describe("generate", () => {
@@ -27,7 +28,8 @@ export const schema = table('post', {
27
28
  title: string(),
28
29
  published: boolean(),
29
30
  })
30
- `), writeFileSync(join(testDir, "models/comment.ts"), `
31
+ `);
32
+ writeFileSync(join(testDir, "models/comment.ts"), `
31
33
  import { table, string } from 'on-zero'
32
34
 
33
35
  export const schema = table('comment', {
@@ -38,17 +40,28 @@ export const schema = table('comment', {
38
40
  `);
39
41
  const result = await generate({
40
42
  dir: testDir,
41
- silent: !0
43
+ silent: true
42
44
  });
43
- expect(result.modelCount).toBe(2), expect(result.schemaCount).toBe(2), expect(result.filesChanged).toBeGreaterThan(0), expect(existsSync(join(testDir, "generated/models.ts"))).toBe(!0), expect(existsSync(join(testDir, "generated/types.ts"))).toBe(!0), expect(existsSync(join(testDir, "generated/tables.ts"))).toBe(!0);
45
+ expect(result.modelCount).toBe(2);
46
+ expect(result.schemaCount).toBe(2);
47
+ expect(result.filesChanged).toBeGreaterThan(0);
48
+ expect(existsSync(join(testDir, "generated/models.ts"))).toBe(true);
49
+ expect(existsSync(join(testDir, "generated/types.ts"))).toBe(true);
50
+ expect(existsSync(join(testDir, "generated/tables.ts"))).toBe(true);
44
51
  const modelsContent = readFileSync(join(testDir, "generated/models.ts"), "utf-8");
45
- expect(modelsContent).toContain("import * as comment from '../models/comment'"), expect(modelsContent).toContain("import * as post from '../models/post'"), expect(modelsContent).toContain("export const models = {");
52
+ expect(modelsContent).toContain("import * as comment from '../models/comment'");
53
+ expect(modelsContent).toContain("import * as post from '../models/post'");
54
+ expect(modelsContent).toContain("export const models = {");
46
55
  const typesContent = readFileSync(join(testDir, "generated/types.ts"), "utf-8");
47
- expect(typesContent).toContain("export type Post = TableInsertRow<typeof schema.post>"), expect(typesContent).toContain("export type Comment = TableInsertRow<typeof schema.comment>");
56
+ expect(typesContent).toContain("export type Post = TableInsertRow<typeof schema.post>");
57
+ expect(typesContent).toContain("export type Comment = TableInsertRow<typeof schema.comment>");
48
58
  const tablesContent = readFileSync(join(testDir, "generated/tables.ts"), "utf-8");
49
- expect(tablesContent).toContain("export { schema as post } from '../models/post'"), expect(tablesContent).toContain("export { schema as comment } from '../models/comment'");
50
- }), test("generates query validators from query files", async () => {
51
- writeFileSync(join(testDir, "models/post.ts"), "export const schema = table('post', { id: string() })"), writeFileSync(join(testDir, "queries/post.ts"), `
59
+ expect(tablesContent).toContain("export { schema as post } from '../models/post'");
60
+ expect(tablesContent).toContain("export { schema as comment } from '../models/comment'");
61
+ });
62
+ test("generates query validators from query files", async () => {
63
+ writeFileSync(join(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
64
+ writeFileSync(join(testDir, "queries/post.ts"), `
52
65
  import { zero } from '../zero'
53
66
 
54
67
  export const allPosts = () => zero.query.post
@@ -60,53 +73,67 @@ export const postsByAuthor = ({ authorId, limit }: { authorId: string; limit?: n
60
73
  `);
61
74
  const result = await generate({
62
75
  dir: testDir,
63
- silent: !0
76
+ silent: true
64
77
  });
65
- expect(result.queryCount).toBe(3), expect(existsSync(join(testDir, "generated/groupedQueries.ts"))).toBe(!0), expect(existsSync(join(testDir, "generated/syncedQueries.ts"))).toBe(!0);
78
+ expect(result.queryCount).toBe(3);
79
+ expect(existsSync(join(testDir, "generated/groupedQueries.ts"))).toBe(true);
80
+ expect(existsSync(join(testDir, "generated/syncedQueries.ts"))).toBe(true);
66
81
  const groupedContent = readFileSync(join(testDir, "generated/groupedQueries.ts"), "utf-8");
67
82
  expect(groupedContent).toContain("export * as post from '../queries/post'");
68
83
  const syncedContent = readFileSync(join(testDir, "generated/syncedQueries.ts"), "utf-8");
69
- expect(syncedContent).toContain("allPosts: defineQuery"), expect(syncedContent).toContain("postById: defineQuery"), expect(syncedContent).toContain("postsByAuthor: defineQuery"), expect(syncedContent).toContain("v.object");
70
- }), test("skips permission exports in queries", async () => {
71
- writeFileSync(join(testDir, "models/post.ts"), "export const schema = table('post', { id: string() })"), writeFileSync(join(testDir, "queries/post.ts"), `
84
+ expect(syncedContent).toContain("allPosts: defineQuery");
85
+ expect(syncedContent).toContain("postById: defineQuery");
86
+ expect(syncedContent).toContain("postsByAuthor: defineQuery");
87
+ expect(syncedContent).toContain("v.object");
88
+ });
89
+ test("skips permission exports in queries", async () => {
90
+ writeFileSync(join(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
91
+ writeFileSync(join(testDir, "queries/post.ts"), `
72
92
  export const permission = () => ({ canRead: true })
73
93
  export const allPosts = () => zero.query.post
74
94
  `);
75
95
  const result = await generate({
76
96
  dir: testDir,
77
- silent: !0
97
+ silent: true
78
98
  });
79
99
  expect(result.queryCount).toBe(1);
80
100
  const syncedContent = readFileSync(join(testDir, "generated/syncedQueries.ts"), "utf-8");
81
- expect(syncedContent).toContain("allPosts"), expect(syncedContent).not.toContain("permission:");
82
- }), test("handles user model special case (userPublic)", async () => {
83
- writeFileSync(join(testDir, "models/user.ts"), "export const schema = table('user', { id: string(), name: string() })"), await generate({
101
+ expect(syncedContent).toContain("allPosts");
102
+ expect(syncedContent).not.toContain("permission:");
103
+ });
104
+ test("handles user model special case (userPublic)", async () => {
105
+ writeFileSync(join(testDir, "models/user.ts"), `export const schema = table('user', { id: string(), name: string() })`);
106
+ await generate({
84
107
  dir: testDir,
85
- silent: !0
108
+ silent: true
86
109
  });
87
110
  const modelsContent = readFileSync(join(testDir, "generated/models.ts"), "utf-8");
88
- expect(modelsContent).toContain("import * as userPublic from '../models/user'"), expect(modelsContent).toContain("userPublic,");
111
+ expect(modelsContent).toContain("import * as userPublic from '../models/user'");
112
+ expect(modelsContent).toContain("userPublic,");
89
113
  const typesContent = readFileSync(join(testDir, "generated/types.ts"), "utf-8");
90
114
  expect(typesContent).toContain("typeof schema.userPublic");
91
- }), test("runs after command when files change", async () => {
92
- writeFileSync(join(testDir, "models/post.ts"), "export const schema = table('post', { id: string() })");
93
- const markerFile = join(testDir, "after-ran"),
94
- result = await generate({
95
- dir: testDir,
96
- silent: !0,
97
- after: `touch ${markerFile}`
98
- });
99
- expect(result.filesChanged).toBeGreaterThan(0), expect(existsSync(markerFile)).toBe(!0);
100
- }), test("does not regenerate when nothing changed", async () => {
101
- writeFileSync(join(testDir, "models/post.ts"), "export const schema = table('post', { id: string() })");
115
+ });
116
+ test("runs after command when files change", async () => {
117
+ writeFileSync(join(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
118
+ const markerFile = join(testDir, "after-ran");
119
+ const result = await generate({
120
+ dir: testDir,
121
+ silent: true,
122
+ after: `touch ${markerFile}`
123
+ });
124
+ expect(result.filesChanged).toBeGreaterThan(0);
125
+ expect(existsSync(markerFile)).toBe(true);
126
+ });
127
+ test("does not regenerate when nothing changed", async () => {
128
+ writeFileSync(join(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
102
129
  const first = await generate({
103
130
  dir: testDir,
104
- silent: !0
131
+ silent: true
105
132
  });
106
133
  expect(first.filesChanged).toBeGreaterThan(0);
107
134
  const second = await generate({
108
135
  dir: testDir,
109
- silent: !0
136
+ silent: true
110
137
  });
111
138
  expect(second.filesChanged).toBe(0);
112
139
  });
@@ -132,12 +159,16 @@ export const mutate = mutations(schema, perm, {
132
159
  `);
133
160
  const result = await generate({
134
161
  dir: testDir,
135
- silent: !0
162
+ silent: true
136
163
  });
137
- expect(result.mutationCount).toBeGreaterThan(0), expect(existsSync(join(testDir, "generated/syncedMutations.ts"))).toBe(!0);
164
+ expect(result.mutationCount).toBeGreaterThan(0);
165
+ expect(existsSync(join(testDir, "generated/syncedMutations.ts"))).toBe(true);
138
166
  const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
139
- expect(content).toContain("archive"), expect(content).toContain("v.object"), expect(content).toContain("v.string()");
140
- }), test("generates CRUD validators from schema columns", async () => {
167
+ expect(content).toContain("archive");
168
+ expect(content).toContain("v.object");
169
+ expect(content).toContain("v.string()");
170
+ });
171
+ test("generates CRUD validators from schema columns", async () => {
141
172
  writeFileSync(join(testDir, "models/task.ts"), `
142
173
  import { table, string, number, boolean } from 'on-zero'
143
174
  import { mutations, serverWhere } from 'on-zero'
@@ -155,12 +186,16 @@ const perm = serverWhere('task', () => true)
155
186
  export const mutate = mutations(schema, perm)
156
187
  `);
157
188
  const result = await generate({
158
- dir: testDir,
159
- silent: !0
160
- }),
161
- content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
162
- expect(content).toContain("insert:"), expect(content).toMatch(/insert:.*v\.object/), expect(content).toContain("update:"), expect(content).toContain("delete:");
163
- }), test("treats models without export const mutate as empty mutations", async () => {
189
+ dir: testDir,
190
+ silent: true
191
+ });
192
+ const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
193
+ expect(content).toContain("insert:");
194
+ expect(content).toMatch(/insert:.*v\.object/);
195
+ expect(content).toContain("update:");
196
+ expect(content).toContain("delete:");
197
+ });
198
+ test("treats models without export const mutate as empty mutations", async () => {
164
199
  writeFileSync(join(testDir, "models/readonly.ts"), `
165
200
  import { table, string } from 'on-zero'
166
201
 
@@ -171,12 +206,13 @@ export const schema = table('readonly').columns({
171
206
  `);
172
207
  const result = await generate({
173
208
  dir: testDir,
174
- silent: !0
209
+ silent: true
175
210
  });
176
211
  expect(result.mutationCount).toBe(0);
177
212
  const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
178
213
  expect(content).toContain("readonly: {");
179
- }), test("extracts custom mutations from bare mutations({})", async () => {
214
+ });
215
+ test("extracts custom mutations from bare mutations({})", async () => {
180
216
  writeFileSync(join(testDir, "models/admin.ts"), `
181
217
  import { mutations } from 'on-zero'
182
218
 
@@ -187,12 +223,14 @@ export const mutate = mutations({
187
223
  })
188
224
  `);
189
225
  const result = await generate({
190
- dir: testDir,
191
- silent: !0
192
- }),
193
- content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
194
- expect(content).toContain("reset"), expect(content).toContain("v.string()");
195
- }), test("handles mutations with only context param (void)", async () => {
226
+ dir: testDir,
227
+ silent: true
228
+ });
229
+ const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
230
+ expect(content).toContain("reset");
231
+ expect(content).toContain("v.string()");
232
+ });
233
+ test("handles mutations with only context param (void)", async () => {
196
234
  writeFileSync(join(testDir, "models/user.ts"), `
197
235
  import { table, string } from 'on-zero'
198
236
  import { mutations, serverWhere } from 'on-zero'
@@ -211,12 +249,13 @@ export const mutate = mutations(schema, perm, {
211
249
  })
212
250
  `);
213
251
  const result = await generate({
214
- dir: testDir,
215
- silent: !0
216
- }),
217
- content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
252
+ dir: testDir,
253
+ silent: true
254
+ });
255
+ const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
218
256
  expect(content).toContain("finishOnboarding");
219
- }), test("handles primitive param type", async () => {
257
+ });
258
+ test("handles primitive param type", async () => {
220
259
  writeFileSync(join(testDir, "models/user.ts"), `
221
260
  import { table, string } from 'on-zero'
222
261
  import { mutations, serverWhere } from 'on-zero'
@@ -235,12 +274,14 @@ export const mutate = mutations(schema, perm, {
235
274
  })
236
275
  `);
237
276
  const result = await generate({
238
- dir: testDir,
239
- silent: !0
240
- }),
241
- content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
242
- expect(content).toContain("completeSignup"), expect(content).toContain("v.string()");
243
- }), test("handles array param type", async () => {
277
+ dir: testDir,
278
+ silent: true
279
+ });
280
+ const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
281
+ expect(content).toContain("completeSignup");
282
+ expect(content).toContain("v.string()");
283
+ });
284
+ test("handles array param type", async () => {
244
285
  writeFileSync(join(testDir, "models/batch.ts"), `
245
286
  import { mutations } from 'on-zero'
246
287
 
@@ -251,12 +292,14 @@ export const mutate = mutations({
251
292
  })
252
293
  `);
253
294
  const result = await generate({
254
- dir: testDir,
255
- silent: !0
256
- }),
257
- content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
258
- expect(content).toContain("bulkDelete"), expect(content).toContain("v.array");
259
- }), test("populates mutationCount and caching works", async () => {
295
+ dir: testDir,
296
+ silent: true
297
+ });
298
+ const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
299
+ expect(content).toContain("bulkDelete");
300
+ expect(content).toContain("v.array");
301
+ });
302
+ test("populates mutationCount and caching works", async () => {
260
303
  writeFileSync(join(testDir, "models/item.ts"), `
261
304
  import { table, string } from 'on-zero'
262
305
  import { mutations, serverWhere } from 'on-zero'
@@ -276,14 +319,15 @@ export const mutate = mutations(schema, perm, {
276
319
  `);
277
320
  const first = await generate({
278
321
  dir: testDir,
279
- silent: !0
322
+ silent: true
280
323
  });
281
324
  expect(first.mutationCount).toBeGreaterThan(0);
282
325
  const second = await generate({
283
326
  dir: testDir,
284
- silent: !0
327
+ silent: true
285
328
  });
286
- expect(second.filesChanged).toBe(0), expect(second.mutationCount).toBe(first.mutationCount);
329
+ expect(second.filesChanged).toBe(0);
330
+ expect(second.mutationCount).toBe(first.mutationCount);
287
331
  });
288
332
  });
289
333
  describe("type resolution", () => {
@@ -294,7 +338,8 @@ export type ArchiveParams = {
294
338
  reason: string
295
339
  archived: boolean
296
340
  }
297
- `), writeFileSync(join(testDir, "models/post.ts"), `
341
+ `);
342
+ writeFileSync(join(testDir, "models/post.ts"), `
298
343
  import { table, string, boolean } from 'on-zero'
299
344
  import { mutations } from 'on-zero'
300
345
  import type { ArchiveParams } from './types'
@@ -306,12 +351,16 @@ export const mutate = mutations({
306
351
  })
307
352
  `);
308
353
  const result = await generate({
309
- dir: testDir,
310
- silent: !0
311
- }),
312
- content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
313
- expect(content).toContain("v.string()"), expect(content).toContain("v.boolean()"), expect(content).toContain("reason"), expect(content).toContain("archived");
314
- }), test("resolves utility types like Pick", async () => {
354
+ dir: testDir,
355
+ silent: true
356
+ });
357
+ const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
358
+ expect(content).toContain("v.string()");
359
+ expect(content).toContain("v.boolean()");
360
+ expect(content).toContain("reason");
361
+ expect(content).toContain("archived");
362
+ });
363
+ test("resolves utility types like Pick", async () => {
315
364
  writeFileSync(join(testDir, "models/types.ts"), `
316
365
  export type Item = {
317
366
  id: string
@@ -319,7 +368,8 @@ export type Item = {
319
368
  description: string
320
369
  count: number
321
370
  }
322
- `), writeFileSync(join(testDir, "models/item.ts"), `
371
+ `);
372
+ writeFileSync(join(testDir, "models/item.ts"), `
323
373
  import { table, string, number } from 'on-zero'
324
374
  import { mutations, serverWhere } from 'on-zero'
325
375
  import type { Item } from './types'
@@ -340,18 +390,23 @@ export const mutate = mutations(schema, perm, {
340
390
  })
341
391
  `);
342
392
  const result = await generate({
343
- dir: testDir,
344
- silent: !0
345
- }),
346
- content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
347
- expect(content).toContain("id"), expect(content).toContain("name"), expect(content).not.toMatch(/rename:[\s\S]*description/), expect(content).not.toMatch(/rename:[\s\S]*count/);
348
- }), test("skips symbol-keyed properties when resolving imported mutation param types", async () => {
393
+ dir: testDir,
394
+ silent: true
395
+ });
396
+ const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
397
+ expect(content).toContain("id");
398
+ expect(content).toContain("name");
399
+ expect(content).not.toMatch(/rename:[\s\S]*description/);
400
+ expect(content).not.toMatch(/rename:[\s\S]*count/);
401
+ });
402
+ test("skips symbol-keyed properties when resolving imported mutation param types", async () => {
349
403
  writeFileSync(join(testDir, "models/types.ts"), `
350
404
  export type WeirdParams = {
351
405
  id: string
352
406
  [Symbol.iterator]?: () => Iterator<string>
353
407
  }
354
- `), writeFileSync(join(testDir, "models/item.ts"), `
408
+ `);
409
+ writeFileSync(join(testDir, "models/item.ts"), `
355
410
  import { mutations } from 'on-zero'
356
411
  import type { WeirdParams } from './types'
357
412
 
@@ -360,29 +415,38 @@ export const mutate = mutations({
360
415
  await tx.mutate.item.delete({ id: params.id })
361
416
  },
362
417
  })
363
- `), await generate({
418
+ `);
419
+ await generate({
364
420
  dir: testDir,
365
- silent: !0
421
+ silent: true
366
422
  });
367
423
  const content = readFileSync(join(testDir, "generated/syncedMutations.ts"), "utf-8");
368
- expect(content).toContain("run"), expect(content).toContain("id: v.string()"), expect(content).not.toContain("__@iterator");
369
- }), test("resolves imported types in query params", async () => {
370
- writeFileSync(join(testDir, "models/post.ts"), "export const schema = table('post', { id: string() })"), writeFileSync(join(testDir, "queries/types.ts"), `
424
+ expect(content).toContain("run");
425
+ expect(content).toContain("id: v.string()");
426
+ expect(content).not.toContain("__@iterator");
427
+ });
428
+ test("resolves imported types in query params", async () => {
429
+ writeFileSync(join(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
430
+ writeFileSync(join(testDir, "queries/types.ts"), `
371
431
  export type PostFilter = {
372
432
  authorId: string
373
433
  published: boolean
374
434
  }
375
- `), writeFileSync(join(testDir, "queries/post.ts"), `
435
+ `);
436
+ writeFileSync(join(testDir, "queries/post.ts"), `
376
437
  import type { PostFilter } from './types'
377
438
 
378
439
  export const filteredPosts = (filter: PostFilter) => zero.query.post
379
440
  `);
380
441
  const result = await generate({
381
- dir: testDir,
382
- silent: !0
383
- }),
384
- content = readFileSync(join(testDir, "generated/syncedQueries.ts"), "utf-8");
385
- expect(content).toContain("filteredPosts"), expect(content).toContain("v.object"), expect(content).toContain("authorId"), expect(content).toContain("v.boolean()");
442
+ dir: testDir,
443
+ silent: true
444
+ });
445
+ const content = readFileSync(join(testDir, "generated/syncedQueries.ts"), "utf-8");
446
+ expect(content).toContain("filteredPosts");
447
+ expect(content).toContain("v.object");
448
+ expect(content).toContain("authorId");
449
+ expect(content).toContain("v.boolean()");
386
450
  });
387
451
  });
388
452
  //# sourceMappingURL=generate.test.mjs.map