@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 +1 @@
1
- require("../../../../_virtual/_rolldown/runtime.cjs"),require("../../../../model_structure/config.cjs");const e=require("../../parsers/postgresql/PostgreSQLParserVisitor.cjs"),t=require("../../parsers/postgresql/PostgreSQLParser.cjs"),n=require("../AST.cjs"),r=require("../constants.cjs"),i=require("../helpers.cjs");let a=require("lodash-es"),o=require("@dbml/parse"),s=require("antlr4");var c={REF:`ref`},l={TABLE:`table`},u=(e,t,n)=>{let r=t??`public`;return e.find(e=>(e.schemaName??`public`)===r&&e.name===n)},d=e=>e&&e.replaceAll(`''`,`'`),f=class extends e.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],deps:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}visitViewstmt(e){let t=e.qualified_name().accept(this),n=(0,a.last)(t),r=t.length>1?t[t.length-2]:void 0,o=i.getOriginalText(e);this.data.tables.push({name:n,schemaName:r,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:o,kind:`view`}}),p(this,e.selectstmt(),n,r)}visitCreatematviewstmt(e){let t=e.create_mv_target();if(!t)return;let n=t.qualified_name().accept(this),r=(0,a.last)(n),o=n.length>1?n[n.length-2]:void 0,s=i.getOriginalText(e);this.data.tables.push({name:r,schemaName:o,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:s,kind:`materialized_view`,materialized:!0}}),p(this,e.selectstmt(),r,o)}visitRoot(e){return e.stmtblock().accept(this),this.data}visitStmtblock(e){e.stmtmulti().accept(this)}visitStmtmulti(e){e.stmt().map(e=>e.accept(this))}visitStmt(e){if(e.createstmt()){let t=e.createstmt().accept(this);t&&this.data.tables.push(t);return}if(e.indexstmt()){let t=e.indexstmt().accept(this),{tableName:n,schemaName:r}=t.pathName,i=u(this.data.tables,r,n);i&&i.indexes.push(t.index);return}if(e.altertablestmt()){e.altertablestmt().accept(this);return}if(e.commentstmt()){e.commentstmt().accept(this);return}if(e.definestmt()){e.definestmt().accept(this);return}e.insertstmt()&&e.insertstmt().accept(this)}visitCreatestmt(e){let t=e.qualified_name(0).accept(this),i=(0,a.last)(t),o=t.length>1?t[t.length-2]:void 0;if(!e.opttableelementlist())return;let[s,c,l,u]=e.opttableelementlist().accept(this).filter(e=>e).reduce((e,t)=>(t.kind===r.TABLE_CONSTRAINT_KIND.FIELD?e[0].push(t.value):t.kind===r.TABLE_CONSTRAINT_KIND.INDEX?e[1].push(t.value):t.kind===r.TABLE_CONSTRAINT_KIND.FK?e[2].push(t.value):t.kind===r.TABLE_CONSTRAINT_KIND.UNIQUE?e[1].push(t.value):t.kind===r.TABLE_CONSTRAINT_KIND.CHECK&&e[3].push(t.value),e),[[],[],[],[]]);return this.data.refs.push(...(0,a.flatten)(s.map(e=>e.inline_refs.map(t=>(t.endpoints[0].tableName=i,t.endpoints[0].schemaName=o,t.endpoints[0].fieldNames=[e.field.name],t))))),this.data.refs.push(...l.map(e=>(e.endpoints[0].tableName=i,e.endpoints[0].schemaName=o,e))),new n.Table({name:i,schemaName:o,fields:s.map(e=>e.field),indexes:c,checks:u})}visitOpttableelementlist(e){return e.tableelementlist()?e.tableelementlist().accept(this):[]}visitTableelementlist(e){return e.tableelement().map(e=>e.accept(this))}visitTableelement(e){if(e.columnDef())return e.columnDef().accept(this);if(e.tableconstraint())return e.tableconstraint().accept(this)}visitTableconstraint(e){let t=e.name()?.accept(this),n=e.constraintelem().accept(this);if(n)return n.value.name=t,n}visitConstraintelem(e){if(e.PRIMARY())return{kind:r.TABLE_CONSTRAINT_KIND.INDEX,value:new n.Index({pk:!0,columns:e.columnlist().accept(this)})};if(e.FOREIGN()){let t=e.qualified_name().accept(this),n=(0,a.last)(t),i=t.length>1?t[t.length-2]:void 0,s=e.columnlist().accept(this).map(e=>e.value),c=e.column_list_()?.accept(this)?.map(e=>e.value),l=e.key_actions(),u=l?l.accept(this):{onDelete:null,onUpdate:null};return{kind:r.TABLE_CONSTRAINT_KIND.FK,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:s,relation:o.CARDINALITY_MANY},{tableName:n,schemaName:i,fieldNames:c,relation:o.CARDINALITY_MAYBE}],onDelete:u.onDelete,onUpdate:u.onUpdate}}}if(e.UNIQUE())return{kind:r.TABLE_CONSTRAINT_KIND.UNIQUE,value:new n.Index({unique:!0,columns:e.columnlist().accept(this)})};if(e.CHECK()){let t=i.getOriginalText(e.a_expr());return{kind:r.TABLE_CONSTRAINT_KIND.CHECK,value:{expression:t}}}}visitColumn_list_(e){return e.columnlist().accept(this)}visitColumnlist(e){return e.columnElem().map(e=>e.accept(this))}visitColumnElem(e){return{value:e.colid().accept(this),type:r.CONSTRAINT_TYPE.COLUMN}}visitColumnDef(e){let t=e.colid().accept(this),i=e.typename().accept(this),a=e.colquallist().accept(this),o=new Set([`serial`,`smallserial`,`bigserial`]),s=i.type_name.toLowerCase();return o.has(s)&&(a.increment=!0),{kind:r.TABLE_CONSTRAINT_KIND.FIELD,value:{field:new n.Field({name:t,type:i,...a}),inline_refs:a.inline_refs}}}visitColquallist(e){let t={inline_refs:[],checks:[]};return e.colconstraint().forEach(e=>{let n=e.accept(this);if(n){if(n.kind===r.COLUMN_CONSTRAINT_KIND.INLINE_REF){t.inline_refs.push(n.value);return}if(n.kind===r.COLUMN_CONSTRAINT_KIND.CHECK){t.checks.push(n.value);return}t[n.kind]=n.value}}),t}visitColconstraint(e){if(e.colconstraintelem())return e.colconstraintelem().accept(this)}visitColconstraintelem(e){if(e.NULL_P()){let t=!1;return e.NOT()&&(t=!0),{kind:r.COLUMN_CONSTRAINT_KIND.NOT_NULL,value:t}}if(e.UNIQUE())return{kind:r.COLUMN_CONSTRAINT_KIND.UNIQUE,value:!0};if(e.PRIMARY())return{kind:r.COLUMN_CONSTRAINT_KIND.PK,value:!0};if(e.DEFAULT())return{kind:r.COLUMN_CONSTRAINT_KIND.DEFAULT,value:e.b_expr().accept(this)};if(e.IDENTITY_P())return{kind:r.COLUMN_CONSTRAINT_KIND.INCREMENT,value:!0};if(e.CHECK()){let t=i.getOriginalText(e.a_expr());return{kind:r.COLUMN_CONSTRAINT_KIND.CHECK,value:{expression:t}}}if(e.REFERENCES()){let t=e.qualified_name().accept(this),n=(0,a.last)(t),i=t.length>1?t[t.length-2]:void 0,s=e.column_list_()?.accept(this)?.map(e=>e.value),c=e.key_actions(),l=c?c.accept(this):{onDelete:null,onUpdate:null};return{kind:r.COLUMN_CONSTRAINT_KIND.INLINE_REF,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:null,relation:o.CARDINALITY_MANY},{tableName:n,schemaName:i,fieldNames:s,relation:o.CARDINALITY_MAYBE}],onDelete:l.onDelete,onUpdate:l.onUpdate}}}}visitB_expr(e){return e.c_expr()?e.c_expr().accept(this):{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}}visitC_expr_expr(e){return e.aexprconst()?e.aexprconst().accept(this):e.a_expr()?{value:e.a_expr().getText(),type:r.DATA_TYPE.EXPRESSION}:{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}}visitC_expr_exists(e){return{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}}visitC_expr_case(e){return{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}}visitAexprconst(e){return e.sconst()&&e.getChildCount()===1?{value:e.sconst().accept(this),type:r.DATA_TYPE.STRING}:e.TRUE_P()||e.FALSE_P()||e.NULL_P()?{value:e.getText().toLowerCase(),type:r.DATA_TYPE.BOOLEAN}:e.iconst()?{value:e.iconst().accept(this),type:r.DATA_TYPE.NUMBER}:e.fconst()?{value:e.getText(),type:r.DATA_TYPE.NUMBER}:{value:e.getText(),type:r.DATA_TYPE.EXPRESSION}}visitKey_actions(e){let[t,n]=[null,null];return e.key_update()&&(n=e.key_update().accept(this)),e.key_delete()&&(t=e.key_delete().accept(this)),{onDelete:t,onUpdate:n}}visitKey_update(e){return e.key_action().accept(this)}visitKey_delete(e){return e.key_action().accept(this)}visitKey_action(e){let t=[...Array(e.getChildCount()).keys()].reduce((t,n)=>(t+=`${e.getChild(n).getText()} `,t),``);return t.slice(0,t.length-1)}visitQualified_name(e){let t=[e.colid().accept(this)];return e.indirection()&&t.push(...e.indirection().accept(this)),t}visitColid(e){return e.getChild(0).accept(this)}visitUnreserved_keyword(e){return e.getText()}visitIdentifier(e){if(e.Identifier())return e.Identifier().getText();if(e.QuotedIdentifier()){let t=e.QuotedIdentifier().getText();return t.slice(1,t.length-1)}if(e.UnicodeQuotedIdentifier()){let t=e.UnicodeQuotedIdentifier().getText();return t.slice(1,t.length-1)}return e.getChild(0).getText()}visitCol_name_keyword(e){return e.getChild(0).getText()}visitIndirection(e){return e.indirection_el().map(e=>e.accept(this))}visitIndirection_el(e){if(e.attr_name())return e.attr_name().accept(this)}visitAttr_name(e){return e.colLabel().accept(this)}visitColLabel(e){return e.EXIT()?e.EXIT().getText():e.getChild(0).accept(this)}visitReserved_keyword(e){return e.getText()}visitTypename(e){if(e.simpletypename()){let t=``,n=e.simpletypename().accept(this);return e.opt_array_bounds()&&(t=e.opt_array_bounds().accept(this)),e.ARRAY()&&(t=`[${e.iconst()?e.iconst().accept(this):``}]`),{type_name:n.type+t,schemaName:n.schemaName}}}visitSimpletypename(e){return e.generictype()?e.generictype().accept(this):e.character()?{type:e.character().accept(this),schemaName:null}:e.numeric()?{type:e.numeric().accept(this),schemaName:null}:e.constdatetime()?{type:e.constdatetime().accept(this),schemaName:null}:{type:e.getText(),schemaName:null}}visitConstdatetime(e){return`${e.getChild(0).getText()}${e.iconst()?`(${e.iconst().accept(this)})`:``}`}visitNumeric(e){return e.getText()}visitGenerictype(e){if(e.attrs()){let t=[e.getChild(0).getText(),...e.attrs().accept(this)];return{type:(0,a.last)(t),schemaName:t.length>1?t[t.length-2]:void 0}}let t=``;t=e.type_function_name()?e.type_function_name().accept(this):e.getText();let n=e.type_modifiers_();return{type:t+(n?n.getText():``),schemaName:null}}visitCharacter(e){let t=e.character_c().accept(this);return e.getChildCount()>1&&(t+=`(${e.iconst().accept(this)})`),t}visitCharacter_c(e){let t=[...Array(e.getChildCount()).keys()].reduce((t,n)=>(t+=`${e.getChild(n).getText()} `,t),``);return t.slice(0,t.length-1)}visitType_function_name(e){return e.getChild(0).accept(this)}visitType_func_name_keyword(e){return e.getText()}visitOpt_array_bounds(e){return e.getText()}visitIconst(e){return Number(e.getText()).toString()}visitIndexstmt(e){let t=e.relation_expr().accept(this),r=(0,a.last)(t),i=t.length>1?t[t.length-2]:void 0,o=null;e.index_name_()?o=e.index_name_().accept(this):e.name()&&(o=e.name().accept(this));let s=e.access_method_clause();return{pathName:{tableName:r,schemaName:i},index:new n.Index({name:o,unique:e.unique_()?.accept(this)??!1,type:s?s.accept(this):void 0,columns:e.index_params().accept(this)})}}visitIndex_name_(e){return e.name()?.accept(this)}visitName(e){return e.colid().accept(this)}visitAccess_method_clause(e){if(e.name())return e.name().accept(this)}visitRelation_expr(e){return e.qualified_name().accept(this)}visitIndex_params(e){return e.index_elem().map(e=>e.accept(this)).filter(e=>!!e)}visitIndex_elem(e){return e.colid()?{value:e.colid().accept(this),type:r.CONSTRAINT_TYPE.STRING}:{value:e.getText(),type:r.CONSTRAINT_TYPE.EXPRESSION}}visitUnique_(e){return!!e.UNIQUE()}visitAltertablestmt(e){if(e.TABLE()&&e.relation_expr()&&e.alter_table_cmds()){let t=e.relation_expr().accept(this),i=(0,a.last)(t),o=t.length>1?t[t.length-2]:void 0;return e.alter_table_cmds().accept(this).map(e=>{if(!e)return null;let t=null;switch(e.kind){case r.TABLE_CONSTRAINT_KIND.FK:t=c.REF,e.value.endpoints[0].tableName=i,e.value.endpoints[0].schemaName=o,this.data.refs.push(e.value);break;case r.TABLE_CONSTRAINT_KIND.CHECK:{let t=u(this.data.tables,o,i);if(!t)break;t.checks||=[],t.checks.push(e.value);break}case r.TABLE_CONSTRAINT_KIND.UNIQUE:case r.TABLE_CONSTRAINT_KIND.PK:case r.TABLE_CONSTRAINT_KIND.INDEX:{if(e.value.columns.length===0||!(e.value.pk||e.value.unique))break;t=e.kind;let r=u(this.data.tables,o,i);if(!r)break;if(e.value.columns.length===1&&(e.value.unique||e.value.pk)){let t=e.value.columns[0].value,n=r.fields.find(e=>e.name===t);if(n){n[e.value.unique?`unique`:`pk`]=!0;break}}let a=new n.Index({name:e.value.name,columns:e.value.columns,note:e.value.note,pk:e.value.pk,type:e.value.type,unique:e.value.unique});r.indexes.push(a);break}default:break}return{kind:t,value:e.value}}).filter(e=>e)}}visitAlter_table_cmds(e){return e.alter_table_cmd().map(e=>e.accept(this))}visitAlter_table_cmd(e){if(e.tableconstraint())return e.tableconstraint().accept(this)}visitCommentstmt(e){if(e.object_type_any_name()){let t=e.object_type_any_name().accept(this);if(!t)return;if(t===l.TABLE){let t=e.any_name().accept(this),n=(0,a.last)(t),r=t.length>1?t[t.length-2]:void 0,i=u(this.data.tables,r,n);if(!i)return;i.note={value:d(e.comment_text().accept(this))}}}if(e.COLUMN()){let t=e.any_name().accept(this),n=(0,a.last)(t),r=t.length>1?t[t.length-2]:void 0,i=t.length>2?t[t.length-3]:void 0,o=u(this.data.tables,i,r).fields.find(e=>e.name===n);if(!o)return;o.note={value:d(e.comment_text().accept(this))}}}visitComment_text(e){return e.NULL_P()?null:e.sconst().accept(this)}visitSconst(e){return e.anysconst().accept(this)}visitAnysconst(e){let t=e.getChild(0).getText();return t.slice(1,t.length-1)}visitObject_type_any_name(e){if(e.TABLE())return l.TABLE}visitAny_name(e){let t=[e.colid().accept(this)];return e.attrs()&&t.push(...e.attrs().accept(this)),t}visitAttrs(e){return e.attr_name().map(e=>e.accept(this))}visitDefinestmt(e){if(e.TYPE_P()&&e.enum_val_list_()){let t=e.any_name(0).accept(this),r=(0,a.last)(t),i=t.length>1?t[t.length-2]:void 0,o=e.enum_val_list_().accept(this).map(e=>({name:e}));if(!o)return;let s=new n.Enum({name:r,schemaName:i,values:o});this.data.enums.push(s.toJSON())}}visitEnum_val_list_(e){return e.enum_val_list()?.accept(this)}visitEnum_val_list(e){return e.sconst().map(e=>e.accept(this))}visitInsertstmt(e){let t=e.insert_target().accept(this),r=(0,a.last)(t),i=t.length>1?t[t.length-2]:void 0,{columns:o,values:s}=e.insert_rest().accept(this);if(o.length===0){let e=u(this.data.tables,i,r);e&&e.fields&&(o=e.fields.map(e=>e.name))}let c=new n.TableRecord({schemaName:i,tableName:r,columns:o,values:s});this.data.records.push(c)}visitInsert_target(e){return e.qualified_name().accept(this)}visitInsert_rest(e){return{columns:e.insert_column_list()?e.insert_column_list().accept(this):[],values:(e.selectstmt().accept(this)||[]).filter(e=>Array.isArray(e)).map(e=>e.filter(e=>e).map(({value:e,type:t})=>({value:e,type:t})))}}visitInsert_column_list(e){return e.insert_column_item().map(e=>e.accept(this))}visitInsert_column_item(e){return e.colid().accept(this)}visitSelectstmt(e){return e.select_no_parens()?e.select_no_parens().accept(this):null}visitSelect_no_parens(e){return e.select_clause().accept(this)}visitSelect_clause(e){let t=e.simple_select_intersect();return!t||t.length===0?null:t[0].accept(this)}visitSimple_select_intersect(e){let t=e.simple_select_pramary();return!t||t.length===0?null:t[0].accept(this)}visitSimple_select_pramary(e){return e.values_clause()?e.values_clause().accept(this):null}visitValues_clause(e){return e.expr_list().map(e=>(0,a.flattenDepth)(e.accept(this),21))}visitA_expr_collate(e){let[t,n,r={}]=e.a_expr_typecast().accept(this),{value:i,type:a}=t;return{value:i,type:a,...r}}};function p(e,n,r,i){if(!n)return;let c=new Set,l=(0,o.normalizeQualifiedName)(i??`public`,r),d=new s.ParseTreeListener;d.enterEveryRule=n=>{if(!(n instanceof t.default.Relation_exprContext))return;let s=n.accept(e),d=(0,a.last)(s),f=s.length>1?s[s.length-2]:void 0,p=(0,o.normalizeQualifiedName)(f??`public`,d);p!==l&&(c.has(p)||u(e.data.tables,f,d)&&(c.add(p),e.data.deps.push({edges:[{upstream:{schemaName:f,tableName:d,fieldNames:[]},downstream:{schemaName:i,tableName:r,fieldNames:[]}}],note:null,custom:{}})))},s.ParseTreeWalker.DEFAULT.walk(d,n)}exports.default=f;
1
+ require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../../node_modules/lodash-es/flatten.cjs"),t=require("../../../../node_modules/lodash-es/last.cjs"),n=require("../../../../node_modules/lodash-es/flattenDepth.cjs"),r=require("../../../../node_modules/lodash-es/lodash.cjs");require("../../../../model_structure/config.cjs");const i=require("../../parsers/postgresql/PostgreSQLParserVisitor.cjs"),a=require("../../parsers/postgresql/PostgreSQLParser.cjs"),o=require("../AST.cjs"),s=require("../constants.cjs"),c=require("../helpers.cjs");let l=require("@dbml/parse"),u=require("antlr4");r.init_lodash();var d={REF:`ref`},f={TABLE:`table`},p=(e,t,n)=>{let r=t??`public`;return e.find(e=>(e.schemaName??`public`)===r&&e.name===n)},m=e=>e&&e.replaceAll(`''`,`'`),h=class extends i.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],deps:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}visitViewstmt(e){let n=e.qualified_name().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=c.getOriginalText(e);this.data.tables.push({name:r,schemaName:i,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:a,kind:`view`}}),g(this,e.selectstmt(),r,i)}visitCreatematviewstmt(e){let n=e.create_mv_target();if(!n)return;let r=n.qualified_name().accept(this),i=t.default(r),a=r.length>1?r[r.length-2]:void 0,o=c.getOriginalText(e);this.data.tables.push({name:i,schemaName:a,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:o,kind:`materialized_view`,materialized:!0}}),g(this,e.selectstmt(),i,a)}visitRoot(e){return e.stmtblock().accept(this),this.data}visitStmtblock(e){e.stmtmulti().accept(this)}visitStmtmulti(e){e.stmt().map(e=>e.accept(this))}visitStmt(e){if(e.createstmt()){let t=e.createstmt().accept(this);t&&this.data.tables.push(t);return}if(e.indexstmt()){let t=e.indexstmt().accept(this),{tableName:n,schemaName:r}=t.pathName,i=p(this.data.tables,r,n);i&&i.indexes.push(t.index);return}if(e.altertablestmt()){e.altertablestmt().accept(this);return}if(e.commentstmt()){e.commentstmt().accept(this);return}if(e.definestmt()){e.definestmt().accept(this);return}e.insertstmt()&&e.insertstmt().accept(this)}visitCreatestmt(n){let r=n.qualified_name(0).accept(this),i=t.default(r),a=r.length>1?r[r.length-2]:void 0;if(!n.opttableelementlist())return;let[c,l,u,d]=n.opttableelementlist().accept(this).filter(e=>e).reduce((e,t)=>(t.kind===s.TABLE_CONSTRAINT_KIND.FIELD?e[0].push(t.value):t.kind===s.TABLE_CONSTRAINT_KIND.INDEX?e[1].push(t.value):t.kind===s.TABLE_CONSTRAINT_KIND.FK?e[2].push(t.value):t.kind===s.TABLE_CONSTRAINT_KIND.UNIQUE?e[1].push(t.value):t.kind===s.TABLE_CONSTRAINT_KIND.CHECK&&e[3].push(t.value),e),[[],[],[],[]]);return this.data.refs.push(...e.default(c.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(...u.map(e=>(e.endpoints[0].tableName=i,e.endpoints[0].schemaName=a,e))),new o.Table({name:i,schemaName:a,fields:c.map(e=>e.field),indexes:l,checks:d})}visitOpttableelementlist(e){return e.tableelementlist()?e.tableelementlist().accept(this):[]}visitTableelementlist(e){return e.tableelement().map(e=>e.accept(this))}visitTableelement(e){if(e.columnDef())return e.columnDef().accept(this);if(e.tableconstraint())return e.tableconstraint().accept(this)}visitTableconstraint(e){let t=e.name()?.accept(this),n=e.constraintelem().accept(this);if(n)return n.value.name=t,n}visitConstraintelem(e){if(e.PRIMARY())return{kind:s.TABLE_CONSTRAINT_KIND.INDEX,value:new o.Index({pk:!0,columns:e.columnlist().accept(this)})};if(e.FOREIGN()){let n=e.qualified_name().accept(this),r=t.default(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),c=e.key_actions(),u=c?c.accept(this):{onDelete:null,onUpdate:null};return{kind:s.TABLE_CONSTRAINT_KIND.FK,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:a,relation:l.CARDINALITY_MANY},{tableName:r,schemaName:i,fieldNames:o,relation:l.CARDINALITY_MAYBE}],onDelete:u.onDelete,onUpdate:u.onUpdate}}}if(e.UNIQUE())return{kind:s.TABLE_CONSTRAINT_KIND.UNIQUE,value:new o.Index({unique:!0,columns:e.columnlist().accept(this)})};if(e.CHECK()){let t=c.getOriginalText(e.a_expr());return{kind:s.TABLE_CONSTRAINT_KIND.CHECK,value:{expression:t}}}}visitColumn_list_(e){return e.columnlist().accept(this)}visitColumnlist(e){return e.columnElem().map(e=>e.accept(this))}visitColumnElem(e){return{value:e.colid().accept(this),type:s.CONSTRAINT_TYPE.COLUMN}}visitColumnDef(e){let t=e.colid().accept(this),n=e.typename().accept(this),r=e.colquallist().accept(this),i=new Set([`serial`,`smallserial`,`bigserial`]),a=n.type_name.toLowerCase();return i.has(a)&&(r.increment=!0),{kind:s.TABLE_CONSTRAINT_KIND.FIELD,value:{field:new o.Field({name:t,type:n,...r}),inline_refs:r.inline_refs}}}visitColquallist(e){let t={inline_refs:[],checks:[]};return e.colconstraint().forEach(e=>{let n=e.accept(this);if(n){if(n.kind===s.COLUMN_CONSTRAINT_KIND.INLINE_REF){t.inline_refs.push(n.value);return}if(n.kind===s.COLUMN_CONSTRAINT_KIND.CHECK){t.checks.push(n.value);return}t[n.kind]=n.value}}),t}visitColconstraint(e){if(e.colconstraintelem())return e.colconstraintelem().accept(this)}visitColconstraintelem(e){if(e.NULL_P()){let t=!1;return e.NOT()&&(t=!0),{kind:s.COLUMN_CONSTRAINT_KIND.NOT_NULL,value:t}}if(e.UNIQUE())return{kind:s.COLUMN_CONSTRAINT_KIND.UNIQUE,value:!0};if(e.PRIMARY())return{kind:s.COLUMN_CONSTRAINT_KIND.PK,value:!0};if(e.DEFAULT())return{kind:s.COLUMN_CONSTRAINT_KIND.DEFAULT,value:e.b_expr().accept(this)};if(e.IDENTITY_P())return{kind:s.COLUMN_CONSTRAINT_KIND.INCREMENT,value:!0};if(e.CHECK()){let t=c.getOriginalText(e.a_expr());return{kind:s.COLUMN_CONSTRAINT_KIND.CHECK,value:{expression:t}}}if(e.REFERENCES()){let n=e.qualified_name().accept(this),r=t.default(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(),c=o?o.accept(this):{onDelete:null,onUpdate:null};return{kind:s.COLUMN_CONSTRAINT_KIND.INLINE_REF,value:{endpoints:[{tableName:null,schemaName:null,fieldNames:null,relation:l.CARDINALITY_MANY},{tableName:r,schemaName:i,fieldNames:a,relation:l.CARDINALITY_MAYBE}],onDelete:c.onDelete,onUpdate:c.onUpdate}}}}visitB_expr(e){return e.c_expr()?e.c_expr().accept(this):{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}}visitC_expr_expr(e){return e.aexprconst()?e.aexprconst().accept(this):e.a_expr()?{value:e.a_expr().getText(),type:s.DATA_TYPE.EXPRESSION}:{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}}visitC_expr_exists(e){return{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}}visitC_expr_case(e){return{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}}visitAexprconst(e){return e.sconst()&&e.getChildCount()===1?{value:e.sconst().accept(this),type:s.DATA_TYPE.STRING}:e.TRUE_P()||e.FALSE_P()||e.NULL_P()?{value:e.getText().toLowerCase(),type:s.DATA_TYPE.BOOLEAN}:e.iconst()?{value:e.iconst().accept(this),type:s.DATA_TYPE.NUMBER}:e.fconst()?{value:e.getText(),type:s.DATA_TYPE.NUMBER}:{value:e.getText(),type:s.DATA_TYPE.EXPRESSION}}visitKey_actions(e){let[t,n]=[null,null];return e.key_update()&&(n=e.key_update().accept(this)),e.key_delete()&&(t=e.key_delete().accept(this)),{onDelete:t,onUpdate:n}}visitKey_update(e){return e.key_action().accept(this)}visitKey_delete(e){return e.key_action().accept(this)}visitKey_action(e){let t=[...Array(e.getChildCount()).keys()].reduce((t,n)=>(t+=`${e.getChild(n).getText()} `,t),``);return t.slice(0,t.length-1)}visitQualified_name(e){let t=[e.colid().accept(this)];return e.indirection()&&t.push(...e.indirection().accept(this)),t}visitColid(e){return e.getChild(0).accept(this)}visitUnreserved_keyword(e){return e.getText()}visitIdentifier(e){if(e.Identifier())return e.Identifier().getText();if(e.QuotedIdentifier()){let t=e.QuotedIdentifier().getText();return t.slice(1,t.length-1)}if(e.UnicodeQuotedIdentifier()){let t=e.UnicodeQuotedIdentifier().getText();return t.slice(1,t.length-1)}return e.getChild(0).getText()}visitCol_name_keyword(e){return e.getChild(0).getText()}visitIndirection(e){return e.indirection_el().map(e=>e.accept(this))}visitIndirection_el(e){if(e.attr_name())return e.attr_name().accept(this)}visitAttr_name(e){return e.colLabel().accept(this)}visitColLabel(e){return e.EXIT()?e.EXIT().getText():e.getChild(0).accept(this)}visitReserved_keyword(e){return e.getText()}visitTypename(e){if(e.simpletypename()){let t=``,n=e.simpletypename().accept(this);return e.opt_array_bounds()&&(t=e.opt_array_bounds().accept(this)),e.ARRAY()&&(t=`[${e.iconst()?e.iconst().accept(this):``}]`),{type_name:n.type+t,schemaName:n.schemaName}}}visitSimpletypename(e){return e.generictype()?e.generictype().accept(this):e.character()?{type:e.character().accept(this),schemaName:null}:e.numeric()?{type:e.numeric().accept(this),schemaName:null}:e.constdatetime()?{type:e.constdatetime().accept(this),schemaName:null}:{type:e.getText(),schemaName:null}}visitConstdatetime(e){return`${e.getChild(0).getText()}${e.iconst()?`(${e.iconst().accept(this)})`:``}`}visitNumeric(e){return e.getText()}visitGenerictype(e){if(e.attrs()){let n=[e.getChild(0).getText(),...e.attrs().accept(this)];return{type:t.default(n),schemaName:n.length>1?n[n.length-2]:void 0}}let n=``;n=e.type_function_name()?e.type_function_name().accept(this):e.getText();let r=e.type_modifiers_();return{type:n+(r?r.getText():``),schemaName:null}}visitCharacter(e){let t=e.character_c().accept(this);return e.getChildCount()>1&&(t+=`(${e.iconst().accept(this)})`),t}visitCharacter_c(e){let t=[...Array(e.getChildCount()).keys()].reduce((t,n)=>(t+=`${e.getChild(n).getText()} `,t),``);return t.slice(0,t.length-1)}visitType_function_name(e){return e.getChild(0).accept(this)}visitType_func_name_keyword(e){return e.getText()}visitOpt_array_bounds(e){return e.getText()}visitIconst(e){return Number(e.getText()).toString()}visitIndexstmt(e){let n=e.relation_expr().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=null;e.index_name_()?a=e.index_name_().accept(this):e.name()&&(a=e.name().accept(this));let s=e.access_method_clause();return{pathName:{tableName:r,schemaName:i},index:new o.Index({name:a,unique:e.unique_()?.accept(this)??!1,type:s?s.accept(this):void 0,columns:e.index_params().accept(this)})}}visitIndex_name_(e){return e.name()?.accept(this)}visitName(e){return e.colid().accept(this)}visitAccess_method_clause(e){if(e.name())return e.name().accept(this)}visitRelation_expr(e){return e.qualified_name().accept(this)}visitIndex_params(e){return e.index_elem().map(e=>e.accept(this)).filter(e=>!!e)}visitIndex_elem(e){return e.colid()?{value:e.colid().accept(this),type:s.CONSTRAINT_TYPE.STRING}:{value:e.getText(),type:s.CONSTRAINT_TYPE.EXPRESSION}}visitUnique_(e){return!!e.UNIQUE()}visitAltertablestmt(e){if(e.TABLE()&&e.relation_expr()&&e.alter_table_cmds()){let n=e.relation_expr().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0;return e.alter_table_cmds().accept(this).map(e=>{if(!e)return null;let t=null;switch(e.kind){case s.TABLE_CONSTRAINT_KIND.FK:t=d.REF,e.value.endpoints[0].tableName=r,e.value.endpoints[0].schemaName=i,this.data.refs.push(e.value);break;case s.TABLE_CONSTRAINT_KIND.CHECK:{let t=p(this.data.tables,i,r);if(!t)break;t.checks||=[],t.checks.push(e.value);break}case s.TABLE_CONSTRAINT_KIND.UNIQUE:case s.TABLE_CONSTRAINT_KIND.PK:case s.TABLE_CONSTRAINT_KIND.INDEX:{if(e.value.columns.length===0||!(e.value.pk||e.value.unique))break;t=e.kind;let n=p(this.data.tables,i,r);if(!n)break;if(e.value.columns.length===1&&(e.value.unique||e.value.pk)){let t=e.value.columns[0].value,r=n.fields.find(e=>e.name===t);if(r){r[e.value.unique?`unique`:`pk`]=!0;break}}let a=new o.Index({name:e.value.name,columns:e.value.columns,note:e.value.note,pk:e.value.pk,type:e.value.type,unique:e.value.unique});n.indexes.push(a);break}default:break}return{kind:t,value:e.value}}).filter(e=>e)}}visitAlter_table_cmds(e){return e.alter_table_cmd().map(e=>e.accept(this))}visitAlter_table_cmd(e){if(e.tableconstraint())return e.tableconstraint().accept(this)}visitCommentstmt(e){if(e.object_type_any_name()){let n=e.object_type_any_name().accept(this);if(!n)return;if(n===f.TABLE){let n=e.any_name().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=p(this.data.tables,i,r);if(!a)return;a.note={value:m(e.comment_text().accept(this))}}}if(e.COLUMN()){let n=e.any_name().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=n.length>2?n[n.length-3]:void 0,o=p(this.data.tables,a,i).fields.find(e=>e.name===r);if(!o)return;o.note={value:m(e.comment_text().accept(this))}}}visitComment_text(e){return e.NULL_P()?null:e.sconst().accept(this)}visitSconst(e){return e.anysconst().accept(this)}visitAnysconst(e){let t=e.getChild(0).getText();return t.slice(1,t.length-1)}visitObject_type_any_name(e){if(e.TABLE())return f.TABLE}visitAny_name(e){let t=[e.colid().accept(this)];return e.attrs()&&t.push(...e.attrs().accept(this)),t}visitAttrs(e){return e.attr_name().map(e=>e.accept(this))}visitDefinestmt(e){if(e.TYPE_P()&&e.enum_val_list_()){let n=e.any_name(0).accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=e.enum_val_list_().accept(this).map(e=>({name:e}));if(!a)return;let s=new o.Enum({name:r,schemaName:i,values:a});this.data.enums.push(s.toJSON())}}visitEnum_val_list_(e){return e.enum_val_list()?.accept(this)}visitEnum_val_list(e){return e.sconst().map(e=>e.accept(this))}visitInsertstmt(e){let n=e.insert_target().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,{columns:a,values:s}=e.insert_rest().accept(this);if(a.length===0){let e=p(this.data.tables,i,r);e&&e.fields&&(a=e.fields.map(e=>e.name))}let c=new o.TableRecord({schemaName:i,tableName:r,columns:a,values:s});this.data.records.push(c)}visitInsert_target(e){return e.qualified_name().accept(this)}visitInsert_rest(e){return{columns:e.insert_column_list()?e.insert_column_list().accept(this):[],values:(e.selectstmt().accept(this)||[]).filter(e=>Array.isArray(e)).map(e=>e.filter(e=>e).map(({value:e,type:t})=>({value:e,type:t})))}}visitInsert_column_list(e){return e.insert_column_item().map(e=>e.accept(this))}visitInsert_column_item(e){return e.colid().accept(this)}visitSelectstmt(e){return e.select_no_parens()?e.select_no_parens().accept(this):null}visitSelect_no_parens(e){return e.select_clause().accept(this)}visitSelect_clause(e){let t=e.simple_select_intersect();return!t||t.length===0?null:t[0].accept(this)}visitSimple_select_intersect(e){let t=e.simple_select_pramary();return!t||t.length===0?null:t[0].accept(this)}visitSimple_select_pramary(e){return e.values_clause()?e.values_clause().accept(this):null}visitValues_clause(e){return e.expr_list().map(e=>n.default(e.accept(this),21))}visitA_expr_collate(e){let[t,n,r={}]=e.a_expr_typecast().accept(this),{value:i,type:a}=t;return{value:i,type:a,...r}}};function g(e,n,r,i){if(!n)return;let o=new Set,s=(0,l.normalizeQualifiedName)(i??`public`,r),c=new u.ParseTreeListener;c.enterEveryRule=n=>{if(!(n instanceof a.default.Relation_exprContext))return;let c=n.accept(e),u=t.default(c),d=c.length>1?c[c.length-2]:void 0,f=(0,l.normalizeQualifiedName)(d??`public`,u);f!==s&&(o.has(f)||p(e.data.tables,d,u)&&(o.add(f),e.data.deps.push({edges:[{upstream:{schemaName:d,tableName:u,fieldNames:[]},downstream:{schemaName:i,tableName:r,fieldNames:[]}}],note:null,custom:{}})))},u.ParseTreeWalker.DEFAULT.walk(c,n)}exports.default=h;