@dbml/core 10.3.0-alpha.0 → 10.3.0-alpha.2

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 (414) hide show
  1. package/lib/export/DbmlExporter.cjs +13 -13
  2. package/lib/export/DbmlExporter.mjs +88 -84
  3. package/lib/export/MysqlExporter.cjs +8 -8
  4. package/lib/export/MysqlExporter.mjs +54 -50
  5. package/lib/export/OracleExporter.cjs +7 -7
  6. package/lib/export/OracleExporter.mjs +79 -74
  7. package/lib/export/PostgresExporter.cjs +9 -9
  8. package/lib/export/PostgresExporter.mjs +82 -78
  9. package/lib/export/SqlServerExporter.cjs +11 -11
  10. package/lib/export/SqlServerExporter.mjs +64 -60
  11. package/lib/model_structure/database.cjs +1 -1
  12. package/lib/model_structure/database.mjs +56 -53
  13. package/lib/model_structure/dep.cjs +1 -1
  14. package/lib/model_structure/dep.mjs +11 -9
  15. package/lib/model_structure/enum.cjs +1 -1
  16. package/lib/model_structure/enum.mjs +15 -13
  17. package/lib/model_structure/enumValue.cjs +1 -1
  18. package/lib/model_structure/enumValue.mjs +8 -6
  19. package/lib/model_structure/field.cjs +1 -1
  20. package/lib/model_structure/field.mjs +10 -8
  21. package/lib/model_structure/schema.cjs +1 -1
  22. package/lib/model_structure/schema.mjs +25 -23
  23. package/lib/model_structure/table.cjs +1 -1
  24. package/lib/model_structure/table.mjs +43 -40
  25. package/lib/model_structure/tableGroup.cjs +1 -1
  26. package/lib/model_structure/tableGroup.mjs +11 -9
  27. package/lib/model_structure/tablePartial.cjs +1 -1
  28. package/lib/model_structure/tablePartial.mjs +8 -6
  29. package/lib/node_modules/lodash-es/_DataView.cjs +1 -0
  30. package/lib/node_modules/lodash-es/_DataView.mjs +10 -0
  31. package/lib/node_modules/lodash-es/_Hash.cjs +1 -0
  32. package/lib/node_modules/lodash-es/_Hash.mjs +20 -0
  33. package/lib/node_modules/lodash-es/_ListCache.cjs +1 -0
  34. package/lib/node_modules/lodash-es/_ListCache.mjs +20 -0
  35. package/lib/node_modules/lodash-es/_Map.cjs +1 -0
  36. package/lib/node_modules/lodash-es/_Map.mjs +10 -0
  37. package/lib/node_modules/lodash-es/_MapCache.cjs +1 -0
  38. package/lib/node_modules/lodash-es/_MapCache.mjs +20 -0
  39. package/lib/node_modules/lodash-es/_Promise.cjs +1 -0
  40. package/lib/node_modules/lodash-es/_Promise.mjs +10 -0
  41. package/lib/node_modules/lodash-es/_Set.cjs +1 -0
  42. package/lib/node_modules/lodash-es/_Set.mjs +10 -0
  43. package/lib/node_modules/lodash-es/_SetCache.cjs +1 -0
  44. package/lib/node_modules/lodash-es/_SetCache.mjs +15 -0
  45. package/lib/node_modules/lodash-es/_Stack.cjs +1 -0
  46. package/lib/node_modules/lodash-es/_Stack.mjs +18 -0
  47. package/lib/node_modules/lodash-es/_Symbol.cjs +1 -0
  48. package/lib/node_modules/lodash-es/_Symbol.mjs +9 -0
  49. package/lib/node_modules/lodash-es/_Uint8Array.cjs +1 -0
  50. package/lib/node_modules/lodash-es/_Uint8Array.mjs +9 -0
  51. package/lib/node_modules/lodash-es/_WeakMap.cjs +1 -0
  52. package/lib/node_modules/lodash-es/_WeakMap.mjs +10 -0
  53. package/lib/node_modules/lodash-es/_arrayAggregator.cjs +1 -0
  54. package/lib/node_modules/lodash-es/_arrayAggregator.mjs +13 -0
  55. package/lib/node_modules/lodash-es/_arrayEach.cjs +1 -0
  56. package/lib/node_modules/lodash-es/_arrayEach.mjs +10 -0
  57. package/lib/node_modules/lodash-es/_arrayFilter.cjs +1 -0
  58. package/lib/node_modules/lodash-es/_arrayFilter.mjs +13 -0
  59. package/lib/node_modules/lodash-es/_arrayLikeKeys.cjs +1 -0
  60. package/lib/node_modules/lodash-es/_arrayLikeKeys.mjs +19 -0
  61. package/lib/node_modules/lodash-es/_arrayMap.cjs +1 -0
  62. package/lib/node_modules/lodash-es/_arrayMap.mjs +10 -0
  63. package/lib/node_modules/lodash-es/_arrayPush.cjs +1 -0
  64. package/lib/node_modules/lodash-es/_arrayPush.mjs +10 -0
  65. package/lib/node_modules/lodash-es/_arrayReduce.cjs +1 -0
  66. package/lib/node_modules/lodash-es/_arrayReduce.mjs +11 -0
  67. package/lib/node_modules/lodash-es/_arraySome.cjs +1 -0
  68. package/lib/node_modules/lodash-es/_arraySome.mjs +10 -0
  69. package/lib/node_modules/lodash-es/_asciiToArray.cjs +1 -0
  70. package/lib/node_modules/lodash-es/_asciiToArray.mjs +9 -0
  71. package/lib/node_modules/lodash-es/_assocIndexOf.cjs +1 -0
  72. package/lib/node_modules/lodash-es/_assocIndexOf.mjs +13 -0
  73. package/lib/node_modules/lodash-es/_baseAggregator.cjs +1 -0
  74. package/lib/node_modules/lodash-es/_baseAggregator.mjs +14 -0
  75. package/lib/node_modules/lodash-es/_baseAssignValue.cjs +1 -0
  76. package/lib/node_modules/lodash-es/_baseAssignValue.mjs +17 -0
  77. package/lib/node_modules/lodash-es/_baseEach.cjs +1 -0
  78. package/lib/node_modules/lodash-es/_baseEach.mjs +10 -0
  79. package/lib/node_modules/lodash-es/_baseFlatten.cjs +1 -0
  80. package/lib/node_modules/lodash-es/_baseFlatten.mjs +18 -0
  81. package/lib/node_modules/lodash-es/_baseFor.cjs +1 -0
  82. package/lib/node_modules/lodash-es/_baseFor.mjs +9 -0
  83. package/lib/node_modules/lodash-es/_baseForOwn.cjs +1 -0
  84. package/lib/node_modules/lodash-es/_baseForOwn.mjs +13 -0
  85. package/lib/node_modules/lodash-es/_baseGet.cjs +1 -0
  86. package/lib/node_modules/lodash-es/_baseGet.mjs +15 -0
  87. package/lib/node_modules/lodash-es/_baseGetAllKeys.cjs +1 -0
  88. package/lib/node_modules/lodash-es/_baseGetAllKeys.mjs +14 -0
  89. package/lib/node_modules/lodash-es/_baseGetTag.cjs +1 -0
  90. package/lib/node_modules/lodash-es/_baseGetTag.mjs +14 -0
  91. package/lib/node_modules/lodash-es/_baseHasIn.cjs +1 -0
  92. package/lib/node_modules/lodash-es/_baseHasIn.mjs +9 -0
  93. package/lib/node_modules/lodash-es/_baseIsArguments.cjs +1 -0
  94. package/lib/node_modules/lodash-es/_baseIsArguments.mjs +13 -0
  95. package/lib/node_modules/lodash-es/_baseIsEqual.cjs +1 -0
  96. package/lib/node_modules/lodash-es/_baseIsEqual.mjs +13 -0
  97. package/lib/node_modules/lodash-es/_baseIsEqualDeep.cjs +1 -0
  98. package/lib/node_modules/lodash-es/_baseIsEqualDeep.mjs +34 -0
  99. package/lib/node_modules/lodash-es/_baseIsMatch.cjs +1 -0
  100. package/lib/node_modules/lodash-es/_baseIsMatch.mjs +30 -0
  101. package/lib/node_modules/lodash-es/_baseIsNative.cjs +1 -0
  102. package/lib/node_modules/lodash-es/_baseIsNative.mjs +15 -0
  103. package/lib/node_modules/lodash-es/_baseIsTypedArray.cjs +1 -0
  104. package/lib/node_modules/lodash-es/_baseIsTypedArray.mjs +14 -0
  105. package/lib/node_modules/lodash-es/_baseIteratee.cjs +1 -0
  106. package/lib/node_modules/lodash-es/_baseIteratee.mjs +16 -0
  107. package/lib/node_modules/lodash-es/_baseKeys.cjs +1 -0
  108. package/lib/node_modules/lodash-es/_baseKeys.mjs +16 -0
  109. package/lib/node_modules/lodash-es/_baseMatches.cjs +1 -0
  110. package/lib/node_modules/lodash-es/_baseMatches.mjs +17 -0
  111. package/lib/node_modules/lodash-es/_baseMatchesProperty.cjs +1 -0
  112. package/lib/node_modules/lodash-es/_baseMatchesProperty.mjs +21 -0
  113. package/lib/node_modules/lodash-es/_baseNth.cjs +1 -0
  114. package/lib/node_modules/lodash-es/_baseNth.mjs +13 -0
  115. package/lib/node_modules/lodash-es/_baseProperty.cjs +1 -0
  116. package/lib/node_modules/lodash-es/_baseProperty.mjs +11 -0
  117. package/lib/node_modules/lodash-es/_basePropertyDeep.cjs +1 -0
  118. package/lib/node_modules/lodash-es/_basePropertyDeep.mjs +14 -0
  119. package/lib/node_modules/lodash-es/_baseReduce.cjs +1 -0
  120. package/lib/node_modules/lodash-es/_baseReduce.mjs +11 -0
  121. package/lib/node_modules/lodash-es/_baseSlice.cjs +1 -0
  122. package/lib/node_modules/lodash-es/_baseSlice.mjs +12 -0
  123. package/lib/node_modules/lodash-es/_baseTimes.cjs +1 -0
  124. package/lib/node_modules/lodash-es/_baseTimes.mjs +10 -0
  125. package/lib/node_modules/lodash-es/_baseToString.cjs +1 -0
  126. package/lib/node_modules/lodash-es/_baseToString.mjs +19 -0
  127. package/lib/node_modules/lodash-es/_baseTrim.cjs +1 -0
  128. package/lib/node_modules/lodash-es/_baseTrim.mjs +12 -0
  129. package/lib/node_modules/lodash-es/_baseUnary.cjs +1 -0
  130. package/lib/node_modules/lodash-es/_baseUnary.mjs +11 -0
  131. package/lib/node_modules/lodash-es/_cacheHas.cjs +1 -0
  132. package/lib/node_modules/lodash-es/_cacheHas.mjs +9 -0
  133. package/lib/node_modules/lodash-es/_castFunction.cjs +1 -0
  134. package/lib/node_modules/lodash-es/_castFunction.mjs +12 -0
  135. package/lib/node_modules/lodash-es/_castPath.cjs +1 -0
  136. package/lib/node_modules/lodash-es/_castPath.mjs +15 -0
  137. package/lib/node_modules/lodash-es/_castSlice.cjs +1 -0
  138. package/lib/node_modules/lodash-es/_castSlice.mjs +13 -0
  139. package/lib/node_modules/lodash-es/_copyArray.cjs +1 -0
  140. package/lib/node_modules/lodash-es/_copyArray.mjs +11 -0
  141. package/lib/node_modules/lodash-es/_coreJsData.cjs +1 -0
  142. package/lib/node_modules/lodash-es/_coreJsData.mjs +9 -0
  143. package/lib/node_modules/lodash-es/_createAggregator.cjs +1 -0
  144. package/lib/node_modules/lodash-es/_createAggregator.mjs +18 -0
  145. package/lib/node_modules/lodash-es/_createBaseEach.cjs +1 -0
  146. package/lib/node_modules/lodash-es/_createBaseEach.mjs +17 -0
  147. package/lib/node_modules/lodash-es/_createBaseFor.cjs +1 -0
  148. package/lib/node_modules/lodash-es/_createBaseFor.mjs +15 -0
  149. package/lib/node_modules/lodash-es/_createCaseFirst.cjs +1 -0
  150. package/lib/node_modules/lodash-es/_createCaseFirst.mjs +19 -0
  151. package/lib/node_modules/lodash-es/_defineProperty.cjs +1 -0
  152. package/lib/node_modules/lodash-es/_defineProperty.mjs +14 -0
  153. package/lib/node_modules/lodash-es/_equalArrays.cjs +1 -0
  154. package/lib/node_modules/lodash-es/_equalArrays.mjs +39 -0
  155. package/lib/node_modules/lodash-es/_equalByTag.cjs +1 -0
  156. package/lib/node_modules/lodash-es/_equalByTag.mjs +39 -0
  157. package/lib/node_modules/lodash-es/_equalObjects.cjs +1 -0
  158. package/lib/node_modules/lodash-es/_equalObjects.mjs +36 -0
  159. package/lib/node_modules/lodash-es/_freeGlobal.cjs +1 -0
  160. package/lib/node_modules/lodash-es/_freeGlobal.mjs +8 -0
  161. package/lib/node_modules/lodash-es/_getAllKeys.cjs +1 -0
  162. package/lib/node_modules/lodash-es/_getAllKeys.mjs +14 -0
  163. package/lib/node_modules/lodash-es/_getMapData.cjs +1 -0
  164. package/lib/node_modules/lodash-es/_getMapData.mjs +13 -0
  165. package/lib/node_modules/lodash-es/_getMatchData.cjs +1 -0
  166. package/lib/node_modules/lodash-es/_getMatchData.mjs +21 -0
  167. package/lib/node_modules/lodash-es/_getNative.cjs +1 -0
  168. package/lib/node_modules/lodash-es/_getNative.mjs +14 -0
  169. package/lib/node_modules/lodash-es/_getRawTag.cjs +1 -0
  170. package/lib/node_modules/lodash-es/_getRawTag.mjs +18 -0
  171. package/lib/node_modules/lodash-es/_getSymbols.cjs +1 -0
  172. package/lib/node_modules/lodash-es/_getSymbols.mjs +14 -0
  173. package/lib/node_modules/lodash-es/_getTag.cjs +1 -0
  174. package/lib/node_modules/lodash-es/_getTag.mjs +25 -0
  175. package/lib/node_modules/lodash-es/_getValue.cjs +1 -0
  176. package/lib/node_modules/lodash-es/_getValue.mjs +9 -0
  177. package/lib/node_modules/lodash-es/_hasPath.cjs +1 -0
  178. package/lib/node_modules/lodash-es/_hasPath.mjs +23 -0
  179. package/lib/node_modules/lodash-es/_hasUnicode.cjs +1 -0
  180. package/lib/node_modules/lodash-es/_hasUnicode.mjs +11 -0
  181. package/lib/node_modules/lodash-es/_hashClear.cjs +1 -0
  182. package/lib/node_modules/lodash-es/_hashClear.mjs +12 -0
  183. package/lib/node_modules/lodash-es/_hashDelete.cjs +1 -0
  184. package/lib/node_modules/lodash-es/_hashDelete.mjs +10 -0
  185. package/lib/node_modules/lodash-es/_hashGet.cjs +1 -0
  186. package/lib/node_modules/lodash-es/_hashGet.mjs +17 -0
  187. package/lib/node_modules/lodash-es/_hashHas.cjs +1 -0
  188. package/lib/node_modules/lodash-es/_hashHas.mjs +13 -0
  189. package/lib/node_modules/lodash-es/_hashSet.cjs +1 -0
  190. package/lib/node_modules/lodash-es/_hashSet.mjs +13 -0
  191. package/lib/node_modules/lodash-es/_isFlattenable.cjs +1 -0
  192. package/lib/node_modules/lodash-es/_isFlattenable.mjs +14 -0
  193. package/lib/node_modules/lodash-es/_isIndex.cjs +1 -0
  194. package/lib/node_modules/lodash-es/_isIndex.mjs +12 -0
  195. package/lib/node_modules/lodash-es/_isKey.cjs +1 -0
  196. package/lib/node_modules/lodash-es/_isKey.mjs +15 -0
  197. package/lib/node_modules/lodash-es/_isKeyable.cjs +1 -0
  198. package/lib/node_modules/lodash-es/_isKeyable.mjs +10 -0
  199. package/lib/node_modules/lodash-es/_isMasked.cjs +1 -0
  200. package/lib/node_modules/lodash-es/_isMasked.mjs +15 -0
  201. package/lib/node_modules/lodash-es/_isPrototype.cjs +1 -0
  202. package/lib/node_modules/lodash-es/_isPrototype.mjs +12 -0
  203. package/lib/node_modules/lodash-es/_isStrictComparable.cjs +1 -0
  204. package/lib/node_modules/lodash-es/_isStrictComparable.mjs +12 -0
  205. package/lib/node_modules/lodash-es/_listCacheClear.cjs +1 -0
  206. package/lib/node_modules/lodash-es/_listCacheClear.mjs +9 -0
  207. package/lib/node_modules/lodash-es/_listCacheDelete.cjs +1 -0
  208. package/lib/node_modules/lodash-es/_listCacheDelete.mjs +13 -0
  209. package/lib/node_modules/lodash-es/_listCacheGet.cjs +1 -0
  210. package/lib/node_modules/lodash-es/_listCacheGet.mjs +13 -0
  211. package/lib/node_modules/lodash-es/_listCacheHas.cjs +1 -0
  212. package/lib/node_modules/lodash-es/_listCacheHas.mjs +12 -0
  213. package/lib/node_modules/lodash-es/_listCacheSet.cjs +1 -0
  214. package/lib/node_modules/lodash-es/_listCacheSet.mjs +13 -0
  215. package/lib/node_modules/lodash-es/_mapCacheClear.cjs +1 -0
  216. package/lib/node_modules/lodash-es/_mapCacheClear.mjs +18 -0
  217. package/lib/node_modules/lodash-es/_mapCacheDelete.cjs +1 -0
  218. package/lib/node_modules/lodash-es/_mapCacheDelete.mjs +13 -0
  219. package/lib/node_modules/lodash-es/_mapCacheGet.cjs +1 -0
  220. package/lib/node_modules/lodash-es/_mapCacheGet.mjs +12 -0
  221. package/lib/node_modules/lodash-es/_mapCacheHas.cjs +1 -0
  222. package/lib/node_modules/lodash-es/_mapCacheHas.mjs +12 -0
  223. package/lib/node_modules/lodash-es/_mapCacheSet.cjs +1 -0
  224. package/lib/node_modules/lodash-es/_mapCacheSet.mjs +13 -0
  225. package/lib/node_modules/lodash-es/_mapToArray.cjs +1 -0
  226. package/lib/node_modules/lodash-es/_mapToArray.mjs +12 -0
  227. package/lib/node_modules/lodash-es/_matchesStrictComparable.cjs +1 -0
  228. package/lib/node_modules/lodash-es/_matchesStrictComparable.mjs +11 -0
  229. package/lib/node_modules/lodash-es/_memoizeCapped.cjs +1 -0
  230. package/lib/node_modules/lodash-es/_memoizeCapped.mjs +15 -0
  231. package/lib/node_modules/lodash-es/_nativeCreate.cjs +1 -0
  232. package/lib/node_modules/lodash-es/_nativeCreate.mjs +9 -0
  233. package/lib/node_modules/lodash-es/_nativeKeys.cjs +1 -0
  234. package/lib/node_modules/lodash-es/_nativeKeys.mjs +9 -0
  235. package/lib/node_modules/lodash-es/_nodeUtil.cjs +1 -0
  236. package/lib/node_modules/lodash-es/_nodeUtil.mjs +13 -0
  237. package/lib/node_modules/lodash-es/_objectToString.cjs +1 -0
  238. package/lib/node_modules/lodash-es/_objectToString.mjs +11 -0
  239. package/lib/node_modules/lodash-es/_overArg.cjs +1 -0
  240. package/lib/node_modules/lodash-es/_overArg.mjs +11 -0
  241. package/lib/node_modules/lodash-es/_root.cjs +1 -0
  242. package/lib/node_modules/lodash-es/_root.mjs +9 -0
  243. package/lib/node_modules/lodash-es/_setCacheAdd.cjs +1 -0
  244. package/lib/node_modules/lodash-es/_setCacheAdd.mjs +11 -0
  245. package/lib/node_modules/lodash-es/_setCacheHas.cjs +1 -0
  246. package/lib/node_modules/lodash-es/_setCacheHas.mjs +9 -0
  247. package/lib/node_modules/lodash-es/_setToArray.cjs +1 -0
  248. package/lib/node_modules/lodash-es/_setToArray.mjs +12 -0
  249. package/lib/node_modules/lodash-es/_stackClear.cjs +1 -0
  250. package/lib/node_modules/lodash-es/_stackClear.mjs +12 -0
  251. package/lib/node_modules/lodash-es/_stackDelete.cjs +1 -0
  252. package/lib/node_modules/lodash-es/_stackDelete.mjs +10 -0
  253. package/lib/node_modules/lodash-es/_stackGet.cjs +1 -0
  254. package/lib/node_modules/lodash-es/_stackGet.mjs +9 -0
  255. package/lib/node_modules/lodash-es/_stackHas.cjs +1 -0
  256. package/lib/node_modules/lodash-es/_stackHas.mjs +9 -0
  257. package/lib/node_modules/lodash-es/_stackSet.cjs +1 -0
  258. package/lib/node_modules/lodash-es/_stackSet.mjs +20 -0
  259. package/lib/node_modules/lodash-es/_stringToArray.cjs +1 -0
  260. package/lib/node_modules/lodash-es/_stringToArray.mjs +14 -0
  261. package/lib/node_modules/lodash-es/_stringToPath.cjs +1 -0
  262. package/lib/node_modules/lodash-es/_stringToPath.mjs +14 -0
  263. package/lib/node_modules/lodash-es/_toKey.cjs +1 -0
  264. package/lib/node_modules/lodash-es/_toKey.mjs +14 -0
  265. package/lib/node_modules/lodash-es/_toSource.cjs +1 -0
  266. package/lib/node_modules/lodash-es/_toSource.mjs +19 -0
  267. package/lib/node_modules/lodash-es/_trimmedEndIndex.cjs +1 -0
  268. package/lib/node_modules/lodash-es/_trimmedEndIndex.mjs +12 -0
  269. package/lib/node_modules/lodash-es/_unicodeToArray.cjs +1 -0
  270. package/lib/node_modules/lodash-es/_unicodeToArray.mjs +21 -0
  271. package/lib/node_modules/lodash-es/capitalize.cjs +1 -0
  272. package/lib/node_modules/lodash-es/capitalize.mjs +13 -0
  273. package/lib/node_modules/lodash-es/concat.cjs +1 -0
  274. package/lib/node_modules/lodash-es/concat.mjs +18 -0
  275. package/lib/node_modules/lodash-es/eq.cjs +1 -0
  276. package/lib/node_modules/lodash-es/eq.mjs +9 -0
  277. package/lib/node_modules/lodash-es/first.cjs +1 -0
  278. package/lib/node_modules/lodash-es/first.mjs +9 -0
  279. package/lib/node_modules/lodash-es/flatten.cjs +1 -0
  280. package/lib/node_modules/lodash-es/flatten.mjs +12 -0
  281. package/lib/node_modules/lodash-es/flattenDeep.cjs +1 -0
  282. package/lib/node_modules/lodash-es/flattenDeep.mjs +12 -0
  283. package/lib/node_modules/lodash-es/flattenDepth.cjs +1 -0
  284. package/lib/node_modules/lodash-es/flattenDepth.mjs +13 -0
  285. package/lib/node_modules/lodash-es/forEach.cjs +1 -0
  286. package/lib/node_modules/lodash-es/forEach.mjs +15 -0
  287. package/lib/node_modules/lodash-es/get.cjs +1 -0
  288. package/lib/node_modules/lodash-es/get.mjs +13 -0
  289. package/lib/node_modules/lodash-es/groupBy.cjs +1 -0
  290. package/lib/node_modules/lodash-es/groupBy.mjs +12 -0
  291. package/lib/node_modules/lodash-es/hasIn.cjs +1 -0
  292. package/lib/node_modules/lodash-es/hasIn.mjs +13 -0
  293. package/lib/node_modules/lodash-es/head.cjs +1 -0
  294. package/lib/node_modules/lodash-es/head.mjs +9 -0
  295. package/lib/node_modules/lodash-es/identity.cjs +1 -0
  296. package/lib/node_modules/lodash-es/identity.mjs +9 -0
  297. package/lib/node_modules/lodash-es/isArguments.cjs +1 -0
  298. package/lib/node_modules/lodash-es/isArguments.mjs +14 -0
  299. package/lib/node_modules/lodash-es/isArray.cjs +1 -0
  300. package/lib/node_modules/lodash-es/isArray.mjs +8 -0
  301. package/lib/node_modules/lodash-es/isArrayLike.cjs +1 -0
  302. package/lib/node_modules/lodash-es/isArrayLike.mjs +13 -0
  303. package/lib/node_modules/lodash-es/isBuffer.cjs +1 -0
  304. package/lib/node_modules/lodash-es/isBuffer.mjs +10 -0
  305. package/lib/node_modules/lodash-es/isEmpty.cjs +1 -0
  306. package/lib/node_modules/lodash-es/isEmpty.mjs +25 -0
  307. package/lib/node_modules/lodash-es/isFunction.cjs +1 -0
  308. package/lib/node_modules/lodash-es/isFunction.mjs +15 -0
  309. package/lib/node_modules/lodash-es/isLength.cjs +1 -0
  310. package/lib/node_modules/lodash-es/isLength.mjs +11 -0
  311. package/lib/node_modules/lodash-es/isNil.cjs +1 -0
  312. package/lib/node_modules/lodash-es/isNil.mjs +9 -0
  313. package/lib/node_modules/lodash-es/isObject.cjs +1 -0
  314. package/lib/node_modules/lodash-es/isObject.mjs +10 -0
  315. package/lib/node_modules/lodash-es/isObjectLike.cjs +1 -0
  316. package/lib/node_modules/lodash-es/isObjectLike.mjs +9 -0
  317. package/lib/node_modules/lodash-es/isSymbol.cjs +1 -0
  318. package/lib/node_modules/lodash-es/isSymbol.mjs +13 -0
  319. package/lib/node_modules/lodash-es/isTypedArray.cjs +1 -0
  320. package/lib/node_modules/lodash-es/isTypedArray.mjs +11 -0
  321. package/lib/node_modules/lodash-es/keys.cjs +1 -0
  322. package/lib/node_modules/lodash-es/keys.mjs +14 -0
  323. package/lib/node_modules/lodash-es/last.cjs +1 -0
  324. package/lib/node_modules/lodash-es/last.mjs +10 -0
  325. package/lib/node_modules/lodash-es/lodash.cjs +1 -0
  326. package/lib/node_modules/lodash-es/lodash.mjs +46 -0
  327. package/lib/node_modules/lodash-es/memoize.cjs +1 -0
  328. package/lib/node_modules/lodash-es/memoize.mjs +19 -0
  329. package/lib/node_modules/lodash-es/nth.cjs +1 -0
  330. package/lib/node_modules/lodash-es/nth.mjs +13 -0
  331. package/lib/node_modules/lodash-es/property.cjs +1 -0
  332. package/lib/node_modules/lodash-es/property.mjs +15 -0
  333. package/lib/node_modules/lodash-es/reduce.cjs +1 -0
  334. package/lib/node_modules/lodash-es/reduce.mjs +17 -0
  335. package/lib/node_modules/lodash-es/stubArray.cjs +1 -0
  336. package/lib/node_modules/lodash-es/stubArray.mjs +9 -0
  337. package/lib/node_modules/lodash-es/stubFalse.cjs +1 -0
  338. package/lib/node_modules/lodash-es/stubFalse.mjs +9 -0
  339. package/lib/node_modules/lodash-es/toFinite.cjs +1 -0
  340. package/lib/node_modules/lodash-es/toFinite.mjs +12 -0
  341. package/lib/node_modules/lodash-es/toInteger.cjs +1 -0
  342. package/lib/node_modules/lodash-es/toInteger.mjs +13 -0
  343. package/lib/node_modules/lodash-es/toNumber.cjs +1 -0
  344. package/lib/node_modules/lodash-es/toNumber.mjs +23 -0
  345. package/lib/node_modules/lodash-es/toString.cjs +1 -0
  346. package/lib/node_modules/lodash-es/toString.mjs +12 -0
  347. package/lib/node_modules/lodash-es/upperFirst.cjs +1 -0
  348. package/lib/node_modules/lodash-es/upperFirst.mjs +9 -0
  349. package/lib/node_modules/parsimmon/build/parsimmon.umd.min.cjs +16 -0
  350. package/lib/node_modules/parsimmon/build/parsimmon.umd.min.mjs +689 -0
  351. package/lib/node_modules/pluralize/pluralize.cjs +1 -0
  352. package/lib/node_modules/pluralize/pluralize.mjs +276 -0
  353. package/lib/packages/dbml-core/node_modules/lodash/lodash.cjs +20 -0
  354. package/lib/packages/dbml-core/node_modules/lodash/lodash.mjs +3306 -0
  355. package/lib/packages/dbml-core/package.json.cjs +1 -0
  356. package/lib/{package.json.mjs → packages/dbml-core/package.json.mjs} +1 -1
  357. package/lib/parse/ANTLR/ASTGeneration/helpers.cjs +1 -1
  358. package/lib/parse/ANTLR/ASTGeneration/helpers.mjs +5 -3
  359. package/lib/parse/ANTLR/ASTGeneration/mssql/MssqlASTGen.cjs +1 -1
  360. package/lib/parse/ANTLR/ASTGeneration/mssql/MssqlASTGen.mjs +149 -143
  361. package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.cjs +1 -1
  362. package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.mjs +146 -142
  363. package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.cjs +1 -1
  364. package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.mjs +184 -181
  365. package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.cjs +1 -1
  366. package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.mjs +149 -145
  367. package/lib/parse/ANTLR/ASTGeneration/snowflake/SnowflakeASTGen.cjs +1 -1
  368. package/lib/parse/ANTLR/ASTGeneration/snowflake/SnowflakeASTGen.mjs +89 -85
  369. package/lib/parse/deprecated/dbmlParser.cjs +3 -3
  370. package/lib/parse/deprecated/dbmlParser.mjs +27 -25
  371. package/lib/parse/deprecated/mssql/base_parsers.cjs +1 -1
  372. package/lib/parse/deprecated/mssql/base_parsers.mjs +38 -38
  373. package/lib/parse/deprecated/mssql/column_definition/actions.cjs +1 -1
  374. package/lib/parse/deprecated/mssql/column_definition/actions.mjs +9 -6
  375. package/lib/parse/deprecated/mssql/column_definition/index.cjs +1 -1
  376. package/lib/parse/deprecated/mssql/column_definition/index.mjs +28 -28
  377. package/lib/parse/deprecated/mssql/constraint_definition/index.cjs +1 -1
  378. package/lib/parse/deprecated/mssql/constraint_definition/index.mjs +24 -24
  379. package/lib/parse/deprecated/mssql/expression.cjs +1 -1
  380. package/lib/parse/deprecated/mssql/expression.mjs +28 -27
  381. package/lib/parse/deprecated/mssql/fk_definition/index.cjs +1 -1
  382. package/lib/parse/deprecated/mssql/fk_definition/index.mjs +20 -20
  383. package/lib/parse/deprecated/mssql/index_definition/index.cjs +1 -1
  384. package/lib/parse/deprecated/mssql/index_definition/index.mjs +21 -21
  385. package/lib/parse/deprecated/mssql/keyword_utils.cjs +1 -1
  386. package/lib/parse/deprecated/mssql/keyword_utils.mjs +13 -13
  387. package/lib/parse/deprecated/mssql/statements/actions.cjs +1 -1
  388. package/lib/parse/deprecated/mssql/statements/actions.mjs +36 -33
  389. package/lib/parse/deprecated/mssql/statements/index.cjs +1 -1
  390. package/lib/parse/deprecated/mssql/statements/index.mjs +28 -28
  391. package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/add/index.cjs +1 -1
  392. package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/add/index.mjs +24 -24
  393. package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/index.cjs +1 -1
  394. package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/index.mjs +16 -16
  395. package/lib/parse/deprecated/mssql/statements/statement_types/comments/index.cjs +1 -1
  396. package/lib/parse/deprecated/mssql/statements/statement_types/comments/index.mjs +31 -31
  397. package/lib/parse/deprecated/mssql/statements/statement_types/create_index/index.cjs +1 -1
  398. package/lib/parse/deprecated/mssql/statements/statement_types/create_index/index.mjs +20 -20
  399. package/lib/parse/deprecated/mssql/statements/statement_types/create_table/index.cjs +1 -1
  400. package/lib/parse/deprecated/mssql/statements/statement_types/create_table/index.mjs +21 -21
  401. package/lib/parse/deprecated/mssql/utils.cjs +1 -1
  402. package/lib/parse/deprecated/mssql/utils.mjs +21 -20
  403. package/lib/parse/deprecated/mssql/whitespaces.cjs +1 -1
  404. package/lib/parse/deprecated/mssql/whitespaces.mjs +11 -11
  405. package/lib/parse/deprecated/mysqlParser.cjs +6 -6
  406. package/lib/parse/deprecated/mysqlParser.mjs +20 -18
  407. package/lib/parse/deprecated/postgresParser.cjs +2 -2
  408. package/lib/parse/deprecated/postgresParser.mjs +25 -23
  409. package/lib/parse/deprecated/schemarbParser.cjs +10 -10
  410. package/lib/parse/deprecated/schemarbParser.mjs +313 -311
  411. package/lib/utils/version.cjs +1 -1
  412. package/lib/utils/version.mjs +1 -1
  413. package/package.json +2 -2
  414. package/lib/package.json.cjs +0 -1
