@shapecraft/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/dist/cjs/common/array.d.ts +3 -0
  2. package/dist/cjs/common/array.d.ts.map +1 -0
  3. package/dist/cjs/common/array.js +17 -0
  4. package/dist/cjs/common/array.js.map +1 -0
  5. package/dist/cjs/common/index.d.ts +6 -0
  6. package/dist/cjs/common/index.d.ts.map +1 -0
  7. package/dist/cjs/common/index.js +22 -0
  8. package/dist/cjs/common/index.js.map +1 -0
  9. package/dist/cjs/common/is.d.ts +5 -0
  10. package/dist/cjs/common/is.d.ts.map +1 -0
  11. package/dist/cjs/common/is.js +36 -0
  12. package/dist/cjs/common/is.js.map +1 -0
  13. package/dist/cjs/common/object.d.ts +4 -0
  14. package/dist/cjs/common/object.d.ts.map +1 -0
  15. package/dist/cjs/common/object.js +20 -0
  16. package/dist/cjs/common/object.js.map +1 -0
  17. package/dist/cjs/common/phantom.d.ts +2 -0
  18. package/dist/cjs/common/phantom.d.ts.map +1 -0
  19. package/dist/cjs/common/phantom.js +3 -0
  20. package/dist/cjs/common/phantom.js.map +1 -0
  21. package/dist/cjs/common/result.d.ts +22 -0
  22. package/dist/cjs/common/result.d.ts.map +1 -0
  23. package/dist/cjs/common/result.js +28 -0
  24. package/dist/cjs/common/result.js.map +1 -0
  25. package/dist/cjs/common/string.d.ts +3 -0
  26. package/dist/cjs/common/string.d.ts.map +1 -0
  27. package/dist/cjs/common/string.js +33 -0
  28. package/dist/cjs/common/string.js.map +1 -0
  29. package/dist/cjs/common/types.d.ts +14 -0
  30. package/dist/cjs/common/types.d.ts.map +1 -0
  31. package/dist/cjs/common/types.js +3 -0
  32. package/dist/cjs/common/types.js.map +1 -0
  33. package/dist/cjs/index.d.ts +2 -0
  34. package/dist/cjs/index.d.ts.map +1 -0
  35. package/dist/cjs/index.js +18 -0
  36. package/dist/cjs/index.js.map +1 -0
  37. package/dist/cjs/shape/annotate.d.ts +57 -0
  38. package/dist/cjs/shape/annotate.d.ts.map +1 -0
  39. package/dist/cjs/shape/annotate.js +37 -0
  40. package/dist/cjs/shape/annotate.js.map +1 -0
  41. package/dist/cjs/shape/annotation.d.ts +39 -0
  42. package/dist/cjs/shape/annotation.d.ts.map +1 -0
  43. package/dist/cjs/shape/annotation.js +3 -0
  44. package/dist/cjs/shape/annotation.js.map +1 -0
  45. package/dist/cjs/shape/base.d.ts +33 -0
  46. package/dist/cjs/shape/base.d.ts.map +1 -0
  47. package/dist/cjs/shape/base.js +26 -0
  48. package/dist/cjs/shape/base.js.map +1 -0
  49. package/dist/cjs/shape/builder.d.ts +168 -0
  50. package/dist/cjs/shape/builder.d.ts.map +1 -0
  51. package/dist/cjs/shape/builder.js +156 -0
  52. package/dist/cjs/shape/builder.js.map +1 -0
  53. package/dist/cjs/shape/error.d.ts +5 -0
  54. package/dist/cjs/shape/error.d.ts.map +1 -0
  55. package/dist/cjs/shape/error.js +3 -0
  56. package/dist/cjs/shape/error.js.map +1 -0
  57. package/dist/cjs/shape/index.d.ts +4 -0
  58. package/dist/cjs/shape/index.d.ts.map +1 -0
  59. package/dist/cjs/shape/index.js +20 -0
  60. package/dist/cjs/shape/index.js.map +1 -0
  61. package/dist/cjs/shape/number.d.ts +8 -0
  62. package/dist/cjs/shape/number.d.ts.map +1 -0
  63. package/dist/cjs/shape/number.js +123 -0
  64. package/dist/cjs/shape/number.js.map +1 -0
  65. package/dist/cjs/shape/shape.d.ts +150 -0
  66. package/dist/cjs/shape/shape.d.ts.map +1 -0
  67. package/dist/cjs/shape/shape.js +158 -0
  68. package/dist/cjs/shape/shape.js.map +1 -0
  69. package/dist/cjs/shape/tags.d.ts +4 -0
  70. package/dist/cjs/shape/tags.d.ts.map +1 -0
  71. package/dist/cjs/shape/tags.js +3 -0
  72. package/dist/cjs/shape/tags.js.map +1 -0
  73. package/dist/cjs/shape/transforms/index.d.ts +4 -0
  74. package/dist/cjs/shape/transforms/index.d.ts.map +1 -0
  75. package/dist/cjs/shape/transforms/index.js +20 -0
  76. package/dist/cjs/shape/transforms/index.js.map +1 -0
  77. package/dist/cjs/shape/transforms/json-schema/index.d.ts +3 -0
  78. package/dist/cjs/shape/transforms/json-schema/index.d.ts.map +1 -0
  79. package/dist/cjs/shape/transforms/json-schema/index.js +19 -0
  80. package/dist/cjs/shape/transforms/json-schema/index.js.map +1 -0
  81. package/dist/cjs/shape/transforms/json-schema/transform.d.ts +5 -0
  82. package/dist/cjs/shape/transforms/json-schema/transform.d.ts.map +1 -0
  83. package/dist/cjs/shape/transforms/json-schema/transform.js +739 -0
  84. package/dist/cjs/shape/transforms/json-schema/transform.js.map +1 -0
  85. package/dist/cjs/shape/transforms/json-schema/types.d.ts +87 -0
  86. package/dist/cjs/shape/transforms/json-schema/types.d.ts.map +1 -0
  87. package/dist/cjs/shape/transforms/json-schema/types.js +3 -0
  88. package/dist/cjs/shape/transforms/json-schema/types.js.map +1 -0
  89. package/dist/cjs/shape/transforms/sql/dialects/dialect.d.ts +51 -0
  90. package/dist/cjs/shape/transforms/sql/dialects/dialect.d.ts.map +1 -0
  91. package/dist/cjs/shape/transforms/sql/dialects/dialect.js +8 -0
  92. package/dist/cjs/shape/transforms/sql/dialects/dialect.js.map +1 -0
  93. package/dist/cjs/shape/transforms/sql/dialects/index.d.ts +7 -0
  94. package/dist/cjs/shape/transforms/sql/dialects/index.d.ts.map +1 -0
  95. package/dist/cjs/shape/transforms/sql/dialects/index.js +19 -0
  96. package/dist/cjs/shape/transforms/sql/dialects/index.js.map +1 -0
  97. package/dist/cjs/shape/transforms/sql/dialects/postgres.d.ts +8 -0
  98. package/dist/cjs/shape/transforms/sql/dialects/postgres.d.ts.map +1 -0
  99. package/dist/cjs/shape/transforms/sql/dialects/postgres.js +374 -0
  100. package/dist/cjs/shape/transforms/sql/dialects/postgres.js.map +1 -0
  101. package/dist/cjs/shape/transforms/sql/dialects/sqlite.d.ts +3 -0
  102. package/dist/cjs/shape/transforms/sql/dialects/sqlite.d.ts.map +1 -0
  103. package/dist/cjs/shape/transforms/sql/dialects/sqlite.js +318 -0
  104. package/dist/cjs/shape/transforms/sql/dialects/sqlite.js.map +1 -0
  105. package/dist/cjs/shape/transforms/sql/from-sql.d.ts +5 -0
  106. package/dist/cjs/shape/transforms/sql/from-sql.d.ts.map +1 -0
  107. package/dist/cjs/shape/transforms/sql/from-sql.js +201 -0
  108. package/dist/cjs/shape/transforms/sql/from-sql.js.map +1 -0
  109. package/dist/cjs/shape/transforms/sql/index.d.ts +4 -0
  110. package/dist/cjs/shape/transforms/sql/index.d.ts.map +1 -0
  111. package/dist/cjs/shape/transforms/sql/index.js +20 -0
  112. package/dist/cjs/shape/transforms/sql/index.js.map +1 -0
  113. package/dist/cjs/shape/transforms/sql/options.d.ts +6 -0
  114. package/dist/cjs/shape/transforms/sql/options.d.ts.map +1 -0
  115. package/dist/cjs/shape/transforms/sql/options.js +6 -0
  116. package/dist/cjs/shape/transforms/sql/options.js.map +1 -0
  117. package/dist/cjs/shape/transforms/sql/parser/check-decoder.d.ts +25 -0
  118. package/dist/cjs/shape/transforms/sql/parser/check-decoder.d.ts.map +1 -0
  119. package/dist/cjs/shape/transforms/sql/parser/check-decoder.js +417 -0
  120. package/dist/cjs/shape/transforms/sql/parser/check-decoder.js.map +1 -0
  121. package/dist/cjs/shape/transforms/sql/parser/create-domain.d.ts +11 -0
  122. package/dist/cjs/shape/transforms/sql/parser/create-domain.d.ts.map +1 -0
  123. package/dist/cjs/shape/transforms/sql/parser/create-domain.js +95 -0
  124. package/dist/cjs/shape/transforms/sql/parser/create-domain.js.map +1 -0
  125. package/dist/cjs/shape/transforms/sql/parser/create-table.d.ts +28 -0
  126. package/dist/cjs/shape/transforms/sql/parser/create-table.d.ts.map +1 -0
  127. package/dist/cjs/shape/transforms/sql/parser/create-table.js +744 -0
  128. package/dist/cjs/shape/transforms/sql/parser/create-table.js.map +1 -0
  129. package/dist/cjs/shape/transforms/sql/parser/create-type.d.ts +23 -0
  130. package/dist/cjs/shape/transforms/sql/parser/create-type.d.ts.map +1 -0
  131. package/dist/cjs/shape/transforms/sql/parser/create-type.js +76 -0
  132. package/dist/cjs/shape/transforms/sql/parser/create-type.js.map +1 -0
  133. package/dist/cjs/shape/transforms/sql/parser/cursor.d.ts +32 -0
  134. package/dist/cjs/shape/transforms/sql/parser/cursor.d.ts.map +1 -0
  135. package/dist/cjs/shape/transforms/sql/parser/cursor.js +168 -0
  136. package/dist/cjs/shape/transforms/sql/parser/cursor.js.map +1 -0
  137. package/dist/cjs/shape/transforms/sql/parser/default-decoder.d.ts +10 -0
  138. package/dist/cjs/shape/transforms/sql/parser/default-decoder.d.ts.map +1 -0
  139. package/dist/cjs/shape/transforms/sql/parser/default-decoder.js +125 -0
  140. package/dist/cjs/shape/transforms/sql/parser/default-decoder.js.map +1 -0
  141. package/dist/cjs/shape/transforms/sql/parser/lexer.d.ts +14 -0
  142. package/dist/cjs/shape/transforms/sql/parser/lexer.d.ts.map +1 -0
  143. package/dist/cjs/shape/transforms/sql/parser/lexer.js +259 -0
  144. package/dist/cjs/shape/transforms/sql/parser/lexer.js.map +1 -0
  145. package/dist/cjs/shape/transforms/sql/parser/pg-types.d.ts +21 -0
  146. package/dist/cjs/shape/transforms/sql/parser/pg-types.d.ts.map +1 -0
  147. package/dist/cjs/shape/transforms/sql/parser/pg-types.js +213 -0
  148. package/dist/cjs/shape/transforms/sql/parser/pg-types.js.map +1 -0
  149. package/dist/cjs/shape/transforms/sql/parser/sqlite-types.d.ts +8 -0
  150. package/dist/cjs/shape/transforms/sql/parser/sqlite-types.d.ts.map +1 -0
  151. package/dist/cjs/shape/transforms/sql/parser/sqlite-types.js +93 -0
  152. package/dist/cjs/shape/transforms/sql/parser/sqlite-types.js.map +1 -0
  153. package/dist/cjs/shape/transforms/sql/parser/statements.d.ts +9 -0
  154. package/dist/cjs/shape/transforms/sql/parser/statements.d.ts.map +1 -0
  155. package/dist/cjs/shape/transforms/sql/parser/statements.js +158 -0
  156. package/dist/cjs/shape/transforms/sql/parser/statements.js.map +1 -0
  157. package/dist/cjs/shape/transforms/sql/parser/type-spec.d.ts +12 -0
  158. package/dist/cjs/shape/transforms/sql/parser/type-spec.d.ts.map +1 -0
  159. package/dist/cjs/shape/transforms/sql/parser/type-spec.js +136 -0
  160. package/dist/cjs/shape/transforms/sql/parser/type-spec.js.map +1 -0
  161. package/dist/cjs/shape/transforms/sql/transform.d.ts +5 -0
  162. package/dist/cjs/shape/transforms/sql/transform.d.ts.map +1 -0
  163. package/dist/cjs/shape/transforms/sql/transform.js +262 -0
  164. package/dist/cjs/shape/transforms/sql/transform.js.map +1 -0
  165. package/dist/cjs/shape/transforms/typescript/index.d.ts +2 -0
  166. package/dist/cjs/shape/transforms/typescript/index.d.ts.map +1 -0
  167. package/dist/cjs/shape/transforms/typescript/index.js +18 -0
  168. package/dist/cjs/shape/transforms/typescript/index.js.map +1 -0
  169. package/dist/cjs/shape/transforms/typescript/transform.d.ts +3 -0
  170. package/dist/cjs/shape/transforms/typescript/transform.d.ts.map +1 -0
  171. package/dist/cjs/shape/transforms/typescript/transform.js +190 -0
  172. package/dist/cjs/shape/transforms/typescript/transform.js.map +1 -0
  173. package/dist/cjs/shape/validate.d.ts +7 -0
  174. package/dist/cjs/shape/validate.d.ts.map +1 -0
  175. package/dist/cjs/shape/validate.js +360 -0
  176. package/dist/cjs/shape/validate.js.map +1 -0
  177. package/dist/esm/common/array.d.ts +3 -0
  178. package/dist/esm/common/array.d.ts.map +1 -0
  179. package/dist/esm/common/array.js +12 -0
  180. package/dist/esm/common/array.js.map +1 -0
  181. package/dist/esm/common/index.d.ts +6 -0
  182. package/dist/esm/common/index.d.ts.map +1 -0
  183. package/dist/esm/common/index.js +6 -0
  184. package/dist/esm/common/index.js.map +1 -0
  185. package/dist/esm/common/is.d.ts +5 -0
  186. package/dist/esm/common/is.d.ts.map +1 -0
  187. package/dist/esm/common/is.js +29 -0
  188. package/dist/esm/common/is.js.map +1 -0
  189. package/dist/esm/common/object.d.ts +4 -0
  190. package/dist/esm/common/object.d.ts.map +1 -0
  191. package/dist/esm/common/object.js +15 -0
  192. package/dist/esm/common/object.js.map +1 -0
  193. package/dist/esm/common/phantom.d.ts +2 -0
  194. package/dist/esm/common/phantom.d.ts.map +1 -0
  195. package/dist/esm/common/phantom.js +2 -0
  196. package/dist/esm/common/phantom.js.map +1 -0
  197. package/dist/esm/common/result.d.ts +22 -0
  198. package/dist/esm/common/result.d.ts.map +1 -0
  199. package/dist/esm/common/result.js +25 -0
  200. package/dist/esm/common/result.js.map +1 -0
  201. package/dist/esm/common/string.d.ts +3 -0
  202. package/dist/esm/common/string.d.ts.map +1 -0
  203. package/dist/esm/common/string.js +28 -0
  204. package/dist/esm/common/string.js.map +1 -0
  205. package/dist/esm/common/types.d.ts +14 -0
  206. package/dist/esm/common/types.d.ts.map +1 -0
  207. package/dist/esm/common/types.js +2 -0
  208. package/dist/esm/common/types.js.map +1 -0
  209. package/dist/esm/index.d.ts +2 -0
  210. package/dist/esm/index.d.ts.map +1 -0
  211. package/dist/esm/index.js +2 -0
  212. package/dist/esm/index.js.map +1 -0
  213. package/dist/esm/shape/annotate.d.ts +57 -0
  214. package/dist/esm/shape/annotate.d.ts.map +1 -0
  215. package/dist/esm/shape/annotate.js +34 -0
  216. package/dist/esm/shape/annotate.js.map +1 -0
  217. package/dist/esm/shape/annotation.d.ts +39 -0
  218. package/dist/esm/shape/annotation.d.ts.map +1 -0
  219. package/dist/esm/shape/annotation.js +2 -0
  220. package/dist/esm/shape/annotation.js.map +1 -0
  221. package/dist/esm/shape/base.d.ts +33 -0
  222. package/dist/esm/shape/base.d.ts.map +1 -0
  223. package/dist/esm/shape/base.js +20 -0
  224. package/dist/esm/shape/base.js.map +1 -0
  225. package/dist/esm/shape/builder.d.ts +168 -0
  226. package/dist/esm/shape/builder.d.ts.map +1 -0
  227. package/dist/esm/shape/builder.js +146 -0
  228. package/dist/esm/shape/builder.js.map +1 -0
  229. package/dist/esm/shape/error.d.ts +5 -0
  230. package/dist/esm/shape/error.d.ts.map +1 -0
  231. package/dist/esm/shape/error.js +2 -0
  232. package/dist/esm/shape/error.js.map +1 -0
  233. package/dist/esm/shape/index.d.ts +4 -0
  234. package/dist/esm/shape/index.d.ts.map +1 -0
  235. package/dist/esm/shape/index.js +4 -0
  236. package/dist/esm/shape/index.js.map +1 -0
  237. package/dist/esm/shape/number.d.ts +8 -0
  238. package/dist/esm/shape/number.d.ts.map +1 -0
  239. package/dist/esm/shape/number.js +114 -0
  240. package/dist/esm/shape/number.js.map +1 -0
  241. package/dist/esm/shape/shape.d.ts +150 -0
  242. package/dist/esm/shape/shape.d.ts.map +1 -0
  243. package/dist/esm/shape/shape.js +121 -0
  244. package/dist/esm/shape/shape.js.map +1 -0
  245. package/dist/esm/shape/tags.d.ts +4 -0
  246. package/dist/esm/shape/tags.d.ts.map +1 -0
  247. package/dist/esm/shape/tags.js +2 -0
  248. package/dist/esm/shape/tags.js.map +1 -0
  249. package/dist/esm/shape/transforms/index.d.ts +4 -0
  250. package/dist/esm/shape/transforms/index.d.ts.map +1 -0
  251. package/dist/esm/shape/transforms/index.js +4 -0
  252. package/dist/esm/shape/transforms/index.js.map +1 -0
  253. package/dist/esm/shape/transforms/json-schema/index.d.ts +3 -0
  254. package/dist/esm/shape/transforms/json-schema/index.d.ts.map +1 -0
  255. package/dist/esm/shape/transforms/json-schema/index.js +3 -0
  256. package/dist/esm/shape/transforms/json-schema/index.js.map +1 -0
  257. package/dist/esm/shape/transforms/json-schema/transform.d.ts +5 -0
  258. package/dist/esm/shape/transforms/json-schema/transform.d.ts.map +1 -0
  259. package/dist/esm/shape/transforms/json-schema/transform.js +734 -0
  260. package/dist/esm/shape/transforms/json-schema/transform.js.map +1 -0
  261. package/dist/esm/shape/transforms/json-schema/types.d.ts +87 -0
  262. package/dist/esm/shape/transforms/json-schema/types.d.ts.map +1 -0
  263. package/dist/esm/shape/transforms/json-schema/types.js +2 -0
  264. package/dist/esm/shape/transforms/json-schema/types.js.map +1 -0
  265. package/dist/esm/shape/transforms/sql/dialects/dialect.d.ts +51 -0
  266. package/dist/esm/shape/transforms/sql/dialects/dialect.d.ts.map +1 -0
  267. package/dist/esm/shape/transforms/sql/dialects/dialect.js +3 -0
  268. package/dist/esm/shape/transforms/sql/dialects/dialect.js.map +1 -0
  269. package/dist/esm/shape/transforms/sql/dialects/index.d.ts +7 -0
  270. package/dist/esm/shape/transforms/sql/dialects/index.d.ts.map +1 -0
  271. package/dist/esm/shape/transforms/sql/dialects/index.js +12 -0
  272. package/dist/esm/shape/transforms/sql/dialects/index.js.map +1 -0
  273. package/dist/esm/shape/transforms/sql/dialects/postgres.d.ts +8 -0
  274. package/dist/esm/shape/transforms/sql/dialects/postgres.d.ts.map +1 -0
  275. package/dist/esm/shape/transforms/sql/dialects/postgres.js +370 -0
  276. package/dist/esm/shape/transforms/sql/dialects/postgres.js.map +1 -0
  277. package/dist/esm/shape/transforms/sql/dialects/sqlite.d.ts +3 -0
  278. package/dist/esm/shape/transforms/sql/dialects/sqlite.d.ts.map +1 -0
  279. package/dist/esm/shape/transforms/sql/dialects/sqlite.js +315 -0
  280. package/dist/esm/shape/transforms/sql/dialects/sqlite.js.map +1 -0
  281. package/dist/esm/shape/transforms/sql/from-sql.d.ts +5 -0
  282. package/dist/esm/shape/transforms/sql/from-sql.d.ts.map +1 -0
  283. package/dist/esm/shape/transforms/sql/from-sql.js +197 -0
  284. package/dist/esm/shape/transforms/sql/from-sql.js.map +1 -0
  285. package/dist/esm/shape/transforms/sql/index.d.ts +4 -0
  286. package/dist/esm/shape/transforms/sql/index.d.ts.map +1 -0
  287. package/dist/esm/shape/transforms/sql/index.js +4 -0
  288. package/dist/esm/shape/transforms/sql/index.js.map +1 -0
  289. package/dist/esm/shape/transforms/sql/options.d.ts +6 -0
  290. package/dist/esm/shape/transforms/sql/options.d.ts.map +1 -0
  291. package/dist/esm/shape/transforms/sql/options.js +2 -0
  292. package/dist/esm/shape/transforms/sql/options.js.map +1 -0
  293. package/dist/esm/shape/transforms/sql/parser/check-decoder.d.ts +25 -0
  294. package/dist/esm/shape/transforms/sql/parser/check-decoder.d.ts.map +1 -0
  295. package/dist/esm/shape/transforms/sql/parser/check-decoder.js +412 -0
  296. package/dist/esm/shape/transforms/sql/parser/check-decoder.js.map +1 -0
  297. package/dist/esm/shape/transforms/sql/parser/create-domain.d.ts +11 -0
  298. package/dist/esm/shape/transforms/sql/parser/create-domain.d.ts.map +1 -0
  299. package/dist/esm/shape/transforms/sql/parser/create-domain.js +91 -0
  300. package/dist/esm/shape/transforms/sql/parser/create-domain.js.map +1 -0
  301. package/dist/esm/shape/transforms/sql/parser/create-table.d.ts +28 -0
  302. package/dist/esm/shape/transforms/sql/parser/create-table.d.ts.map +1 -0
  303. package/dist/esm/shape/transforms/sql/parser/create-table.js +740 -0
  304. package/dist/esm/shape/transforms/sql/parser/create-table.js.map +1 -0
  305. package/dist/esm/shape/transforms/sql/parser/create-type.d.ts +23 -0
  306. package/dist/esm/shape/transforms/sql/parser/create-type.d.ts.map +1 -0
  307. package/dist/esm/shape/transforms/sql/parser/create-type.js +72 -0
  308. package/dist/esm/shape/transforms/sql/parser/create-type.js.map +1 -0
  309. package/dist/esm/shape/transforms/sql/parser/cursor.d.ts +32 -0
  310. package/dist/esm/shape/transforms/sql/parser/cursor.d.ts.map +1 -0
  311. package/dist/esm/shape/transforms/sql/parser/cursor.js +163 -0
  312. package/dist/esm/shape/transforms/sql/parser/cursor.js.map +1 -0
  313. package/dist/esm/shape/transforms/sql/parser/default-decoder.d.ts +10 -0
  314. package/dist/esm/shape/transforms/sql/parser/default-decoder.d.ts.map +1 -0
  315. package/dist/esm/shape/transforms/sql/parser/default-decoder.js +121 -0
  316. package/dist/esm/shape/transforms/sql/parser/default-decoder.js.map +1 -0
  317. package/dist/esm/shape/transforms/sql/parser/lexer.d.ts +14 -0
  318. package/dist/esm/shape/transforms/sql/parser/lexer.d.ts.map +1 -0
  319. package/dist/esm/shape/transforms/sql/parser/lexer.js +253 -0
  320. package/dist/esm/shape/transforms/sql/parser/lexer.js.map +1 -0
  321. package/dist/esm/shape/transforms/sql/parser/pg-types.d.ts +21 -0
  322. package/dist/esm/shape/transforms/sql/parser/pg-types.d.ts.map +1 -0
  323. package/dist/esm/shape/transforms/sql/parser/pg-types.js +208 -0
  324. package/dist/esm/shape/transforms/sql/parser/pg-types.js.map +1 -0
  325. package/dist/esm/shape/transforms/sql/parser/sqlite-types.d.ts +8 -0
  326. package/dist/esm/shape/transforms/sql/parser/sqlite-types.d.ts.map +1 -0
  327. package/dist/esm/shape/transforms/sql/parser/sqlite-types.js +89 -0
  328. package/dist/esm/shape/transforms/sql/parser/sqlite-types.js.map +1 -0
  329. package/dist/esm/shape/transforms/sql/parser/statements.d.ts +9 -0
  330. package/dist/esm/shape/transforms/sql/parser/statements.d.ts.map +1 -0
  331. package/dist/esm/shape/transforms/sql/parser/statements.js +153 -0
  332. package/dist/esm/shape/transforms/sql/parser/statements.js.map +1 -0
  333. package/dist/esm/shape/transforms/sql/parser/type-spec.d.ts +12 -0
  334. package/dist/esm/shape/transforms/sql/parser/type-spec.d.ts.map +1 -0
  335. package/dist/esm/shape/transforms/sql/parser/type-spec.js +130 -0
  336. package/dist/esm/shape/transforms/sql/parser/type-spec.js.map +1 -0
  337. package/dist/esm/shape/transforms/sql/transform.d.ts +5 -0
  338. package/dist/esm/shape/transforms/sql/transform.d.ts.map +1 -0
  339. package/dist/esm/shape/transforms/sql/transform.js +258 -0
  340. package/dist/esm/shape/transforms/sql/transform.js.map +1 -0
  341. package/dist/esm/shape/transforms/typescript/index.d.ts +2 -0
  342. package/dist/esm/shape/transforms/typescript/index.d.ts.map +1 -0
  343. package/dist/esm/shape/transforms/typescript/index.js +2 -0
  344. package/dist/esm/shape/transforms/typescript/index.js.map +1 -0
  345. package/dist/esm/shape/transforms/typescript/transform.d.ts +3 -0
  346. package/dist/esm/shape/transforms/typescript/transform.d.ts.map +1 -0
  347. package/dist/esm/shape/transforms/typescript/transform.js +186 -0
  348. package/dist/esm/shape/transforms/typescript/transform.js.map +1 -0
  349. package/dist/esm/shape/validate.d.ts +7 -0
  350. package/dist/esm/shape/validate.d.ts.map +1 -0
  351. package/dist/esm/shape/validate.js +355 -0
  352. package/dist/esm/shape/validate.js.map +1 -0
  353. package/dist/esm/src/common/array.d.ts +3 -0
  354. package/dist/esm/src/common/array.d.ts.map +1 -0
  355. package/dist/esm/src/common/array.js +12 -0
  356. package/dist/esm/src/common/array.js.map +1 -0
  357. package/dist/esm/src/common/index.d.ts +6 -0
  358. package/dist/esm/src/common/index.d.ts.map +1 -0
  359. package/dist/esm/src/common/index.js +6 -0
  360. package/dist/esm/src/common/index.js.map +1 -0
  361. package/dist/esm/src/common/is.d.ts +5 -0
  362. package/dist/esm/src/common/is.d.ts.map +1 -0
  363. package/dist/esm/src/common/is.js +29 -0
  364. package/dist/esm/src/common/is.js.map +1 -0
  365. package/dist/esm/src/common/object.d.ts +4 -0
  366. package/dist/esm/src/common/object.d.ts.map +1 -0
  367. package/dist/esm/src/common/object.js +15 -0
  368. package/dist/esm/src/common/object.js.map +1 -0
  369. package/dist/esm/src/common/phantom.d.ts +2 -0
  370. package/dist/esm/src/common/phantom.d.ts.map +1 -0
  371. package/dist/esm/src/common/phantom.js +2 -0
  372. package/dist/esm/src/common/phantom.js.map +1 -0
  373. package/dist/esm/src/common/result.d.ts +22 -0
  374. package/dist/esm/src/common/result.d.ts.map +1 -0
  375. package/dist/esm/src/common/result.js +25 -0
  376. package/dist/esm/src/common/result.js.map +1 -0
  377. package/dist/esm/src/common/string.d.ts +3 -0
  378. package/dist/esm/src/common/string.d.ts.map +1 -0
  379. package/dist/esm/src/common/string.js +28 -0
  380. package/dist/esm/src/common/string.js.map +1 -0
  381. package/dist/esm/src/common/types.d.ts +14 -0
  382. package/dist/esm/src/common/types.d.ts.map +1 -0
  383. package/dist/esm/src/common/types.js +2 -0
  384. package/dist/esm/src/common/types.js.map +1 -0
  385. package/dist/esm/src/index.d.ts +2 -0
  386. package/dist/esm/src/index.d.ts.map +1 -0
  387. package/dist/esm/src/index.js +2 -0
  388. package/dist/esm/src/index.js.map +1 -0
  389. package/dist/esm/src/shape/annotate.d.ts +57 -0
  390. package/dist/esm/src/shape/annotate.d.ts.map +1 -0
  391. package/dist/esm/src/shape/annotate.js +34 -0
  392. package/dist/esm/src/shape/annotate.js.map +1 -0
  393. package/dist/esm/src/shape/annotation.d.ts +39 -0
  394. package/dist/esm/src/shape/annotation.d.ts.map +1 -0
  395. package/dist/esm/src/shape/annotation.js +2 -0
  396. package/dist/esm/src/shape/annotation.js.map +1 -0
  397. package/dist/esm/src/shape/base.d.ts +33 -0
  398. package/dist/esm/src/shape/base.d.ts.map +1 -0
  399. package/dist/esm/src/shape/base.js +20 -0
  400. package/dist/esm/src/shape/base.js.map +1 -0
  401. package/dist/esm/src/shape/builder.d.ts +168 -0
  402. package/dist/esm/src/shape/builder.d.ts.map +1 -0
  403. package/dist/esm/src/shape/builder.js +146 -0
  404. package/dist/esm/src/shape/builder.js.map +1 -0
  405. package/dist/esm/src/shape/error.d.ts +5 -0
  406. package/dist/esm/src/shape/error.d.ts.map +1 -0
  407. package/dist/esm/src/shape/error.js +2 -0
  408. package/dist/esm/src/shape/error.js.map +1 -0
  409. package/dist/esm/src/shape/index.d.ts +4 -0
  410. package/dist/esm/src/shape/index.d.ts.map +1 -0
  411. package/dist/esm/src/shape/index.js +4 -0
  412. package/dist/esm/src/shape/index.js.map +1 -0
  413. package/dist/esm/src/shape/number.d.ts +8 -0
  414. package/dist/esm/src/shape/number.d.ts.map +1 -0
  415. package/dist/esm/src/shape/number.js +114 -0
  416. package/dist/esm/src/shape/number.js.map +1 -0
  417. package/dist/esm/src/shape/shape.d.ts +150 -0
  418. package/dist/esm/src/shape/shape.d.ts.map +1 -0
  419. package/dist/esm/src/shape/shape.js +121 -0
  420. package/dist/esm/src/shape/shape.js.map +1 -0
  421. package/dist/esm/src/shape/tags.d.ts +4 -0
  422. package/dist/esm/src/shape/tags.d.ts.map +1 -0
  423. package/dist/esm/src/shape/tags.js +2 -0
  424. package/dist/esm/src/shape/tags.js.map +1 -0
  425. package/dist/esm/src/shape/transforms/index.d.ts +4 -0
  426. package/dist/esm/src/shape/transforms/index.d.ts.map +1 -0
  427. package/dist/esm/src/shape/transforms/index.js +4 -0
  428. package/dist/esm/src/shape/transforms/index.js.map +1 -0
  429. package/dist/esm/src/shape/transforms/json-schema/index.d.ts +3 -0
  430. package/dist/esm/src/shape/transforms/json-schema/index.d.ts.map +1 -0
  431. package/dist/esm/src/shape/transforms/json-schema/index.js +3 -0
  432. package/dist/esm/src/shape/transforms/json-schema/index.js.map +1 -0
  433. package/dist/esm/src/shape/transforms/json-schema/transform.d.ts +5 -0
  434. package/dist/esm/src/shape/transforms/json-schema/transform.d.ts.map +1 -0
  435. package/dist/esm/src/shape/transforms/json-schema/transform.js +734 -0
  436. package/dist/esm/src/shape/transforms/json-schema/transform.js.map +1 -0
  437. package/dist/esm/src/shape/transforms/json-schema/types.d.ts +87 -0
  438. package/dist/esm/src/shape/transforms/json-schema/types.d.ts.map +1 -0
  439. package/dist/esm/src/shape/transforms/json-schema/types.js +2 -0
  440. package/dist/esm/src/shape/transforms/json-schema/types.js.map +1 -0
  441. package/dist/esm/src/shape/transforms/sql/dialects/dialect.d.ts +51 -0
  442. package/dist/esm/src/shape/transforms/sql/dialects/dialect.d.ts.map +1 -0
  443. package/dist/esm/src/shape/transforms/sql/dialects/dialect.js +3 -0
  444. package/dist/esm/src/shape/transforms/sql/dialects/dialect.js.map +1 -0
  445. package/dist/esm/src/shape/transforms/sql/dialects/index.d.ts +7 -0
  446. package/dist/esm/src/shape/transforms/sql/dialects/index.d.ts.map +1 -0
  447. package/dist/esm/src/shape/transforms/sql/dialects/index.js +12 -0
  448. package/dist/esm/src/shape/transforms/sql/dialects/index.js.map +1 -0
  449. package/dist/esm/src/shape/transforms/sql/dialects/postgres.d.ts +8 -0
  450. package/dist/esm/src/shape/transforms/sql/dialects/postgres.d.ts.map +1 -0
  451. package/dist/esm/src/shape/transforms/sql/dialects/postgres.js +370 -0
  452. package/dist/esm/src/shape/transforms/sql/dialects/postgres.js.map +1 -0
  453. package/dist/esm/src/shape/transforms/sql/dialects/sqlite.d.ts +3 -0
  454. package/dist/esm/src/shape/transforms/sql/dialects/sqlite.d.ts.map +1 -0
  455. package/dist/esm/src/shape/transforms/sql/dialects/sqlite.js +315 -0
  456. package/dist/esm/src/shape/transforms/sql/dialects/sqlite.js.map +1 -0
  457. package/dist/esm/src/shape/transforms/sql/from-sql.d.ts +5 -0
  458. package/dist/esm/src/shape/transforms/sql/from-sql.d.ts.map +1 -0
  459. package/dist/esm/src/shape/transforms/sql/from-sql.js +197 -0
  460. package/dist/esm/src/shape/transforms/sql/from-sql.js.map +1 -0
  461. package/dist/esm/src/shape/transforms/sql/index.d.ts +4 -0
  462. package/dist/esm/src/shape/transforms/sql/index.d.ts.map +1 -0
  463. package/dist/esm/src/shape/transforms/sql/index.js +4 -0
  464. package/dist/esm/src/shape/transforms/sql/index.js.map +1 -0
  465. package/dist/esm/src/shape/transforms/sql/options.d.ts +6 -0
  466. package/dist/esm/src/shape/transforms/sql/options.d.ts.map +1 -0
  467. package/dist/esm/src/shape/transforms/sql/options.js +2 -0
  468. package/dist/esm/src/shape/transforms/sql/options.js.map +1 -0
  469. package/dist/esm/src/shape/transforms/sql/parser/check-decoder.d.ts +25 -0
  470. package/dist/esm/src/shape/transforms/sql/parser/check-decoder.d.ts.map +1 -0
  471. package/dist/esm/src/shape/transforms/sql/parser/check-decoder.js +412 -0
  472. package/dist/esm/src/shape/transforms/sql/parser/check-decoder.js.map +1 -0
  473. package/dist/esm/src/shape/transforms/sql/parser/create-domain.d.ts +11 -0
  474. package/dist/esm/src/shape/transforms/sql/parser/create-domain.d.ts.map +1 -0
  475. package/dist/esm/src/shape/transforms/sql/parser/create-domain.js +91 -0
  476. package/dist/esm/src/shape/transforms/sql/parser/create-domain.js.map +1 -0
  477. package/dist/esm/src/shape/transforms/sql/parser/create-table.d.ts +28 -0
  478. package/dist/esm/src/shape/transforms/sql/parser/create-table.d.ts.map +1 -0
  479. package/dist/esm/src/shape/transforms/sql/parser/create-table.js +740 -0
  480. package/dist/esm/src/shape/transforms/sql/parser/create-table.js.map +1 -0
  481. package/dist/esm/src/shape/transforms/sql/parser/create-type.d.ts +23 -0
  482. package/dist/esm/src/shape/transforms/sql/parser/create-type.d.ts.map +1 -0
  483. package/dist/esm/src/shape/transforms/sql/parser/create-type.js +72 -0
  484. package/dist/esm/src/shape/transforms/sql/parser/create-type.js.map +1 -0
  485. package/dist/esm/src/shape/transforms/sql/parser/cursor.d.ts +32 -0
  486. package/dist/esm/src/shape/transforms/sql/parser/cursor.d.ts.map +1 -0
  487. package/dist/esm/src/shape/transforms/sql/parser/cursor.js +163 -0
  488. package/dist/esm/src/shape/transforms/sql/parser/cursor.js.map +1 -0
  489. package/dist/esm/src/shape/transforms/sql/parser/default-decoder.d.ts +10 -0
  490. package/dist/esm/src/shape/transforms/sql/parser/default-decoder.d.ts.map +1 -0
  491. package/dist/esm/src/shape/transforms/sql/parser/default-decoder.js +121 -0
  492. package/dist/esm/src/shape/transforms/sql/parser/default-decoder.js.map +1 -0
  493. package/dist/esm/src/shape/transforms/sql/parser/lexer.d.ts +14 -0
  494. package/dist/esm/src/shape/transforms/sql/parser/lexer.d.ts.map +1 -0
  495. package/dist/esm/src/shape/transforms/sql/parser/lexer.js +253 -0
  496. package/dist/esm/src/shape/transforms/sql/parser/lexer.js.map +1 -0
  497. package/dist/esm/src/shape/transforms/sql/parser/pg-types.d.ts +21 -0
  498. package/dist/esm/src/shape/transforms/sql/parser/pg-types.d.ts.map +1 -0
  499. package/dist/esm/src/shape/transforms/sql/parser/pg-types.js +208 -0
  500. package/dist/esm/src/shape/transforms/sql/parser/pg-types.js.map +1 -0
  501. package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.d.ts +8 -0
  502. package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.d.ts.map +1 -0
  503. package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.js +89 -0
  504. package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.js.map +1 -0
  505. package/dist/esm/src/shape/transforms/sql/parser/statements.d.ts +9 -0
  506. package/dist/esm/src/shape/transforms/sql/parser/statements.d.ts.map +1 -0
  507. package/dist/esm/src/shape/transforms/sql/parser/statements.js +153 -0
  508. package/dist/esm/src/shape/transforms/sql/parser/statements.js.map +1 -0
  509. package/dist/esm/src/shape/transforms/sql/parser/type-spec.d.ts +12 -0
  510. package/dist/esm/src/shape/transforms/sql/parser/type-spec.d.ts.map +1 -0
  511. package/dist/esm/src/shape/transforms/sql/parser/type-spec.js +130 -0
  512. package/dist/esm/src/shape/transforms/sql/parser/type-spec.js.map +1 -0
  513. package/dist/esm/src/shape/transforms/sql/transform.d.ts +5 -0
  514. package/dist/esm/src/shape/transforms/sql/transform.d.ts.map +1 -0
  515. package/dist/esm/src/shape/transforms/sql/transform.js +258 -0
  516. package/dist/esm/src/shape/transforms/sql/transform.js.map +1 -0
  517. package/dist/esm/src/shape/transforms/typescript/index.d.ts +2 -0
  518. package/dist/esm/src/shape/transforms/typescript/index.d.ts.map +1 -0
  519. package/dist/esm/src/shape/transforms/typescript/index.js +2 -0
  520. package/dist/esm/src/shape/transforms/typescript/index.js.map +1 -0
  521. package/dist/esm/src/shape/transforms/typescript/transform.d.ts +3 -0
  522. package/dist/esm/src/shape/transforms/typescript/transform.d.ts.map +1 -0
  523. package/dist/esm/src/shape/transforms/typescript/transform.js +186 -0
  524. package/dist/esm/src/shape/transforms/typescript/transform.js.map +1 -0
  525. package/dist/esm/src/shape/validate.d.ts +7 -0
  526. package/dist/esm/src/shape/validate.d.ts.map +1 -0
  527. package/dist/esm/src/shape/validate.js +355 -0
  528. package/dist/esm/src/shape/validate.js.map +1 -0
  529. package/package.json +40 -0
  530. package/src/common/array.test.ts +19 -0
  531. package/src/common/array.ts +15 -0
  532. package/src/common/index.ts +5 -0
  533. package/src/common/is.ts +23 -0
  534. package/src/common/object.ts +35 -0
  535. package/src/common/phantom.ts +1 -0
  536. package/src/common/result.ts +43 -0
  537. package/src/common/string.ts +28 -0
  538. package/src/common/types.ts +34 -0
  539. package/src/index.ts +1 -0
  540. package/src/shape/annotate.ts +139 -0
  541. package/src/shape/annotation.ts +47 -0
  542. package/src/shape/base.ts +71 -0
  543. package/src/shape/builder.test.ts +728 -0
  544. package/src/shape/builder.ts +475 -0
  545. package/src/shape/error.ts +4 -0
  546. package/src/shape/index.ts +3 -0
  547. package/src/shape/number.ts +118 -0
  548. package/src/shape/shape.test.ts +792 -0
  549. package/src/shape/shape.ts +377 -0
  550. package/src/shape/tags.ts +14 -0
  551. package/src/shape/transforms/index.ts +3 -0
  552. package/src/shape/transforms/json-schema/index.ts +2 -0
  553. package/src/shape/transforms/json-schema/transform.test.ts +850 -0
  554. package/src/shape/transforms/json-schema/transform.ts +882 -0
  555. package/src/shape/transforms/json-schema/types.ts +132 -0
  556. package/src/shape/transforms/sql/dialects/dialect.ts +89 -0
  557. package/src/shape/transforms/sql/dialects/index.ts +14 -0
  558. package/src/shape/transforms/sql/dialects/postgres.ts +392 -0
  559. package/src/shape/transforms/sql/dialects/sqlite.ts +333 -0
  560. package/src/shape/transforms/sql/from-sql.test.ts +704 -0
  561. package/src/shape/transforms/sql/from-sql.ts +210 -0
  562. package/src/shape/transforms/sql/index.ts +3 -0
  563. package/src/shape/transforms/sql/options.ts +6 -0
  564. package/src/shape/transforms/sql/parser/check-decoder.ts +457 -0
  565. package/src/shape/transforms/sql/parser/create-domain.ts +105 -0
  566. package/src/shape/transforms/sql/parser/create-table.ts +809 -0
  567. package/src/shape/transforms/sql/parser/create-type.ts +91 -0
  568. package/src/shape/transforms/sql/parser/cursor.ts +179 -0
  569. package/src/shape/transforms/sql/parser/default-decoder.ts +129 -0
  570. package/src/shape/transforms/sql/parser/lexer.ts +289 -0
  571. package/src/shape/transforms/sql/parser/pg-types.ts +247 -0
  572. package/src/shape/transforms/sql/parser/sqlite-types.ts +103 -0
  573. package/src/shape/transforms/sql/parser/statements.ts +127 -0
  574. package/src/shape/transforms/sql/parser/type-spec.ts +159 -0
  575. package/src/shape/transforms/sql/transform.sqlite.test.ts +448 -0
  576. package/src/shape/transforms/sql/transform.test.ts +880 -0
  577. package/src/shape/transforms/sql/transform.ts +295 -0
  578. package/src/shape/transforms/typescript/index.ts +1 -0
  579. package/src/shape/transforms/typescript/transform.ts +211 -0
  580. package/src/shape/tuple.test.ts +171 -0
  581. package/src/shape/validate.ts +413 -0
  582. package/tsconfig.cjs.json +11 -0
  583. package/tsconfig.esm.json +10 -0
  584. package/tsconfig.json +23 -0
@@ -0,0 +1,744 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseCreateTable = void 0;
4
+ const shape_1 = require("../../../shape");
5
+ const check_decoder_1 = require("./check-decoder");
6
+ const cursor_1 = require("./cursor");
7
+ const default_decoder_1 = require("./default-decoder");
8
+ const pg_types_1 = require("./pg-types");
9
+ const sqlite_types_1 = require("./sqlite-types");
10
+ const type_spec_1 = require("./type-spec");
11
+ const qualifiedName = (parts) => {
12
+ if (parts.length === 1)
13
+ return { name: parts[0] };
14
+ return { schema: parts[0], name: parts.slice(1).join(".") };
15
+ };
16
+ const splitAtTopLevelCommas = (tokens) => {
17
+ const out = [];
18
+ let buf = [];
19
+ let depth = 0;
20
+ for (const t of tokens) {
21
+ if (t.kind === "punct" && t.value === "(")
22
+ depth += 1;
23
+ else if (t.kind === "punct" && t.value === ")")
24
+ depth -= 1;
25
+ if (t.kind === "punct" && t.value === "," && depth === 0) {
26
+ if (buf.length > 0)
27
+ out.push(buf);
28
+ buf = [];
29
+ continue;
30
+ }
31
+ buf.push(t);
32
+ }
33
+ if (buf.length > 0)
34
+ out.push(buf);
35
+ return out;
36
+ };
37
+ const REF_ACTION_MAP = {
38
+ cascade: "cascade",
39
+ restrict: "restrict",
40
+ // "set null" / "set default" are two-word — handled in parsing
41
+ };
42
+ const parseReferentialAction = (c) => {
43
+ if (c.consumeIdent("cascade"))
44
+ return "cascade";
45
+ if (c.consumeIdent("restrict"))
46
+ return "restrict";
47
+ if (c.consumeIdent("no")) {
48
+ c.consumeIdent("action");
49
+ return "noAction";
50
+ }
51
+ if (c.consumeIdent("set")) {
52
+ if (c.consumeIdent("null"))
53
+ return "setNull";
54
+ if (c.consumeIdent("default"))
55
+ return "setDefault";
56
+ return null;
57
+ }
58
+ return null;
59
+ };
60
+ // Read the type spec tokens up to where a column constraint keyword begins
61
+ // (or end of column-def). Returns the consumed tokens.
62
+ const readTypeTokens = (c) => {
63
+ const out = [];
64
+ // first ident (the base type or first part of qualified name)
65
+ if (c.peek().kind !== "ident") {
66
+ // unexpected — caller should error
67
+ return out;
68
+ }
69
+ out.push(c.consume());
70
+ // dotted continuation
71
+ while (c.isPunct(".")) {
72
+ out.push(c.consume()); // '.'
73
+ if (c.peek().kind !== "ident")
74
+ break;
75
+ out.push(c.consume());
76
+ }
77
+ // multi-word types: peek for known continuations
78
+ const firstTwoExtend = (a, b) => {
79
+ const combos = [
80
+ "double precision",
81
+ "character varying",
82
+ "bit varying",
83
+ "timestamp with",
84
+ "time with",
85
+ "timestamp without",
86
+ "time without",
87
+ ];
88
+ return combos.includes(`${a} ${b}`);
89
+ };
90
+ const first = out[0]?.value;
91
+ const next = c.peek();
92
+ if (typeof first === "string" &&
93
+ next.kind === "ident" &&
94
+ !next.quoted &&
95
+ firstTwoExtend(first, next.value)) {
96
+ out.push(c.consume());
97
+ // possibly "time zone" suffix
98
+ if (c.isIdent("time") && c.peek(1).kind === "ident") {
99
+ const t1 = c.peek(1);
100
+ if (t1.kind === "ident" && t1.value === "zone") {
101
+ out.push(c.consume());
102
+ out.push(c.consume());
103
+ }
104
+ }
105
+ }
106
+ // optional (args)
107
+ if (c.isPunct("(")) {
108
+ out.push(c.consume());
109
+ let depth = 1;
110
+ while (!c.done() && depth > 0) {
111
+ const t = c.peek();
112
+ if (t.kind === "punct" && t.value === "(")
113
+ depth += 1;
114
+ if (t.kind === "punct" && t.value === ")")
115
+ depth -= 1;
116
+ out.push(c.consume());
117
+ }
118
+ }
119
+ // optional [] array suffix
120
+ while (c.isPunct("[") &&
121
+ c.peek(1).kind === "punct" &&
122
+ c.peek(1).value === "]") {
123
+ out.push(c.consume());
124
+ out.push(c.consume());
125
+ }
126
+ return out;
127
+ };
128
+ // Convert generated-as-expression tokens to a clean SQL string.
129
+ const tokensToExprSql = (tokens) => (0, check_decoder_1.checkExprToSql)(tokens);
130
+ const parseColumnConstraints = (c) => {
131
+ const meta = {
132
+ notNull: false,
133
+ primary: false,
134
+ unique: false,
135
+ autoIncrement: false,
136
+ checks: [],
137
+ };
138
+ while (!c.done()) {
139
+ if (c.consumeIdent("constraint")) {
140
+ // anonymous constraint name — consume it
141
+ if (c.peek().kind === "ident")
142
+ c.consume();
143
+ continue;
144
+ }
145
+ if (c.consumeIdent("not")) {
146
+ if (c.consumeIdent("null")) {
147
+ meta.notNull = true;
148
+ continue;
149
+ }
150
+ // unknown form — bail
151
+ break;
152
+ }
153
+ if (c.consumeIdent("null")) {
154
+ // explicit NULL — nothing to do
155
+ continue;
156
+ }
157
+ if (c.consumeIdent("primary")) {
158
+ c.consumeIdent("key");
159
+ meta.primary = true;
160
+ continue;
161
+ }
162
+ if (c.consumeIdent("autoincrement")) {
163
+ // SQLite-only keyword, but accepting it in any dialect is harmless.
164
+ meta.autoIncrement = true;
165
+ continue;
166
+ }
167
+ if (c.consumeIdent("unique")) {
168
+ meta.unique = true;
169
+ continue;
170
+ }
171
+ if (c.consumeIdent("default")) {
172
+ const defTokens = readDefaultExpr(c);
173
+ meta.default = (0, default_decoder_1.decodeDefault)(defTokens, null);
174
+ continue;
175
+ }
176
+ if (c.consumeIdent("references")) {
177
+ meta.foreign = parseReferencesClause(c);
178
+ continue;
179
+ }
180
+ if (c.consumeIdent("check")) {
181
+ const inner = c.skipParens();
182
+ meta.checks.push(inner);
183
+ continue;
184
+ }
185
+ if (c.consumeIdent("generated")) {
186
+ // GENERATED [ALWAYS|BY DEFAULT] AS (...) STORED
187
+ // GENERATED [ALWAYS|BY DEFAULT] AS IDENTITY [(seq opts)]
188
+ let byDefault = false;
189
+ if (c.consumeIdent("always")) {
190
+ /* */
191
+ }
192
+ else if (c.consumeIdent("by")) {
193
+ c.consumeIdent("default");
194
+ byDefault = true;
195
+ }
196
+ c.expectIdent("as");
197
+ if (c.consumeIdent("identity")) {
198
+ meta.autoIncrement = true;
199
+ // optional (sequence options)
200
+ if (c.isPunct("("))
201
+ c.skipParens();
202
+ continue;
203
+ }
204
+ // expression
205
+ const inner = c.skipParens();
206
+ // STORED keyword (optional but typical)
207
+ let stored = true;
208
+ if (c.consumeIdent("stored"))
209
+ stored = true;
210
+ if (c.consumeIdent("virtual"))
211
+ stored = false;
212
+ meta.generated = { expression: tokensToExprSql(inner), stored };
213
+ if (byDefault) {
214
+ // not really meaningful for expression-generated columns; ignore
215
+ }
216
+ continue;
217
+ }
218
+ if (c.consumeIdent("collate")) {
219
+ // collate name — consume one ident
220
+ if (c.peek().kind === "ident")
221
+ c.consume();
222
+ continue;
223
+ }
224
+ if (c.consumeIdent("deferrable"))
225
+ continue;
226
+ if (c.consumeIdent("not") && c.consumeIdent("deferrable"))
227
+ continue;
228
+ if (c.consumeIdent("initially")) {
229
+ if (c.peek().kind === "ident")
230
+ c.consume();
231
+ continue;
232
+ }
233
+ // Unrecognized constraint — bail
234
+ break;
235
+ }
236
+ return meta;
237
+ };
238
+ const parseReferencesClause = (c) => {
239
+ const parts = c.readDottedName();
240
+ const qn = qualifiedName(parts);
241
+ let column = "id";
242
+ if (c.consumePunct("(")) {
243
+ const colTok = c.expectAnyIdent();
244
+ column = colTok.name;
245
+ c.expectPunct(")");
246
+ }
247
+ const out = { table: qn.name, column };
248
+ while (c.consumeIdent("on")) {
249
+ if (c.consumeIdent("delete")) {
250
+ const a = parseReferentialAction(c);
251
+ if (a !== null)
252
+ out.onDelete = a;
253
+ }
254
+ else if (c.consumeIdent("update")) {
255
+ const a = parseReferentialAction(c);
256
+ if (a !== null)
257
+ out.onUpdate = a;
258
+ }
259
+ else
260
+ break;
261
+ }
262
+ // MATCH FULL / SIMPLE / PARTIAL — consume
263
+ if (c.consumeIdent("match")) {
264
+ if (c.peek().kind === "ident")
265
+ c.consume();
266
+ }
267
+ return out;
268
+ };
269
+ // Read a DEFAULT expression — terminate on a known constraint-start keyword
270
+ // or end of input.
271
+ const readDefaultExpr = (c) => {
272
+ const out = [];
273
+ let depth = 0;
274
+ const STOP = new Set([
275
+ "not",
276
+ "null",
277
+ "primary",
278
+ "unique",
279
+ "references",
280
+ "check",
281
+ "default",
282
+ "generated",
283
+ "constraint",
284
+ "collate",
285
+ "deferrable",
286
+ "initially",
287
+ ]);
288
+ while (!c.done()) {
289
+ const t = c.peek();
290
+ if (t.kind === "punct" && t.value === "(")
291
+ depth += 1;
292
+ if (t.kind === "punct" && t.value === ")")
293
+ depth -= 1;
294
+ if (depth === 0 && t.kind === "ident" && !t.quoted && STOP.has(t.value))
295
+ break;
296
+ out.push(t);
297
+ c.consume();
298
+ }
299
+ return out;
300
+ };
301
+ // Apply a column shape with the column metadata to produce a final shape with
302
+ // annotations folded in. `ctx.isString/isInteger/isArray` are derived from the
303
+ // resolved base shape.
304
+ const applyColumnMeta = (baseShape, meta, pgType, columnName) => {
305
+ // First pass: collect all decoded CHECK updates and the leftover raw
306
+ // expressions. Aggregating before applying lets us swap the base shape
307
+ // (e.g. INTEGER → boolean, TEXT → array) based on the union of hints
308
+ // rather than the order they appeared.
309
+ const ctx = {
310
+ columnName,
311
+ isInteger: baseShape.type === "number",
312
+ isString: baseShape.type === "string",
313
+ isArray: baseShape.type === "array",
314
+ };
315
+ const combined = {};
316
+ const rawChecks = [];
317
+ for (const chkTokens of meta.checks) {
318
+ const dec = (0, check_decoder_1.decodeCheck)(chkTokens, ctx);
319
+ if (!dec.fullyDecoded) {
320
+ rawChecks.push((0, check_decoder_1.checkExprToSql)(chkTokens));
321
+ continue;
322
+ }
323
+ const u = dec.updates;
324
+ if (u.min !== undefined)
325
+ combined.min = u.min;
326
+ if (u.max !== undefined)
327
+ combined.max = u.max;
328
+ if (u.pattern !== undefined)
329
+ combined.pattern = u.pattern;
330
+ if (u.uniqueItems === true)
331
+ combined.uniqueItems = true;
332
+ if (u.unionLiterals !== undefined)
333
+ combined.unionLiterals = u.unionLiterals;
334
+ if (u.isBooleanInt === true)
335
+ combined.isBooleanInt = true;
336
+ if (u.isJsonValid === true)
337
+ combined.isJsonValid = true;
338
+ if (u.tupleLength !== undefined)
339
+ combined.tupleLength = u.tupleLength;
340
+ }
341
+ // Swap the base shape if CHECKs reveal a different underlying type.
342
+ let shape = baseShape;
343
+ if (combined.isBooleanInt === true && baseShape.type === "number") {
344
+ shape = shape_1.shapes.boolean();
345
+ }
346
+ else if (combined.isJsonValid === true && baseShape.type === "string") {
347
+ if (combined.tupleLength !== undefined) {
348
+ const items = [];
349
+ for (let i = 0; i < combined.tupleLength; i += 1)
350
+ items.push(shape_1.shapes.unknown());
351
+ shape = shape_1.shapes.tuple(...items);
352
+ }
353
+ else if (combined.min !== undefined ||
354
+ combined.max !== undefined ||
355
+ combined.uniqueItems === true) {
356
+ shape = shape_1.shapes.array(shape_1.shapes.unknown());
357
+ }
358
+ else {
359
+ shape = shape_1.shapes.unknown();
360
+ }
361
+ }
362
+ else if (combined.unionLiterals !== undefined &&
363
+ baseShape.type === "string") {
364
+ const literals = combined.unionLiterals.map((v) => shape_1.shapes.literal(v));
365
+ shape = shape_1.shapes.union(literals);
366
+ }
367
+ if (!meta.notNull && !meta.primary) {
368
+ shape = shape_1.annotate.optional(shape);
369
+ }
370
+ if (meta.primary) {
371
+ shape = shape_1.annotate.primary(shape);
372
+ }
373
+ if (meta.unique) {
374
+ shape = shape_1.annotate.unique(shape);
375
+ }
376
+ if (meta.autoIncrement) {
377
+ shape = shape_1.annotate.autoIncremented(shape);
378
+ }
379
+ if (meta.foreign !== undefined) {
380
+ shape = shape_1.annotate.as(shape, { foreign: meta.foreign });
381
+ }
382
+ if (meta.generated !== undefined) {
383
+ shape = shape_1.annotate.as(shape, { generated: meta.generated });
384
+ }
385
+ // On a date column, re-interpret a bare string literal as a Date (SQLite
386
+ // emits `DEFAULT '2024-01-01T…'` without a `::timestamptz` cast, so the
387
+ // base decoder leaves it as a string).
388
+ if (meta.default !== undefined &&
389
+ meta.default.kind === "literal" &&
390
+ typeof meta.default.value === "string" &&
391
+ baseShape.type === "date") {
392
+ const d = new Date(meta.default.value);
393
+ const t = d.getTime();
394
+ if (!isNaN(t) && isFinite(t)) {
395
+ meta.default = { kind: "literal", value: d };
396
+ }
397
+ }
398
+ // If the column was swapped to boolean (SQLite INTEGER + IN(0,1)),
399
+ // re-interpret 0/1 numeric defaults as boolean.
400
+ if (meta.default !== undefined &&
401
+ meta.default.kind === "literal" &&
402
+ typeof meta.default.value === "number" &&
403
+ shape.type === "boolean" &&
404
+ (meta.default.value === 0 || meta.default.value === 1)) {
405
+ meta.default = { kind: "literal", value: meta.default.value === 1 };
406
+ }
407
+ if (meta.default !== undefined) {
408
+ if (meta.default.kind === "literal") {
409
+ shape = shape_1.annotate.as(shape, { default: meta.default.value });
410
+ }
411
+ else {
412
+ // decode might have given an empty string for malformed input — skip in that case
413
+ if (meta.default.sql.length > 0) {
414
+ shape = shape_1.annotate.as(shape, { defaultExpr: meta.default.sql });
415
+ }
416
+ }
417
+ }
418
+ // Re-decode defaults that need the pg type context (specifically for `'{}'` on T[])
419
+ if (meta.default !== undefined &&
420
+ meta.default.kind === "expr" &&
421
+ pgType.endsWith("[]") &&
422
+ /^'\{}'$/.test(meta.default.sql.trim())) {
423
+ shape = shape_1.annotate.as(shape, { default: [] });
424
+ }
425
+ if (combined.min !== undefined) {
426
+ shape = shape_1.annotate.as(shape, { min: combined.min });
427
+ }
428
+ if (combined.max !== undefined) {
429
+ shape = shape_1.annotate.as(shape, { max: combined.max });
430
+ }
431
+ if (combined.pattern !== undefined) {
432
+ shape = shape_1.annotate.as(shape, { pattern: combined.pattern });
433
+ }
434
+ if (combined.uniqueItems === true) {
435
+ shape = shape_1.annotate.as(shape, { uniqueItems: true });
436
+ }
437
+ for (const raw of rawChecks) {
438
+ shape = shape_1.annotate.as(shape, { check: raw });
439
+ }
440
+ return shape;
441
+ };
442
+ const parseCreateTable = (tokens, opts) => {
443
+ const c = new cursor_1.TokenCursor(tokens);
444
+ c.expectIdent("create");
445
+ if (c.consumeIdent("or"))
446
+ c.expectIdent("replace");
447
+ // optional UNLOGGED / TEMPORARY etc.
448
+ c.consumeIdent("global");
449
+ c.consumeIdent("local");
450
+ c.consumeIdent("temporary");
451
+ c.consumeIdent("temp");
452
+ c.consumeIdent("unlogged");
453
+ c.expectIdent("table");
454
+ if (c.consumeIdent("if")) {
455
+ c.expectIdent("not");
456
+ c.expectIdent("exists");
457
+ }
458
+ const nameParts = c.readDottedName();
459
+ const qn = qualifiedName(nameParts);
460
+ c.expectPunct("(");
461
+ // collect everything inside the outer parens as defs
462
+ const defsTokens = [];
463
+ let depth = 1;
464
+ while (!c.done() && depth > 0) {
465
+ const t = c.peek();
466
+ if (t.kind === "punct" && t.value === "(")
467
+ depth += 1;
468
+ if (t.kind === "punct" && t.value === ")") {
469
+ depth -= 1;
470
+ if (depth === 0) {
471
+ c.consume();
472
+ break;
473
+ }
474
+ }
475
+ defsTokens.push(t);
476
+ c.consume();
477
+ }
478
+ // anything after the closing paren (PARTITION BY, WITH, etc.) is dropped
479
+ const items = splitAtTopLevelCommas(defsTokens);
480
+ const columns = [];
481
+ // Maps to apply table constraints retroactively
482
+ const colIndex = new Map();
483
+ const colMetas = new Map();
484
+ const baseShapeByName = new Map();
485
+ const pgTypeByName = new Map();
486
+ let tableCheck;
487
+ const uniqueConstraints = [];
488
+ for (const item of items) {
489
+ if (isTableConstraint(item))
490
+ continue; // process in second pass
491
+ const ic = new cursor_1.TokenCursor(item);
492
+ const ident = ic.peek();
493
+ if (ident.kind !== "ident") {
494
+ throw new cursor_1.ParseError(`expected column definition but found ${ident.kind}`, ident.pos);
495
+ }
496
+ const colTok = ic.expectAnyIdent();
497
+ const typeTokens = readTypeTokens(ic);
498
+ const spec = (0, type_spec_1.parseTypeSpec)(typeTokens);
499
+ const resolved = opts.dialect === "sqlite" ?
500
+ (0, sqlite_types_1.resolveSqliteType)(spec)
501
+ : (0, pg_types_1.resolvePgType)(spec, opts.registries);
502
+ let baseShape = resolved.shape;
503
+ const meta = parseColumnConstraints(ic);
504
+ if (resolved.autoIncrement === true) {
505
+ meta.autoIncrement = true;
506
+ }
507
+ const pgType = typeSpecToString(spec);
508
+ const finalShape = applyColumnMeta(baseShape, meta, pgType, colTok.name);
509
+ columns.push({ key: colTok.name, shape: finalShape });
510
+ colIndex.set(colTok.name, columns.length - 1);
511
+ colMetas.set(colTok.name, meta);
512
+ baseShapeByName.set(colTok.name, baseShape);
513
+ pgTypeByName.set(colTok.name, pgType);
514
+ }
515
+ // Second pass: table constraints
516
+ for (const item of items) {
517
+ if (!isTableConstraint(item))
518
+ continue;
519
+ applyTableConstraint(item, {
520
+ columns,
521
+ colIndex,
522
+ pgTypeByName,
523
+ setTableCheck: (chk) => {
524
+ tableCheck = chk;
525
+ },
526
+ pushUniqueConstraint: (entry) => {
527
+ uniqueConstraints.push(entry);
528
+ },
529
+ });
530
+ }
531
+ const mappingAnno = { title: qn.name };
532
+ // In SQLite, a `main.foo`/`temp.foo` prefix is a database alias, not a
533
+ // schema in the PG sense. Drop it so re-emission doesn't try to write a
534
+ // `CREATE SCHEMA` prelude (which SQLite doesn't have).
535
+ if (qn.schema !== undefined && opts.dialect !== "sqlite") {
536
+ mappingAnno.schema = qn.schema;
537
+ }
538
+ if (tableCheck !== undefined)
539
+ mappingAnno.check = tableCheck;
540
+ const out = {
541
+ name: qn.name,
542
+ columns,
543
+ mappingAnno,
544
+ };
545
+ if (qn.schema !== undefined && opts.dialect !== "sqlite") {
546
+ out.schema = qn.schema;
547
+ }
548
+ if (uniqueConstraints.length > 0)
549
+ out.uniqueConstraints = uniqueConstraints;
550
+ return out;
551
+ };
552
+ exports.parseCreateTable = parseCreateTable;
553
+ const typeSpecToString = (spec) => {
554
+ const base = spec.qualified ?? spec.baseName;
555
+ const args = spec.args.length > 0 ? `(${spec.args.join(",")})` : "";
556
+ const arr = spec.isArray ? "[]" : "";
557
+ return `${base}${args}${arr}`;
558
+ };
559
+ const isTableConstraint = (item) => {
560
+ const t0 = item[0];
561
+ if (t0 === undefined || t0.kind !== "ident")
562
+ return false;
563
+ if (t0.value === "constraint")
564
+ return true;
565
+ if (t0.value === "primary" &&
566
+ item[1]?.kind === "ident" &&
567
+ item[1].value === "key" &&
568
+ item[2]?.kind === "punct" &&
569
+ item[2].value === "(")
570
+ return true;
571
+ if (t0.value === "unique" &&
572
+ item[1]?.kind === "punct" &&
573
+ item[1].value === "(")
574
+ return true;
575
+ if (t0.value === "foreign" &&
576
+ item[1]?.kind === "ident" &&
577
+ item[1].value === "key")
578
+ return true;
579
+ if (t0.value === "check" &&
580
+ item[1]?.kind === "punct" &&
581
+ item[1].value === "(")
582
+ return true;
583
+ if (t0.value === "exclude")
584
+ return true;
585
+ if (t0.value === "like" && item[1]?.kind === "ident")
586
+ return true;
587
+ return false;
588
+ };
589
+ const applyTableConstraint = (item, ctx) => {
590
+ const c = new cursor_1.TokenCursor(item);
591
+ let constraintName;
592
+ if (c.consumeIdent("constraint")) {
593
+ if (c.peek().kind === "ident") {
594
+ constraintName = c.consume().value;
595
+ }
596
+ }
597
+ if (c.consumeIdent("primary")) {
598
+ c.consumeIdent("key");
599
+ c.expectPunct("(");
600
+ const cols = readColList(c);
601
+ for (const col of cols) {
602
+ const idx = ctx.colIndex.get(col);
603
+ if (idx === undefined)
604
+ continue;
605
+ const entry = ctx.columns[idx];
606
+ entry.shape = shape_1.annotate.primary(entry.shape);
607
+ // primary implies not-null; remove optional
608
+ entry.shape = { ...entry.shape, anno: stripOptional(entry.shape.anno) };
609
+ }
610
+ return;
611
+ }
612
+ if (c.consumeIdent("unique")) {
613
+ c.expectPunct("(");
614
+ const cols = readColList(c);
615
+ if (cols.length === 1) {
616
+ const col = cols[0];
617
+ const idx = ctx.colIndex.get(col);
618
+ if (idx !== undefined) {
619
+ const entry = ctx.columns[idx];
620
+ entry.shape = shape_1.annotate.unique(entry.shape);
621
+ }
622
+ return;
623
+ }
624
+ const entry = { columns: cols };
625
+ if (constraintName !== undefined)
626
+ entry.name = constraintName;
627
+ ctx.pushUniqueConstraint(entry);
628
+ return;
629
+ }
630
+ if (c.consumeIdent("foreign")) {
631
+ c.expectIdent("key");
632
+ c.expectPunct("(");
633
+ const localCols = readColList(c);
634
+ c.expectIdent("references");
635
+ const parts = c.readDottedName();
636
+ const qn = qualifiedName(parts);
637
+ let refCols = [];
638
+ if (c.consumePunct("(")) {
639
+ refCols = readColList(c);
640
+ }
641
+ if (refCols.length === 0)
642
+ refCols = ["id"];
643
+ let onDelete;
644
+ let onUpdate;
645
+ while (c.consumeIdent("on")) {
646
+ if (c.consumeIdent("delete")) {
647
+ const a = parseReferentialAction(c);
648
+ if (a !== null)
649
+ onDelete = a;
650
+ }
651
+ else if (c.consumeIdent("update")) {
652
+ const a = parseReferentialAction(c);
653
+ if (a !== null)
654
+ onUpdate = a;
655
+ }
656
+ else
657
+ break;
658
+ }
659
+ if (c.consumeIdent("match")) {
660
+ if (c.peek().kind === "ident")
661
+ c.consume();
662
+ }
663
+ for (let i = 0; i < localCols.length; i += 1) {
664
+ const local = localCols[i];
665
+ const ref = refCols[i] ?? refCols[refCols.length - 1];
666
+ const idx = ctx.colIndex.get(local);
667
+ if (idx === undefined)
668
+ continue;
669
+ const entry = ctx.columns[idx];
670
+ const foreign = {
671
+ table: qn.name,
672
+ column: ref,
673
+ };
674
+ if (onDelete !== undefined)
675
+ foreign.onDelete = onDelete;
676
+ if (onUpdate !== undefined)
677
+ foreign.onUpdate = onUpdate;
678
+ entry.shape = shape_1.annotate.as(entry.shape, { foreign });
679
+ }
680
+ return;
681
+ }
682
+ if (c.consumeIdent("check")) {
683
+ const inner = c.skipParens();
684
+ // Try to decode as a per-column constraint matching any column in this table
685
+ for (const col of ctx.columns) {
686
+ const base = col.shape;
687
+ const dec = (0, check_decoder_1.decodeCheck)(inner, {
688
+ columnName: col.key,
689
+ isInteger: base.type === "number",
690
+ isString: base.type === "string",
691
+ isArray: base.type === "array",
692
+ });
693
+ if (dec.fullyDecoded) {
694
+ const u = dec.updates;
695
+ if (u.min !== undefined)
696
+ col.shape = shape_1.annotate.as(col.shape, { min: u.min });
697
+ if (u.max !== undefined)
698
+ col.shape = shape_1.annotate.as(col.shape, { max: u.max });
699
+ if (u.pattern !== undefined)
700
+ col.shape = shape_1.annotate.as(col.shape, { pattern: u.pattern });
701
+ if (u.uniqueItems === true)
702
+ col.shape = shape_1.annotate.as(col.shape, { uniqueItems: true });
703
+ if (u.unionLiterals !== undefined && col.shape.type === "string") {
704
+ const preserved = col.shape.anno;
705
+ const literals = u.unionLiterals.map((v) => shape_1.shapes.literal(v));
706
+ const u2 = shape_1.shapes.union(literals);
707
+ col.shape = {
708
+ ...u2,
709
+ anno: { ...u2.anno, ...preserved },
710
+ };
711
+ }
712
+ return;
713
+ }
714
+ }
715
+ ctx.setTableCheck((0, check_decoder_1.checkExprToSql)(inner));
716
+ return;
717
+ }
718
+ // exclude, like — dropped
719
+ };
720
+ const stripOptional = (anno) => {
721
+ const out = { ...anno };
722
+ delete out.optional;
723
+ return out;
724
+ };
725
+ const readColList = (c) => {
726
+ const out = [];
727
+ while (!c.isPunct(")")) {
728
+ const t = c.expectAnyIdent();
729
+ out.push(t.name);
730
+ // optional ordering / nulls clauses
731
+ if (c.consumeIdent("asc") || c.consumeIdent("desc")) {
732
+ /* */
733
+ }
734
+ if (c.consumeIdent("nulls")) {
735
+ if (c.peek().kind === "ident")
736
+ c.consume();
737
+ }
738
+ if (!c.consumePunct(","))
739
+ break;
740
+ }
741
+ c.expectPunct(")");
742
+ return out;
743
+ };
744
+ //# sourceMappingURL=create-table.js.map