@@ -1,17 +1,21 @@
1
+ import e from "../../../../node_modules/lodash-es/flatten.mjs";
2
+ import t from "../../../../node_modules/lodash-es/last.mjs";
3
+ import n from "../../../../node_modules/lodash-es/flattenDepth.mjs";
4
+ import { init_lodash as r } from "../../../../node_modules/lodash-es/lodash.mjs";
1
5
  import "../../../../model_structure/config.mjs";
2
- import e from "../../parsers/postgresql/PostgreSQLParserVisitor.mjs";
3
- import t from "../../parsers/postgresql/PostgreSQLParser.mjs";
4
- import { Enum as n, Field as r, Index as i, Table as a, TableRecord as o } from "../AST.mjs";
5
- import { COLUMN_CONSTRAINT_KIND as s, CONSTRAINT_TYPE as c, DATA_TYPE as l, TABLE_CONSTRAINT_KIND as u } from "../constants.mjs";
6
- import { getOriginalText as d } from "../helpers.mjs";
7
- import { flatten as f, flattenDepth as p, last as m } from "lodash-es";
8
- import { CARDINALITY_MANY as h, CARDINALITY_MAYBE as g, normalizeQualifiedName as _ } from "@dbml/parse";
9
- import { ParseTreeListener as v, ParseTreeWalker as y } from "antlr4";
6
+ import i from "../../parsers/postgresql/PostgreSQLParserVisitor.mjs";
7
+ import a from "../../parsers/postgresql/PostgreSQLParser.mjs";
8
+ import { Enum as o, Field as s, Index as c, Table as l, TableRecord as u } from "../AST.mjs";
9
+ import { COLUMN_CONSTRAINT_KIND as d, CONSTRAINT_TYPE as f, DATA_TYPE as p, TABLE_CONSTRAINT_KIND as m } from "../constants.mjs";
10
+ import { getOriginalText as h } from "../helpers.mjs";
11
+ import { CARDINALITY_MANY as g, CARDINALITY_MAYBE as _, normalizeQualifiedName as v } from "@dbml/parse";
12
+ import { ParseTreeListener as y, ParseTreeWalker as b } from "antlr4";
10
13
  //#region src/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.js
11
- var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
14
+ r();
15
+ var x = { REF: "ref" }, S = { TABLE: "table" }, C = (e, t, n) => {
12
16
  let r = t ?? "public";
13
17
  return e.find((e) => (e.schemaName ?? "public") === r && e.name === n);
14
- }, C = (e) => e && e.replaceAll("''", "'"), w = class extends e {
18
+ }, w = (e) => e && e.replaceAll("''", "'"), T = class extends i {
15
19
  constructor() {
16
20
  super(), this.data = {
17
21
  schemas: [],
@@ -26,39 +30,39 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
26
30
  };
27
31
  }
28
32
  visitViewstmt(e) {
29
- let t = e.qualified_name().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0, i = d(e);
33
+ let n = e.qualified_name().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = h(e);
30
34
  this.data.tables.push({
31
- name: n,
32
- schemaName: r,
35
+ name: r,
36
+ schemaName: i,
33
37
  fields: [],
34
38
  indexes: [],
35
39
  checks: [],
36
40
  note: null,
37
41
  headerColor: null,
38
42
  custom: {
39
- query: i,
43
+ query: a,
40
44
  kind: "view"
41
45
  }
42
- }), T(this, e.selectstmt(), n, r);
46
+ }), E(this, e.selectstmt(), r, i);
43
47
  }
44
48
  visitCreatematviewstmt(e) {
45
- let t = e.create_mv_target();
46
- if (!t) return;
47
- let n = t.qualified_name().accept(this), r = m(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = d(e);
49
+ let n = e.create_mv_target();
50
+ if (!n) return;
51
+ let r = n.qualified_name().accept(this), i = t(r), a = r.length > 1 ? r[r.length - 2] : void 0, o = h(e);
48
52
  this.data.tables.push({
49
- name: r,
50
- schemaName: i,
53
+ name: i,
54
+ schemaName: a,
51
55
  fields: [],
52
56
  indexes: [],
53
57
  checks: [],
54
58
  note: null,
55
59
  headerColor: null,
56
60
  custom: {
57
- query: a,
61
+ query: o,
58
62
  kind: "materialized_view",
59
63
  materialized: !0
60
64
  }
61
- }), T(this, e.selectstmt(), r, i);
65
+ }), E(this, e.selectstmt(), i, a);
62
66
  }
63
67
  visitRoot(e) {
64
68
  return e.stmtblock().accept(this), this.data;
@@ -76,7 +80,7 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
76
80
  return;
77
81
  }
78
82
  if (e.indexstmt()) {
79
- let t = e.indexstmt().accept(this), { tableName: n, schemaName: r } = t.pathName, i = S(this.data.tables, r, n);
83
+ let t = e.indexstmt().accept(this), { tableName: n, schemaName: r } = t.pathName, i = C(this.data.tables, r, n);
80
84
  i && i.indexes.push(t.index);
81
85
  return;
82
86
  }
@@ -94,21 +98,21 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
94
98
  }
95
99
  e.insertstmt() && e.insertstmt().accept(this);
96
100
  }
97
- visitCreatestmt(e) {
98
- let t = e.qualified_name(0).accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0;
99
- if (!e.opttableelementlist()) return;
100
- let [i, o, s, c] = e.opttableelementlist().accept(this).filter((e) => e).reduce((e, t) => (t.kind === u.FIELD ? e[0].push(t.value) : t.kind === u.INDEX ? e[1].push(t.value) : t.kind === u.FK ? e[2].push(t.value) : t.kind === u.UNIQUE ? e[1].push(t.value) : t.kind === u.CHECK && e[3].push(t.value), e), [
101
+ visitCreatestmt(n) {
102
+ let r = n.qualified_name(0).accept(this), i = t(r), a = r.length > 1 ? r[r.length - 2] : void 0;
103
+ if (!n.opttableelementlist()) return;
104
+ let [o, s, c, u] = n.opttableelementlist().accept(this).filter((e) => e).reduce((e, t) => (t.kind === m.FIELD ? e[0].push(t.value) : t.kind === m.INDEX ? e[1].push(t.value) : t.kind === m.FK ? e[2].push(t.value) : t.kind === m.UNIQUE ? e[1].push(t.value) : t.kind === m.CHECK && e[3].push(t.value), e), [
101
105
  [],
102
106
  [],
103
107
  [],
104
108
  []
105
109
  ]);
106
- return this.data.refs.push(...f(i.map((e) => e.inline_refs.map((t) => (t.endpoints[0].tableName = n, t.endpoints[0].schemaName = r, t.endpoints[0].fieldNames = [e.field.name], t))))), this.data.refs.push(...s.map((e) => (e.endpoints[0].tableName = n, e.endpoints[0].schemaName = r, e))), new a({
107
- name: n,
108
- schemaName: r,
109
- fields: i.map((e) => e.field),
110
- indexes: o,
111
- checks: c
110
+ return this.data.refs.push(...e(o.map((e) => e.inline_refs.map((t) => (t.endpoints[0].tableName = i, t.endpoints[0].schemaName = a, t.endpoints[0].fieldNames = [e.field.name], t))))), this.data.refs.push(...c.map((e) => (e.endpoints[0].tableName = i, e.endpoints[0].schemaName = a, e))), new l({
111
+ name: i,
112
+ schemaName: a,
113
+ fields: o.map((e) => e.field),
114
+ indexes: s,
115
+ checks: u
112
116
  });
113
117
  }
114
118
  visitOpttableelementlist(e) {
@@ -127,47 +131,47 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
127
131
  }
128
132
  visitConstraintelem(e) {
129
133
  if (e.PRIMARY()) return {
130
- kind: u.INDEX,
131
- value: new i({
134
+ kind: m.INDEX,
135
+ value: new c({
132
136
  pk: !0,
133
137
  columns: e.columnlist().accept(this)
134
138
  })
135
139
  };
136
140
  if (e.FOREIGN()) {
137
- let t = e.qualified_name().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0, i = e.columnlist().accept(this).map((e) => e.value), a = e.column_list_()?.accept(this)?.map((e) => e.value), o = e.key_actions(), s = o ? o.accept(this) : {
141
+ let n = e.qualified_name().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = e.columnlist().accept(this).map((e) => e.value), o = e.column_list_()?.accept(this)?.map((e) => e.value), s = e.key_actions(), c = s ? s.accept(this) : {
138
142
  onDelete: null,
139
143
  onUpdate: null
140
144
  };
141
145
  return {
142
- kind: u.FK,
146
+ kind: m.FK,
143
147
  value: {
144
148
  endpoints: [{
145
149
  tableName: null,
146
150
  schemaName: null,
147
- fieldNames: i,
148
- relation: h
149
- }, {
150
- tableName: n,
151
- schemaName: r,
152
151
  fieldNames: a,
153
152
  relation: g
153
+ }, {
154
+ tableName: r,
155
+ schemaName: i,
156
+ fieldNames: o,
157
+ relation: _
154
158
  }],
155
- onDelete: s.onDelete,
156
- onUpdate: s.onUpdate
159
+ onDelete: c.onDelete,
160
+ onUpdate: c.onUpdate
157
161
  }
158
162
  };
159
163
  }
160
164
  if (e.UNIQUE()) return {
161
- kind: u.UNIQUE,
162
- value: new i({
165
+ kind: m.UNIQUE,
166
+ value: new c({
163
167
  unique: !0,
164
168
  columns: e.columnlist().accept(this)
165
169
  })
166
170
  };
167
171
  if (e.CHECK()) {
168
- let t = d(e.a_expr());
172
+ let t = h(e.a_expr());
169
173
  return {
170
- kind: u.CHECK,
174
+ kind: m.CHECK,
171
175
  value: { expression: t }
172
176
  };
173
177
  }
@@ -181,24 +185,24 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
181
185
  visitColumnElem(e) {
182
186
  return {
183
187
  value: e.colid().accept(this),
184
- type: c.COLUMN
188
+ type: f.COLUMN
185
189
  };
186
190
  }
187
191
  visitColumnDef(e) {
188
- let t = e.colid().accept(this), n = e.typename().accept(this), i = e.colquallist().accept(this), a = new Set([
192
+ let t = e.colid().accept(this), n = e.typename().accept(this), r = e.colquallist().accept(this), i = new Set([
189
193
  "serial",
190
194
  "smallserial",
191
195
  "bigserial"
192
- ]), o = n.type_name.toLowerCase();
193
- return a.has(o) && (i.increment = !0), {
194
- kind: u.FIELD,
196
+ ]), a = n.type_name.toLowerCase();
197
+ return i.has(a) && (r.increment = !0), {
198
+ kind: m.FIELD,
195
199
  value: {
196
- field: new r({
200
+ field: new s({
197
201
  name: t,
198
202
  type: n,
199
- ...i
203
+ ...r
200
204
  }),
201
- inline_refs: i.inline_refs
205
+ inline_refs: r.inline_refs
202
206
  }
203
207
  };
204
208
  }
@@ -210,11 +214,11 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
210
214
  return e.colconstraint().forEach((e) => {
211
215
  let n = e.accept(this);
212
216
  if (n) {
213
- if (n.kind === s.INLINE_REF) {
217
+ if (n.kind === d.INLINE_REF) {
214
218
  t.inline_refs.push(n.value);
215
219
  return;
216
220
  }
217
- if (n.kind === s.CHECK) {
221
+ if (n.kind === d.CHECK) {
218
222
  t.checks.push(n.value);
219
223
  return;
220
224
  }
@@ -229,54 +233,54 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
229
233
  if (e.NULL_P()) {
230
234
  let t = !1;
231
235
  return e.NOT() && (t = !0), {
232
- kind: s.NOT_NULL,
236
+ kind: d.NOT_NULL,
233
237
  value: t
234
238
  };
235
239
  }
236
240
  if (e.UNIQUE()) return {
237
- kind: s.UNIQUE,
241
+ kind: d.UNIQUE,
238
242
  value: !0
239
243
  };
240
244
  if (e.PRIMARY()) return {
241
- kind: s.PK,
245
+ kind: d.PK,
242
246
  value: !0
243
247
  };
244
248
  if (e.DEFAULT()) return {
245
- kind: s.DEFAULT,
249
+ kind: d.DEFAULT,
246
250
  value: e.b_expr().accept(this)
247
251
  };
248
252
  if (e.IDENTITY_P()) return {
249
- kind: s.INCREMENT,
253
+ kind: d.INCREMENT,
250
254
  value: !0
251
255
  };
252
256
  if (e.CHECK()) {
253
- let t = d(e.a_expr());
257
+ let t = h(e.a_expr());
254
258
  return {
255
- kind: s.CHECK,
259
+ kind: d.CHECK,
256
260
  value: { expression: t }
257
261
  };
258
262
  }
259
263
  if (e.REFERENCES()) {
260
- let t = e.qualified_name().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0, i = e.column_list_()?.accept(this)?.map((e) => e.value), a = e.key_actions(), o = a ? a.accept(this) : {
264
+ let n = e.qualified_name().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = e.column_list_()?.accept(this)?.map((e) => e.value), o = e.key_actions(), s = o ? o.accept(this) : {
261
265
  onDelete: null,
262
266
  onUpdate: null
263
267
  };
264
268
  return {
265
- kind: s.INLINE_REF,
269
+ kind: d.INLINE_REF,
266
270
  value: {
267
271
  endpoints: [{
268
272
  tableName: null,
269
273
  schemaName: null,
270
274
  fieldNames: null,
271
- relation: h
272
- }, {
273
- tableName: n,
274
- schemaName: r,
275
- fieldNames: i,
276
275
  relation: g
276
+ }, {
277
+ tableName: r,
278
+ schemaName: i,
279
+ fieldNames: a,
280
+ relation: _
277
281
  }],
278
- onDelete: o.onDelete,
279
- onUpdate: o.onUpdate
282
+ onDelete: s.onDelete,
283
+ onUpdate: s.onUpdate
280
284
  }
281
285
  };
282
286
  }
@@ -284,46 +288,46 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
284
288
  visitB_expr(e) {
285
289
  return e.c_expr() ? e.c_expr().accept(this) : {
286
290
  value: e.getText(),
287
- type: l.EXPRESSION
291
+ type: p.EXPRESSION
288
292
  };
289
293
  }
290
294
  visitC_expr_expr(e) {
291
295
  return e.aexprconst() ? e.aexprconst().accept(this) : e.a_expr() ? {
292
296
  value: e.a_expr().getText(),
293
- type: l.EXPRESSION
297
+ type: p.EXPRESSION
294
298
  } : {
295
299
  value: e.getText(),
296
- type: l.EXPRESSION
300
+ type: p.EXPRESSION
297
301
  };
298
302
  }
299
303
  visitC_expr_exists(e) {
300
304
  return {
301
305
  value: e.getText(),
302
- type: l.EXPRESSION
306
+ type: p.EXPRESSION
303
307
  };
304
308
  }
305
309
  visitC_expr_case(e) {
306
310
  return {
307
311
  value: e.getText(),
308
- type: l.EXPRESSION
312
+ type: p.EXPRESSION
309
313
  };
310
314
  }
311
315
  visitAexprconst(e) {
312
316
  return e.sconst() && e.getChildCount() === 1 ? {
313
317
  value: e.sconst().accept(this),
314
- type: l.STRING
318
+ type: p.STRING
315
319
  } : e.TRUE_P() || e.FALSE_P() || e.NULL_P() ? {
316
320
  value: e.getText().toLowerCase(),
317
- type: l.BOOLEAN
321
+ type: p.BOOLEAN
318
322
  } : e.iconst() ? {
319
323
  value: e.iconst().accept(this),
320
- type: l.NUMBER
324
+ type: p.NUMBER
321
325
  } : e.fconst() ? {
322
326
  value: e.getText(),
323
- type: l.NUMBER
327
+ type: p.NUMBER
324
328
  } : {
325
329
  value: e.getText(),
326
- type: l.EXPRESSION
330
+ type: p.EXPRESSION
327
331
  };
328
332
  }
329
333
  visitKey_actions(e) {
@@ -415,17 +419,17 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
415
419
  }
416
420
  visitGenerictype(e) {
417
421
  if (e.attrs()) {
418
- let t = [e.getChild(0).getText(), ...e.attrs().accept(this)];
422
+ let n = [e.getChild(0).getText(), ...e.attrs().accept(this)];
419
423
  return {
420
- type: m(t),
421
- schemaName: t.length > 1 ? t[t.length - 2] : void 0
424
+ type: t(n),
425
+ schemaName: n.length > 1 ? n[n.length - 2] : void 0
422
426
  };
423
427
  }
424
- let t = "";
425
- t = e.type_function_name() ? e.type_function_name().accept(this) : e.getText();
426
- let n = e.type_modifiers_();
428
+ let n = "";
429
+ n = e.type_function_name() ? e.type_function_name().accept(this) : e.getText();
430
+ let r = e.type_modifiers_();
427
431
  return {
428
- type: t + (n ? n.getText() : ""),
432
+ type: n + (r ? r.getText() : ""),
429
433
  schemaName: null
430
434
  };
431
435
  }
@@ -450,15 +454,15 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
450
454
  return Number(e.getText()).toString();
451
455
  }
452
456
  visitIndexstmt(e) {
453
- let t = e.relation_expr().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0, a = null;
457
+ let n = e.relation_expr().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = null;
454
458
  e.index_name_() ? a = e.index_name_().accept(this) : e.name() && (a = e.name().accept(this));
455
459
  let o = e.access_method_clause();
456
460
  return {
457
461
  pathName: {
458
- tableName: n,
459
- schemaName: r
462
+ tableName: r,
463
+ schemaName: i
460
464
  },
461
- index: new i({
465
+ index: new c({
462
466
  name: a,
463
467
  unique: e.unique_()?.accept(this) ?? !1,
464
468
  type: o ? o.accept(this) : void 0,
@@ -484,10 +488,10 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
484
488
  visitIndex_elem(e) {
485
489
  return e.colid() ? {
486
490
  value: e.colid().accept(this),
487
- type: c.STRING
491
+ type: f.STRING
488
492
  } : {
489
493
  value: e.getText(),
490
- type: c.EXPRESSION
494
+ type: f.EXPRESSION
491
495
  };
492
496
  }
493
497
  visitUnique_(e) {
@@ -495,35 +499,35 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
495
499
  }
496
500
  visitAltertablestmt(e) {
497
501
  if (e.TABLE() && e.relation_expr() && e.alter_table_cmds()) {
498
- let t = e.relation_expr().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0;
502
+ let n = e.relation_expr().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0;
499
503
  return e.alter_table_cmds().accept(this).map((e) => {
500
504
  if (!e) return null;
501
505
  let t = null;
502
506
  switch (e.kind) {
503
- case u.FK:
504
- t = b.REF, e.value.endpoints[0].tableName = n, e.value.endpoints[0].schemaName = r, this.data.refs.push(e.value);
507
+ case m.FK:
508
+ t = x.REF, e.value.endpoints[0].tableName = r, e.value.endpoints[0].schemaName = i, this.data.refs.push(e.value);
505
509
  break;
506
- case u.CHECK: {
507
- let t = S(this.data.tables, r, n);
510
+ case m.CHECK: {
511
+ let t = C(this.data.tables, i, r);
508
512
  if (!t) break;
509
513
  t.checks ||= [], t.checks.push(e.value);
510
514
  break;
511
515
  }
512
- case u.UNIQUE:
513
- case u.PK:
514
- case u.INDEX: {
516
+ case m.UNIQUE:
517
+ case m.PK:
518
+ case m.INDEX: {
515
519
  if (e.value.columns.length === 0 || !(e.value.pk || e.value.unique)) break;
516
520
  t = e.kind;
517
- let a = S(this.data.tables, r, n);
518
- if (!a) break;
521
+ let n = C(this.data.tables, i, r);
522
+ if (!n) break;
519
523
  if (e.value.columns.length === 1 && (e.value.unique || e.value.pk)) {
520
- let t = e.value.columns[0].value, n = a.fields.find((e) => e.name === t);
521
- if (n) {
522
- n[e.value.unique ? "unique" : "pk"] = !0;
524
+ let t = e.value.columns[0].value, r = n.fields.find((e) => e.name === t);
525
+ if (r) {
526
+ r[e.value.unique ? "unique" : "pk"] = !0;
523
527
  break;
524
528
  }
525
529
  }
526
- let o = new i({
530
+ let a = new c({
527
531
  name: e.value.name,
528
532
  columns: e.value.columns,
529
533
  note: e.value.note,
@@ -531,7 +535,7 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
531
535
  type: e.value.type,
532
536
  unique: e.value.unique
533
537
  });
534
- a.indexes.push(o);
538
+ n.indexes.push(a);
535
539
  break;
536
540
  }
537
541
  default: break;
@@ -551,18 +555,18 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
551
555
  }
552
556
  visitCommentstmt(e) {
553
557
  if (e.object_type_any_name()) {
554
- let t = e.object_type_any_name().accept(this);
555
- if (!t) return;
556
- if (t === x.TABLE) {
557
- let t = e.any_name().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0, i = S(this.data.tables, r, n);
558
- if (!i) return;
559
- i.note = { value: C(e.comment_text().accept(this)) };
558
+ let n = e.object_type_any_name().accept(this);
559
+ if (!n) return;
560
+ if (n === S.TABLE) {
561
+ let n = e.any_name().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = C(this.data.tables, i, r);
562
+ if (!a) return;
563
+ a.note = { value: w(e.comment_text().accept(this)) };
560
564
  }
561
565
  }
562
566
  if (e.COLUMN()) {
563
- let t = e.any_name().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0, i = t.length > 2 ? t[t.length - 3] : void 0, a = S(this.data.tables, i, r).fields.find((e) => e.name === n);
564
- if (!a) return;
565
- a.note = { value: C(e.comment_text().accept(this)) };
567
+ let n = e.any_name().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = n.length > 2 ? n[n.length - 3] : void 0, o = C(this.data.tables, a, i).fields.find((e) => e.name === r);
568
+ if (!o) return;
569
+ o.note = { value: w(e.comment_text().accept(this)) };
566
570
  }
567
571
  }
568
572
  visitComment_text(e) {
@@ -576,7 +580,7 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
576
580
  return t.slice(1, t.length - 1);
577
581
  }
578
582
  visitObject_type_any_name(e) {
579
- if (e.TABLE()) return x.TABLE;
583
+ if (e.TABLE()) return S.TABLE;
580
584
  }
581
585
  visitAny_name(e) {
582
586
  let t = [e.colid().accept(this)];
@@ -587,14 +591,14 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
587
591
  }
588
592
  visitDefinestmt(e) {
589
593
  if (e.TYPE_P() && e.enum_val_list_()) {
590
- let t = e.any_name(0).accept(this), r = m(t), i = t.length > 1 ? t[t.length - 2] : void 0, a = e.enum_val_list_().accept(this).map((e) => ({ name: e }));
594
+ let n = e.any_name(0).accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, a = e.enum_val_list_().accept(this).map((e) => ({ name: e }));
591
595
  if (!a) return;
592
- let o = new n({
596
+ let s = new o({
593
597
  name: r,
594
598
  schemaName: i,
595
599
  values: a
596
600
  });
597
- this.data.enums.push(o.toJSON());
601
+ this.data.enums.push(s.toJSON());
598
602
  }
599
603
  }
600
604
  visitEnum_val_list_(e) {
@@ -604,16 +608,16 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
604
608
  return e.sconst().map((e) => e.accept(this));
605
609
  }
606
610
  visitInsertstmt(e) {
607
- let t = e.insert_target().accept(this), n = m(t), r = t.length > 1 ? t[t.length - 2] : void 0, { columns: i, values: a } = e.insert_rest().accept(this);
608
- if (i.length === 0) {
609
- let e = S(this.data.tables, r, n);
610
- e && e.fields && (i = e.fields.map((e) => e.name));
611
+ let n = e.insert_target().accept(this), r = t(n), i = n.length > 1 ? n[n.length - 2] : void 0, { columns: a, values: o } = e.insert_rest().accept(this);
612
+ if (a.length === 0) {
613
+ let e = C(this.data.tables, i, r);
614
+ e && e.fields && (a = e.fields.map((e) => e.name));
611
615
  }
612
- let s = new o({
613
- schemaName: r,
614
- tableName: n,
615
- columns: i,
616
- values: a
616
+ let s = new u({
617
+ schemaName: i,
618
+ tableName: r,
619
+ columns: a,
620
+ values: o
617
621
  });
618
622
  this.data.records.push(s);
619
623
  }
@@ -653,7 +657,7 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
653
657
  return e.values_clause() ? e.values_clause().accept(this) : null;
654
658
  }
655
659
  visitValues_clause(e) {
656
- return e.expr_list().map((e) => p(e.accept(this), 21));
660
+ return e.expr_list().map((e) => n(e.accept(this), 21));
657
661
  }
658
662
  visitA_expr_collate(e) {
659
663
  let [t, n, r = {}] = e.a_expr_typecast().accept(this), { value: i, type: a } = t;
@@ -664,17 +668,17 @@ var b = { REF: "ref" }, x = { TABLE: "table" }, S = (e, t, n) => {
664
668
  };
665
669
  }
666
670
  };
667
- function T(e, n, r, i) {
671
+ function E(e, n, r, i) {
668
672
  if (!n) return;
669
- let a = /* @__PURE__ */ new Set(), o = _(i ?? "public", r), s = new v();
670
- s.enterEveryRule = (n) => {
671
- if (!(n instanceof t.Relation_exprContext)) return;
672
- let s = n.accept(e), c = m(s), l = s.length > 1 ? s[s.length - 2] : void 0, u = _(l ?? "public", c);
673
- u !== o && (a.has(u) || S(e.data.tables, l, c) && (a.add(u), e.data.deps.push({
673
+ let o = /* @__PURE__ */ new Set(), s = v(i ?? "public", r), c = new y();
674
+ c.enterEveryRule = (n) => {
675
+ if (!(n instanceof a.Relation_exprContext)) return;
676
+ let c = n.accept(e), l = t(c), u = c.length > 1 ? c[c.length - 2] : void 0, d = v(u ?? "public", l);
677
+ d !== s && (o.has(d) || C(e.data.tables, u, l) && (o.add(d), e.data.deps.push({
674
678
  edges: [{
675
679
  upstream: {
676
- schemaName: l,
677
- tableName: c,
680
+ schemaName: u,
681
+ tableName: l,
678
682
  fieldNames: []
679
683
  },
680
684
  downstream: {
@@ -686,7 +690,7 @@ function T(e, n, r, i) {
686
690
  note: null,
687
691
  custom: {}
688
692
  })));
689
- }, y.DEFAULT.walk(s, n);
693
+ }, b.DEFAULT.walk(c, n);
690
694
  }
691
695
  //#endregion
692
- export { w as default };
696
+ export { T as default };
@@ -1 +1 @@
1
- require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../parsers/snowflake/SnowflakeParserVisitor.cjs"),t=require("../AST.cjs"),n=require("../constants.cjs"),r=require("../helpers.cjs");let i=require("lodash-es"),a=require("@dbml/parse");var o=`public`,s=e=>r.getOriginalText(e).replace(/''/g,`'`).slice(1,-1),c=class extends e.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}findTable(e,t){let n=e||o;return this.data.tables.find(e=>(e.schemaName||o)===n&&e.name===t)}visitSnowflake_file(e){return e.batch()?.accept(this),this.data}visitBatch(e){e.sql_command().forEach(e=>{e.accept(this)})}visitSql_command(e){e.ddl_command()?e.ddl_command().accept(this):e.dml_command()&&e.dml_command().accept(this)}visitDdl_command(e){e.alter_command()?e.alter_command().accept(this):e.create_command()&&e.create_command().accept(this)}visitDml_command(e){e.insert_statement()&&e.insert_statement().accept(this)}visitCreate_command(e){if(e.create_table()){let t=e.create_table().accept(this);this.data.tables.push(t)}else if(e.create_table_like()){let[n,r,i,a]=e.create_table_like().accept(this),o=this.data.tables.reduce((e,t)=>t.name===a&&t.schemaName===i?t:e,null);if(o){let e=new t.Table({name:r,schemaName:n,fields:o.fields});this.data.tables.push(e)}}}visitCreate_database(e){let t=r.getOriginalText(e.object_name());this.data.schemas.push(t)}visitCreate_table(e){let[r,a,o]=e.object_name().accept(this),{definitions:s,tableNote:c}=e.create_table_clause().accept(this),l=e.comment_clause()?.accept(this)||c,[u,d,f,p]=s.reduce((e,t)=>{if(t.kind===n.TABLE_CONSTRAINT_KIND.FIELD)e[0].push(t.value);else if(t.kind===n.TABLE_CONSTRAINT_KIND.UNIQUE)e[1].push(t.value);else if(t.kind===n.TABLE_CONSTRAINT_KIND.FK)e[2].push(t.value);else if(t.kind===n.TABLE_CONSTRAINT_KIND.PK){let n=t.value;n.columns.length>1?e[1].push(t.value):e[3]=n}return e},[[],[],[],null]),m=u.map(e=>{let{field:n,inlineRefs:r}=e;if(n.type.type_name?.toLowerCase()===`enum`){let e=n.type.args.map(e=>({name:e.replace(/'|"|`/g,``).trim()})),r=new t.Enum({name:`${o}_${n.name}_enum`,schemaName:a,values:e});n.type.type_name=r.name,n.type.schemaName=r.schemaName,this.data.enums.push(r)}return r.forEach(e=>{e.endpoints[0].tableName=o,e.endpoints[0].schemaName=a,e.endpoints[0].fieldNames=[n.name]}),r});this.data.refs.push(...(0,i.flatten)(m)),this.data.refs.push(...f.map(e=>(e.endpoints[0].tableName=o,e.endpoints[0].schemaName=a,e)));let h=new t.Table({name:o,schemaName:a,fields:u.map(e=>e.field),indexes:d,note:l});if(p){let e=h.fields.find(e=>e.name===p.columns[0].value);e&&(e.pk=!0)}return h}visitAlter_table(e){if(e.constraint_action()){let[t,r,i]=e.object_name()[0].accept(this),a=e.constraint_action().accept(this);if(a){let e=[],t=[],o=[];a.kind===n.TABLE_CONSTRAINT_KIND.FIELD?e.push(a.value):a.kind===n.TABLE_CONSTRAINT_KIND.UNIQUE?t.push(a.value):a.kind===n.TABLE_CONSTRAINT_KIND.FK&&o.push(a.value),this.data.refs.push(...o.map(e=>(e.endpoints[0].tableName=i,e.endpoints[0].schemaName=r,e)));let s=this.data.tables.reduce((e,t)=>t.name===i&&t.schemaName===r?t:e,null);return s&&(s.fields.push(...e),s.indexes.push(...t)),s}}return null}visitCreate_table_like(e){let[t,n,r]=e.object_name()[0].accept(this),[i,a,o]=e.object_name()[1].accept(this);return[n,r,a,o]}visitObject_name(e){return[e.d?.accept(this),e.s?.accept(this),e.o.accept(this)]}visitId_(e){return e.DOUBLE_QUOTE_ID()?r.getOriginalText(e).slice(1,-1):r.getOriginalText(e)}visitCreate_table_clause(e){return{definitions:e.column_decl_item_list_paren().accept(this),tableNote:e.comment_clause().map(e=>e.accept(this))?.[-1]}}visitComment_clause(e){return s(e.string())}visitColumn_decl_item_list_paren(e){return e.column_decl_item_list().accept(this)}visitColumn_decl_item_list(e){return e.column_decl_item().map(e=>e.accept(this)).filter(e=>e)}visitColumn_decl_item(e){return e.full_col_decl()?{kind:n.TABLE_CONSTRAINT_KIND.FIELD,value:e.full_col_decl().accept(this)}:e.out_of_line_constraint()?e.out_of_line_constraint().accept(this):null}visitFull_col_decl(e){let t=e.col_decl().accept(this),r=[];if(e.inline_constraint()){let a=e.inline_constraint().map(e=>e.accept(this));(0,i.isEmpty)(a)||a.forEach(e=>{e.kind===n.COLUMN_CONSTRAINT_KIND.UNIQUE?t.unique=!0:e.kind===n.COLUMN_CONSTRAINT_KIND.PK?t.pk=!0:e.kind===n.COLUMN_CONSTRAINT_KIND.FK&&r.push(e.value)})}if(e.null_not_null()){let r=e.null_not_null().map(e=>e.accept(this));(0,i.isEmpty)(r)||r.forEach(e=>{e.kind===n.COLUMN_CONSTRAINT_KIND.NOT_NULL&&(t.not_null=e.value)})}return e.default_value()&&e.default_value().map(e=>e.accept(this)).forEach(e=>{e.kind===n.COLUMN_CONSTRAINT_KIND.DEFAULT?t.dbdefault=e.value:e.kind===n.COLUMN_CONSTRAINT_KIND.INCREMENT&&(t.increment=e.value)}),e.COMMENT()&&(t.note=s(e.string())),{field:t,inlineRefs:r}}visitCol_decl(e){return new t.Field({name:e.column_name().accept(this),type:{type_name:r.getOriginalText(e.data_type()),schemaName:null}})}visitColumn_name(e){return e.id_().map(e=>e.accept(this)).join(`.`)}visitInline_constraint(e){if(e.UNIQUE())return{kind:n.COLUMN_CONSTRAINT_KIND.UNIQUE,value:!0};if(e.primary_key())return{kind:n.COLUMN_CONSTRAINT_KIND.PK,value:!0};if(e.foreign_key()&&e.column_name()){let[t,r,i]=e.object_name().accept(this),o=[e.column_name().accept(this)];return{kind:n.COLUMN_CONSTRAINT_KIND.FK,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:null,relation:a.CARDINALITY_MANY},{tableName:i,schemaName:r,fieldNames:o,relation:a.CARDINALITY_MAYBE}]}}}return{kind:null,value:null}}visitOut_of_line_constraint(e){if(e.UNIQUE()){let r=e.id_()?.accept(this),a=new t.Index({unique:!0,columns:(0,i.flatten)(e.column_list_in_parentheses().map(e=>e.accept(this))).map(e=>({value:e,type:n.CONSTRAINT_TYPE.COLUMN}))});return{name:r,kind:n.TABLE_CONSTRAINT_KIND.UNIQUE,value:a}}if(e.primary_key()){let r=e.id_()?.accept(this),a=new t.Index({name:r,pk:!0,columns:(0,i.flatten)(e.column_list_in_parentheses().map(e=>e.accept(this))).map(e=>({value:e,type:n.CONSTRAINT_TYPE.COLUMN}))});return{kind:n.TABLE_CONSTRAINT_KIND.PK,value:a}}if(e.foreign_key()&&e.column_list_in_parentheses().length===2){let[t,r,i]=e.object_name().accept(this),a=e.column_list_in_parentheses()[0].accept(this),o=e.column_list_in_parentheses()[1].accept(this);return{kind:n.TABLE_CONSTRAINT_KIND.FK,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:a,relation:`*`},{tableName:i,schemaName:r,fieldNames:o,relation:`1`}]}}}return null}visitColumn_list_in_parentheses(e){return e.column_list().accept(this)}visitColumn_list(e){return e.column_name().map(e=>e.accept(this))}visitNull_not_null(e){return{kind:n.COLUMN_CONSTRAINT_KIND.NOT_NULL,value:!!e.NOT()}}visitDefault_value(e){return e.DEFAULT()?{kind:n.COLUMN_CONSTRAINT_KIND.DEFAULT,value:e.expr().accept(this)}:e.AUTOINCREMENT()||e.IDENTITY()?{kind:n.COLUMN_CONSTRAINT_KIND.INCREMENT,value:!0}:null}visitExpr(e){return e.primitive_expression()?e.primitive_expression().accept(this):{value:r.getOriginalText(e),type:`expression`}}visitPrimitive_expression(e){return e.NULL_()?{value:null,type:`boolean`}:e.literal()?e.literal().accept(this):{value:r.getOriginalText(e),type:`expression`}}visitLiteral(e){return e.STRING()?{value:s(e),type:`string`}:e.DECIMAL()||e.REAL||e.FLOAT?{value:r.getOriginalText(e),type:`number`}:e.true_false()||e.NULL_()?{value:r.getOriginalText(e),type:`boolean`}:{value:r.getOriginalText(e),type:`expression`}}visitConstraint_action(e){return e.ADD()?e.out_of_line_constraint().accept(this):null}visitInsert_statement(e){let[n,r,i]=e.object_name().accept(this),a=new t.TableRecord({schemaName:r,tableName:i,columns:e.column_list_in_parentheses()?e.column_list_in_parentheses().accept(this):this.findTable(r,i)?.fields.map(e=>e.name)||[],values:e.values_builder()?e.values_builder().accept(this):[]});this.data.records.push(a)}visitValues_builder(e){return e.expr_list().map(e=>(0,i.flattenDepth)(e.accept(this),1))}visitExpr_list(e){return e.expr().map(e=>e.accept(this))}};exports.default=c;
1
+ require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../../node_modules/lodash-es/flatten.cjs"),t=require("../../../../node_modules/lodash-es/flattenDepth.cjs"),n=require("../../../../node_modules/lodash-es/isEmpty.cjs"),r=require("../../../../node_modules/lodash-es/lodash.cjs"),i=require("../../parsers/snowflake/SnowflakeParserVisitor.cjs"),a=require("../AST.cjs"),o=require("../constants.cjs"),s=require("../helpers.cjs");let c=require("@dbml/parse");r.init_lodash();var l=`public`,u=e=>s.getOriginalText(e).replace(/''/g,`'`).slice(1,-1),d=class extends i.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}findTable(e,t){let n=e||l;return this.data.tables.find(e=>(e.schemaName||l)===n&&e.name===t)}visitSnowflake_file(e){return e.batch()?.accept(this),this.data}visitBatch(e){e.sql_command().forEach(e=>{e.accept(this)})}visitSql_command(e){e.ddl_command()?e.ddl_command().accept(this):e.dml_command()&&e.dml_command().accept(this)}visitDdl_command(e){e.alter_command()?e.alter_command().accept(this):e.create_command()&&e.create_command().accept(this)}visitDml_command(e){e.insert_statement()&&e.insert_statement().accept(this)}visitCreate_command(e){if(e.create_table()){let t=e.create_table().accept(this);this.data.tables.push(t)}else if(e.create_table_like()){let[t,n,r,i]=e.create_table_like().accept(this),o=this.data.tables.reduce((e,t)=>t.name===i&&t.schemaName===r?t:e,null);if(o){let e=new a.Table({name:n,schemaName:t,fields:o.fields});this.data.tables.push(e)}}}visitCreate_database(e){let t=s.getOriginalText(e.object_name());this.data.schemas.push(t)}visitCreate_table(t){let[n,r,i]=t.object_name().accept(this),{definitions:s,tableNote:c}=t.create_table_clause().accept(this),l=t.comment_clause()?.accept(this)||c,[u,d,f,p]=s.reduce((e,t)=>{if(t.kind===o.TABLE_CONSTRAINT_KIND.FIELD)e[0].push(t.value);else if(t.kind===o.TABLE_CONSTRAINT_KIND.UNIQUE)e[1].push(t.value);else if(t.kind===o.TABLE_CONSTRAINT_KIND.FK)e[2].push(t.value);else if(t.kind===o.TABLE_CONSTRAINT_KIND.PK){let n=t.value;n.columns.length>1?e[1].push(t.value):e[3]=n}return e},[[],[],[],null]),m=u.map(e=>{let{field:t,inlineRefs:n}=e;if(t.type.type_name?.toLowerCase()===`enum`){let e=t.type.args.map(e=>({name:e.replace(/'|"|`/g,``).trim()})),n=new a.Enum({name:`${i}_${t.name}_enum`,schemaName:r,values:e});t.type.type_name=n.name,t.type.schemaName=n.schemaName,this.data.enums.push(n)}return n.forEach(e=>{e.endpoints[0].tableName=i,e.endpoints[0].schemaName=r,e.endpoints[0].fieldNames=[t.name]}),n});this.data.refs.push(...e.default(m)),this.data.refs.push(...f.map(e=>(e.endpoints[0].tableName=i,e.endpoints[0].schemaName=r,e)));let h=new a.Table({name:i,schemaName:r,fields:u.map(e=>e.field),indexes:d,note:l});if(p){let e=h.fields.find(e=>e.name===p.columns[0].value);e&&(e.pk=!0)}return h}visitAlter_table(e){if(e.constraint_action()){let[t,n,r]=e.object_name()[0].accept(this),i=e.constraint_action().accept(this);if(i){let e=[],t=[],a=[];i.kind===o.TABLE_CONSTRAINT_KIND.FIELD?e.push(i.value):i.kind===o.TABLE_CONSTRAINT_KIND.UNIQUE?t.push(i.value):i.kind===o.TABLE_CONSTRAINT_KIND.FK&&a.push(i.value),this.data.refs.push(...a.map(e=>(e.endpoints[0].tableName=r,e.endpoints[0].schemaName=n,e)));let s=this.data.tables.reduce((e,t)=>t.name===r&&t.schemaName===n?t:e,null);return s&&(s.fields.push(...e),s.indexes.push(...t)),s}}return null}visitCreate_table_like(e){let[t,n,r]=e.object_name()[0].accept(this),[i,a,o]=e.object_name()[1].accept(this);return[n,r,a,o]}visitObject_name(e){return[e.d?.accept(this),e.s?.accept(this),e.o.accept(this)]}visitId_(e){return e.DOUBLE_QUOTE_ID()?s.getOriginalText(e).slice(1,-1):s.getOriginalText(e)}visitCreate_table_clause(e){return{definitions:e.column_decl_item_list_paren().accept(this),tableNote:e.comment_clause().map(e=>e.accept(this))?.[-1]}}visitComment_clause(e){return u(e.string())}visitColumn_decl_item_list_paren(e){return e.column_decl_item_list().accept(this)}visitColumn_decl_item_list(e){return e.column_decl_item().map(e=>e.accept(this)).filter(e=>e)}visitColumn_decl_item(e){return e.full_col_decl()?{kind:o.TABLE_CONSTRAINT_KIND.FIELD,value:e.full_col_decl().accept(this)}:e.out_of_line_constraint()?e.out_of_line_constraint().accept(this):null}visitFull_col_decl(e){let t=e.col_decl().accept(this),r=[];if(e.inline_constraint()){let i=e.inline_constraint().map(e=>e.accept(this));n.default(i)||i.forEach(e=>{e.kind===o.COLUMN_CONSTRAINT_KIND.UNIQUE?t.unique=!0:e.kind===o.COLUMN_CONSTRAINT_KIND.PK?t.pk=!0:e.kind===o.COLUMN_CONSTRAINT_KIND.FK&&r.push(e.value)})}if(e.null_not_null()){let r=e.null_not_null().map(e=>e.accept(this));n.default(r)||r.forEach(e=>{e.kind===o.COLUMN_CONSTRAINT_KIND.NOT_NULL&&(t.not_null=e.value)})}return e.default_value()&&e.default_value().map(e=>e.accept(this)).forEach(e=>{e.kind===o.COLUMN_CONSTRAINT_KIND.DEFAULT?t.dbdefault=e.value:e.kind===o.COLUMN_CONSTRAINT_KIND.INCREMENT&&(t.increment=e.value)}),e.COMMENT()&&(t.note=u(e.string())),{field:t,inlineRefs:r}}visitCol_decl(e){return new a.Field({name:e.column_name().accept(this),type:{type_name:s.getOriginalText(e.data_type()),schemaName:null}})}visitColumn_name(e){return e.id_().map(e=>e.accept(this)).join(`.`)}visitInline_constraint(e){if(e.UNIQUE())return{kind:o.COLUMN_CONSTRAINT_KIND.UNIQUE,value:!0};if(e.primary_key())return{kind:o.COLUMN_CONSTRAINT_KIND.PK,value:!0};if(e.foreign_key()&&e.column_name()){let[t,n,r]=e.object_name().accept(this),i=[e.column_name().accept(this)];return{kind:o.COLUMN_CONSTRAINT_KIND.FK,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:null,relation:c.CARDINALITY_MANY},{tableName:r,schemaName:n,fieldNames:i,relation:c.CARDINALITY_MAYBE}]}}}return{kind:null,value:null}}visitOut_of_line_constraint(t){if(t.UNIQUE()){let n=t.id_()?.accept(this),r=new a.Index({unique:!0,columns:e.default(t.column_list_in_parentheses().map(e=>e.accept(this))).map(e=>({value:e,type:o.CONSTRAINT_TYPE.COLUMN}))});return{name:n,kind:o.TABLE_CONSTRAINT_KIND.UNIQUE,value:r}}if(t.primary_key()){let n=t.id_()?.accept(this),r=new a.Index({name:n,pk:!0,columns:e.default(t.column_list_in_parentheses().map(e=>e.accept(this))).map(e=>({value:e,type:o.CONSTRAINT_TYPE.COLUMN}))});return{kind:o.TABLE_CONSTRAINT_KIND.PK,value:r}}if(t.foreign_key()&&t.column_list_in_parentheses().length===2){let[e,n,r]=t.object_name().accept(this),i=t.column_list_in_parentheses()[0].accept(this),a=t.column_list_in_parentheses()[1].accept(this);return{kind:o.TABLE_CONSTRAINT_KIND.FK,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:i,relation:`*`},{tableName:r,schemaName:n,fieldNames:a,relation:`1`}]}}}return null}visitColumn_list_in_parentheses(e){return e.column_list().accept(this)}visitColumn_list(e){return e.column_name().map(e=>e.accept(this))}visitNull_not_null(e){return{kind:o.COLUMN_CONSTRAINT_KIND.NOT_NULL,value:!!e.NOT()}}visitDefault_value(e){return e.DEFAULT()?{kind:o.COLUMN_CONSTRAINT_KIND.DEFAULT,value:e.expr().accept(this)}:e.AUTOINCREMENT()||e.IDENTITY()?{kind:o.COLUMN_CONSTRAINT_KIND.INCREMENT,value:!0}:null}visitExpr(e){return e.primitive_expression()?e.primitive_expression().accept(this):{value:s.getOriginalText(e),type:`expression`}}visitPrimitive_expression(e){return e.NULL_()?{value:null,type:`boolean`}:e.literal()?e.literal().accept(this):{value:s.getOriginalText(e),type:`expression`}}visitLiteral(e){return e.STRING()?{value:u(e),type:`string`}:e.DECIMAL()||e.REAL||e.FLOAT?{value:s.getOriginalText(e),type:`number`}:e.true_false()||e.NULL_()?{value:s.getOriginalText(e),type:`boolean`}:{value:s.getOriginalText(e),type:`expression`}}visitConstraint_action(e){return e.ADD()?e.out_of_line_constraint().accept(this):null}visitInsert_statement(e){let[t,n,r]=e.object_name().accept(this),i=new a.TableRecord({schemaName:n,tableName:r,columns:e.column_list_in_parentheses()?e.column_list_in_parentheses().accept(this):this.findTable(n,r)?.fields.map(e=>e.name)||[],values:e.values_builder()?e.values_builder().accept(this):[]});this.data.records.push(i)}visitValues_builder(e){return e.expr_list().map(e=>t.default(e.accept(this),1))}visitExpr_list(e){return e.expr().map(e=>e.accept(this))}};exports.default=d;