ponder 0.9.5-debug.1 → 0.9.5

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 (462) hide show
  1. package/dist/{types/bin → bin}/ponder.d.ts +6 -5
  2. package/dist/bin/ponder.js +12933 -0
  3. package/dist/bin/ponder.js.map +1 -0
  4. package/dist/chunk-K2TLRLX3.js +163 -0
  5. package/dist/chunk-K2TLRLX3.js.map +1 -0
  6. package/dist/chunk-LHCA5XFV.js +257 -0
  7. package/dist/chunk-LHCA5XFV.js.map +1 -0
  8. package/dist/{types/drizzle → drizzle}/onchain.d.ts +96 -49
  9. package/dist/drizzle/onchain.js +19 -0
  10. package/dist/drizzle/onchain.js.map +1 -0
  11. package/dist/index.d.ts +819 -0
  12. package/dist/index.js +2217 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/utils-ceNucOJb.d.ts +14 -0
  15. package/package.json +17 -17
  16. package/src/bin/commands/dev.ts +1 -1
  17. package/src/bin/ponder.ts +1 -1
  18. package/src/build/configAndIndexingFunctions.ts +1 -1
  19. package/src/build/factory.ts +1 -1
  20. package/src/client/index.ts +1 -1
  21. package/src/indexing-store/historical.ts +1 -1
  22. package/src/indexing-store/realtime.ts +1 -1
  23. package/src/internal/telemetry.ts +1 -1
  24. package/src/sync/fragments.ts +1 -1
  25. package/src/sync-realtime/index.ts +1 -1
  26. package/src/utils/generators.ts +1 -1
  27. package/src/utils/mutex.ts +1 -1
  28. package/src/utils/requestQueue.ts +1 -1
  29. package/CHANGELOG.md +0 -2201
  30. package/dist/esm/bin/commands/codegen.js +0 -37
  31. package/dist/esm/bin/commands/codegen.js.map +0 -1
  32. package/dist/esm/bin/commands/dev.js +0 -242
  33. package/dist/esm/bin/commands/dev.js.map +0 -1
  34. package/dist/esm/bin/commands/list.js +0 -103
  35. package/dist/esm/bin/commands/list.js.map +0 -1
  36. package/dist/esm/bin/commands/serve.js +0 -123
  37. package/dist/esm/bin/commands/serve.js.map +0 -1
  38. package/dist/esm/bin/commands/start.js +0 -136
  39. package/dist/esm/bin/commands/start.js.map +0 -1
  40. package/dist/esm/bin/ponder.js +0 -118
  41. package/dist/esm/bin/ponder.js.map +0 -1
  42. package/dist/esm/bin/utils/codegen.js +0 -26
  43. package/dist/esm/bin/utils/codegen.js.map +0 -1
  44. package/dist/esm/bin/utils/exit.js +0 -69
  45. package/dist/esm/bin/utils/exit.js.map +0 -1
  46. package/dist/esm/bin/utils/run.js +0 -247
  47. package/dist/esm/bin/utils/run.js.map +0 -1
  48. package/dist/esm/bin/utils/runServer.js +0 -8
  49. package/dist/esm/bin/utils/runServer.js.map +0 -1
  50. package/dist/esm/build/configAndIndexingFunctions.js +0 -654
  51. package/dist/esm/build/configAndIndexingFunctions.js.map +0 -1
  52. package/dist/esm/build/factory.js +0 -43
  53. package/dist/esm/build/factory.js.map +0 -1
  54. package/dist/esm/build/index.js +0 -431
  55. package/dist/esm/build/index.js.map +0 -1
  56. package/dist/esm/build/plugin.js +0 -43
  57. package/dist/esm/build/plugin.js.map +0 -1
  58. package/dist/esm/build/pre.js +0 -112
  59. package/dist/esm/build/pre.js.map +0 -1
  60. package/dist/esm/build/schema.js +0 -89
  61. package/dist/esm/build/schema.js.map +0 -1
  62. package/dist/esm/build/stacktrace.js +0 -137
  63. package/dist/esm/build/stacktrace.js.map +0 -1
  64. package/dist/esm/client/index.js +0 -124
  65. package/dist/esm/client/index.js.map +0 -1
  66. package/dist/esm/client/validate.js +0 -1151
  67. package/dist/esm/client/validate.js.map +0 -1
  68. package/dist/esm/config/address.js +0 -2
  69. package/dist/esm/config/address.js.map +0 -1
  70. package/dist/esm/config/eventFilter.js +0 -2
  71. package/dist/esm/config/eventFilter.js.map +0 -1
  72. package/dist/esm/config/index.js +0 -2
  73. package/dist/esm/config/index.js.map +0 -1
  74. package/dist/esm/config/networks.js +0 -120
  75. package/dist/esm/config/networks.js.map +0 -1
  76. package/dist/esm/config/utilityTypes.js +0 -2
  77. package/dist/esm/config/utilityTypes.js.map +0 -1
  78. package/dist/esm/database/index.js +0 -914
  79. package/dist/esm/database/index.js.map +0 -1
  80. package/dist/esm/drizzle/bigint.js +0 -36
  81. package/dist/esm/drizzle/bigint.js.map +0 -1
  82. package/dist/esm/drizzle/hex.js +0 -38
  83. package/dist/esm/drizzle/hex.js.map +0 -1
  84. package/dist/esm/drizzle/index.js +0 -43
  85. package/dist/esm/drizzle/index.js.map +0 -1
  86. package/dist/esm/drizzle/kit/index.js +0 -658
  87. package/dist/esm/drizzle/kit/index.js.map +0 -1
  88. package/dist/esm/drizzle/onchain.js +0 -102
  89. package/dist/esm/drizzle/onchain.js.map +0 -1
  90. package/dist/esm/graphql/index.js +0 -704
  91. package/dist/esm/graphql/index.js.map +0 -1
  92. package/dist/esm/graphql/json.js +0 -42
  93. package/dist/esm/graphql/json.js.map +0 -1
  94. package/dist/esm/graphql/middleware.js +0 -80
  95. package/dist/esm/graphql/middleware.js.map +0 -1
  96. package/dist/esm/index.js +0 -9
  97. package/dist/esm/index.js.map +0 -1
  98. package/dist/esm/indexing/addStackTrace.js +0 -54
  99. package/dist/esm/indexing/addStackTrace.js.map +0 -1
  100. package/dist/esm/indexing/index.js +0 -10
  101. package/dist/esm/indexing/index.js.map +0 -1
  102. package/dist/esm/indexing/ponderActions.js +0 -60
  103. package/dist/esm/indexing/ponderActions.js.map +0 -1
  104. package/dist/esm/indexing/service.js +0 -312
  105. package/dist/esm/indexing/service.js.map +0 -1
  106. package/dist/esm/indexing-store/historical.js +0 -591
  107. package/dist/esm/indexing-store/historical.js.map +0 -1
  108. package/dist/esm/indexing-store/index.js +0 -19
  109. package/dist/esm/indexing-store/index.js.map +0 -1
  110. package/dist/esm/indexing-store/metadata.js +0 -46
  111. package/dist/esm/indexing-store/metadata.js.map +0 -1
  112. package/dist/esm/indexing-store/realtime.js +0 -295
  113. package/dist/esm/indexing-store/realtime.js.map +0 -1
  114. package/dist/esm/internal/common.js +0 -2
  115. package/dist/esm/internal/common.js.map +0 -1
  116. package/dist/esm/internal/errors.js +0 -175
  117. package/dist/esm/internal/errors.js.map +0 -1
  118. package/dist/esm/internal/logger.js +0 -96
  119. package/dist/esm/internal/logger.js.map +0 -1
  120. package/dist/esm/internal/metrics.js +0 -569
  121. package/dist/esm/internal/metrics.js.map +0 -1
  122. package/dist/esm/internal/options.js +0 -69
  123. package/dist/esm/internal/options.js.map +0 -1
  124. package/dist/esm/internal/shutdown.js +0 -18
  125. package/dist/esm/internal/shutdown.js.map +0 -1
  126. package/dist/esm/internal/telemetry.js +0 -199
  127. package/dist/esm/internal/telemetry.js.map +0 -1
  128. package/dist/esm/internal/types.js +0 -2
  129. package/dist/esm/internal/types.js.map +0 -1
  130. package/dist/esm/server/error.js +0 -55
  131. package/dist/esm/server/error.js.map +0 -1
  132. package/dist/esm/server/index.js +0 -107
  133. package/dist/esm/server/index.js.map +0 -1
  134. package/dist/esm/sync/abi.js +0 -67
  135. package/dist/esm/sync/abi.js.map +0 -1
  136. package/dist/esm/sync/events.js +0 -607
  137. package/dist/esm/sync/events.js.map +0 -1
  138. package/dist/esm/sync/filter.js +0 -356
  139. package/dist/esm/sync/filter.js.map +0 -1
  140. package/dist/esm/sync/fragments.js +0 -300
  141. package/dist/esm/sync/fragments.js.map +0 -1
  142. package/dist/esm/sync/index.js +0 -1001
  143. package/dist/esm/sync/index.js.map +0 -1
  144. package/dist/esm/sync/transport.js +0 -94
  145. package/dist/esm/sync/transport.js.map +0 -1
  146. package/dist/esm/sync-historical/index.js +0 -590
  147. package/dist/esm/sync-historical/index.js.map +0 -1
  148. package/dist/esm/sync-realtime/bloom.js +0 -75
  149. package/dist/esm/sync-realtime/bloom.js.map +0 -1
  150. package/dist/esm/sync-realtime/index.js +0 -794
  151. package/dist/esm/sync-realtime/index.js.map +0 -1
  152. package/dist/esm/sync-store/encoding.js +0 -157
  153. package/dist/esm/sync-store/encoding.js.map +0 -1
  154. package/dist/esm/sync-store/index.js +0 -727
  155. package/dist/esm/sync-store/index.js.map +0 -1
  156. package/dist/esm/sync-store/migrations.js +0 -1186
  157. package/dist/esm/sync-store/migrations.js.map +0 -1
  158. package/dist/esm/types/db.js +0 -2
  159. package/dist/esm/types/db.js.map +0 -1
  160. package/dist/esm/types/eth.js +0 -2
  161. package/dist/esm/types/eth.js.map +0 -1
  162. package/dist/esm/types/sync.js +0 -2
  163. package/dist/esm/types/sync.js.map +0 -1
  164. package/dist/esm/types/utils.js +0 -2
  165. package/dist/esm/types/utils.js.map +0 -1
  166. package/dist/esm/types/virtual.js +0 -2
  167. package/dist/esm/types/virtual.js.map +0 -1
  168. package/dist/esm/ui/ProgressBar.js +0 -11
  169. package/dist/esm/ui/ProgressBar.js.map +0 -1
  170. package/dist/esm/ui/Table.js +0 -50
  171. package/dist/esm/ui/Table.js.map +0 -1
  172. package/dist/esm/ui/app.js +0 -113
  173. package/dist/esm/ui/app.js.map +0 -1
  174. package/dist/esm/ui/graphiql.html.js +0 -59
  175. package/dist/esm/ui/graphiql.html.js.map +0 -1
  176. package/dist/esm/ui/index.js +0 -21
  177. package/dist/esm/ui/index.js.map +0 -1
  178. package/dist/esm/utils/bigint.js +0 -37
  179. package/dist/esm/utils/bigint.js.map +0 -1
  180. package/dist/esm/utils/chains.js +0 -3
  181. package/dist/esm/utils/chains.js.map +0 -1
  182. package/dist/esm/utils/checkpoint.js +0 -114
  183. package/dist/esm/utils/checkpoint.js.map +0 -1
  184. package/dist/esm/utils/chunk.js +0 -8
  185. package/dist/esm/utils/chunk.js.map +0 -1
  186. package/dist/esm/utils/date.js +0 -27
  187. package/dist/esm/utils/date.js.map +0 -1
  188. package/dist/esm/utils/debug.js +0 -2
  189. package/dist/esm/utils/debug.js.map +0 -1
  190. package/dist/esm/utils/dedupe.js +0 -33
  191. package/dist/esm/utils/dedupe.js.map +0 -1
  192. package/dist/esm/utils/duplicates.js +0 -19
  193. package/dist/esm/utils/duplicates.js.map +0 -1
  194. package/dist/esm/utils/estimate.js +0 -6
  195. package/dist/esm/utils/estimate.js.map +0 -1
  196. package/dist/esm/utils/extend.js +0 -28
  197. package/dist/esm/utils/extend.js.map +0 -1
  198. package/dist/esm/utils/format.js +0 -20
  199. package/dist/esm/utils/format.js.map +0 -1
  200. package/dist/esm/utils/generators.js +0 -77
  201. package/dist/esm/utils/generators.js.map +0 -1
  202. package/dist/esm/utils/hash.js +0 -11
  203. package/dist/esm/utils/hash.js.map +0 -1
  204. package/dist/esm/utils/interval.js +0 -171
  205. package/dist/esm/utils/interval.js.map +0 -1
  206. package/dist/esm/utils/lowercase.js +0 -7
  207. package/dist/esm/utils/lowercase.js.map +0 -1
  208. package/dist/esm/utils/mutex.js +0 -25
  209. package/dist/esm/utils/mutex.js.map +0 -1
  210. package/dist/esm/utils/never.js +0 -4
  211. package/dist/esm/utils/never.js.map +0 -1
  212. package/dist/esm/utils/offset.js +0 -73
  213. package/dist/esm/utils/offset.js.map +0 -1
  214. package/dist/esm/utils/order.js +0 -18
  215. package/dist/esm/utils/order.js.map +0 -1
  216. package/dist/esm/utils/partition.js +0 -37
  217. package/dist/esm/utils/partition.js.map +0 -1
  218. package/dist/esm/utils/pg.js +0 -126
  219. package/dist/esm/utils/pg.js.map +0 -1
  220. package/dist/esm/utils/pglite.js +0 -80
  221. package/dist/esm/utils/pglite.js.map +0 -1
  222. package/dist/esm/utils/port.js +0 -30
  223. package/dist/esm/utils/port.js.map +0 -1
  224. package/dist/esm/utils/print.js +0 -23
  225. package/dist/esm/utils/print.js.map +0 -1
  226. package/dist/esm/utils/promiseWithResolvers.js +0 -13
  227. package/dist/esm/utils/promiseWithResolvers.js.map +0 -1
  228. package/dist/esm/utils/queue.js +0 -145
  229. package/dist/esm/utils/queue.js.map +0 -1
  230. package/dist/esm/utils/range.js +0 -8
  231. package/dist/esm/utils/range.js.map +0 -1
  232. package/dist/esm/utils/requestQueue.js +0 -127
  233. package/dist/esm/utils/requestQueue.js.map +0 -1
  234. package/dist/esm/utils/result.js +0 -10
  235. package/dist/esm/utils/result.js.map +0 -1
  236. package/dist/esm/utils/rpc.js +0 -202
  237. package/dist/esm/utils/rpc.js.map +0 -1
  238. package/dist/esm/utils/serialize.js +0 -23
  239. package/dist/esm/utils/serialize.js.map +0 -1
  240. package/dist/esm/utils/timer.js +0 -17
  241. package/dist/esm/utils/timer.js.map +0 -1
  242. package/dist/esm/utils/wait.js +0 -8
  243. package/dist/esm/utils/wait.js.map +0 -1
  244. package/dist/esm/utils/zipper.js +0 -67
  245. package/dist/esm/utils/zipper.js.map +0 -1
  246. package/dist/types/bin/commands/codegen.d.ts +0 -5
  247. package/dist/types/bin/commands/codegen.d.ts.map +0 -1
  248. package/dist/types/bin/commands/dev.d.ts +0 -5
  249. package/dist/types/bin/commands/dev.d.ts.map +0 -1
  250. package/dist/types/bin/commands/list.d.ts +0 -5
  251. package/dist/types/bin/commands/list.d.ts.map +0 -1
  252. package/dist/types/bin/commands/serve.d.ts +0 -5
  253. package/dist/types/bin/commands/serve.d.ts.map +0 -1
  254. package/dist/types/bin/commands/start.d.ts +0 -5
  255. package/dist/types/bin/commands/start.d.ts.map +0 -1
  256. package/dist/types/bin/ponder.d.ts.map +0 -1
  257. package/dist/types/bin/utils/codegen.d.ts +0 -6
  258. package/dist/types/bin/utils/codegen.d.ts.map +0 -1
  259. package/dist/types/bin/utils/exit.d.ts +0 -9
  260. package/dist/types/bin/utils/exit.d.ts.map +0 -1
  261. package/dist/types/bin/utils/run.d.ts +0 -14
  262. package/dist/types/bin/utils/run.d.ts.map +0 -1
  263. package/dist/types/bin/utils/runServer.d.ts +0 -12
  264. package/dist/types/bin/utils/runServer.d.ts.map +0 -1
  265. package/dist/types/build/configAndIndexingFunctions.d.ts +0 -37
  266. package/dist/types/build/configAndIndexingFunctions.d.ts.map +0 -1
  267. package/dist/types/build/factory.d.ts +0 -10
  268. package/dist/types/build/factory.d.ts.map +0 -1
  269. package/dist/types/build/index.d.ts +0 -70
  270. package/dist/types/build/index.d.ts.map +0 -1
  271. package/dist/types/build/plugin.d.ts +0 -4
  272. package/dist/types/build/plugin.d.ts.map +0 -1
  273. package/dist/types/build/pre.d.ts +0 -35
  274. package/dist/types/build/pre.d.ts.map +0 -1
  275. package/dist/types/build/schema.d.ts +0 -18
  276. package/dist/types/build/schema.d.ts.map +0 -1
  277. package/dist/types/build/stacktrace.d.ts +0 -13
  278. package/dist/types/build/stacktrace.d.ts.map +0 -1
  279. package/dist/types/client/index.d.ts +0 -27
  280. package/dist/types/client/index.d.ts.map +0 -1
  281. package/dist/types/client/validate.d.ts +0 -2
  282. package/dist/types/client/validate.d.ts.map +0 -1
  283. package/dist/types/config/address.d.ts +0 -14
  284. package/dist/types/config/address.d.ts.map +0 -1
  285. package/dist/types/config/eventFilter.d.ts +0 -18
  286. package/dist/types/config/eventFilter.d.ts.map +0 -1
  287. package/dist/types/config/index.d.ts +0 -143
  288. package/dist/types/config/index.d.ts.map +0 -1
  289. package/dist/types/config/networks.d.ts +0 -30
  290. package/dist/types/config/networks.d.ts.map +0 -1
  291. package/dist/types/config/utilityTypes.d.ts +0 -43
  292. package/dist/types/config/utilityTypes.d.ts.map +0 -1
  293. package/dist/types/database/index.d.ts +0 -91
  294. package/dist/types/database/index.d.ts.map +0 -1
  295. package/dist/types/drizzle/bigint.d.ts +0 -25
  296. package/dist/types/drizzle/bigint.d.ts.map +0 -1
  297. package/dist/types/drizzle/hex.d.ts +0 -25
  298. package/dist/types/drizzle/hex.d.ts.map +0 -1
  299. package/dist/types/drizzle/index.d.ts +0 -14
  300. package/dist/types/drizzle/index.d.ts.map +0 -1
  301. package/dist/types/drizzle/kit/index.d.ts +0 -49
  302. package/dist/types/drizzle/kit/index.d.ts.map +0 -1
  303. package/dist/types/drizzle/onchain.d.ts.map +0 -1
  304. package/dist/types/graphql/index.d.ts +0 -14
  305. package/dist/types/graphql/index.d.ts.map +0 -1
  306. package/dist/types/graphql/json.d.ts +0 -3
  307. package/dist/types/graphql/json.d.ts.map +0 -1
  308. package/dist/types/graphql/middleware.d.ts +0 -29
  309. package/dist/types/graphql/middleware.d.ts.map +0 -1
  310. package/dist/types/index.d.ts +0 -18
  311. package/dist/types/index.d.ts.map +0 -1
  312. package/dist/types/indexing/addStackTrace.d.ts +0 -3
  313. package/dist/types/indexing/addStackTrace.d.ts.map +0 -1
  314. package/dist/types/indexing/index.d.ts +0 -575
  315. package/dist/types/indexing/index.d.ts.map +0 -1
  316. package/dist/types/indexing/ponderActions.d.ts +0 -47
  317. package/dist/types/indexing/ponderActions.d.ts.map +0 -1
  318. package/dist/types/indexing/service.d.ts +0 -73
  319. package/dist/types/indexing/service.d.ts.map +0 -1
  320. package/dist/types/indexing-store/historical.d.ts +0 -19
  321. package/dist/types/indexing-store/historical.d.ts.map +0 -1
  322. package/dist/types/indexing-store/index.d.ts +0 -10
  323. package/dist/types/indexing-store/index.d.ts.map +0 -1
  324. package/dist/types/indexing-store/metadata.d.ts +0 -10
  325. package/dist/types/indexing-store/metadata.d.ts.map +0 -1
  326. package/dist/types/indexing-store/realtime.d.ts +0 -10
  327. package/dist/types/indexing-store/realtime.d.ts.map +0 -1
  328. package/dist/types/internal/common.d.ts +0 -13
  329. package/dist/types/internal/common.d.ts.map +0 -1
  330. package/dist/types/internal/errors.d.ts +0 -55
  331. package/dist/types/internal/errors.d.ts.map +0 -1
  332. package/dist/types/internal/logger.d.ts +0 -26
  333. package/dist/types/internal/logger.d.ts.map +0 -1
  334. package/dist/types/internal/metrics.d.ts +0 -77
  335. package/dist/types/internal/metrics.d.ts.map +0 -1
  336. package/dist/types/internal/options.d.ts +0 -59
  337. package/dist/types/internal/options.d.ts.map +0 -1
  338. package/dist/types/internal/shutdown.d.ts +0 -8
  339. package/dist/types/internal/shutdown.d.ts.map +0 -1
  340. package/dist/types/internal/telemetry.d.ts +0 -43
  341. package/dist/types/internal/telemetry.d.ts.map +0 -1
  342. package/dist/types/internal/types.d.ts +0 -328
  343. package/dist/types/internal/types.d.ts.map +0 -1
  344. package/dist/types/server/error.d.ts +0 -5
  345. package/dist/types/server/error.d.ts.map +0 -1
  346. package/dist/types/server/index.d.ts +0 -13
  347. package/dist/types/server/index.d.ts.map +0 -1
  348. package/dist/types/sync/abi.d.ts +0 -54
  349. package/dist/types/sync/abi.d.ts.map +0 -1
  350. package/dist/types/sync/events.d.ts +0 -24
  351. package/dist/types/sync/events.d.ts.map +0 -1
  352. package/dist/types/sync/filter.d.ts +0 -71
  353. package/dist/types/sync/filter.d.ts.map +0 -1
  354. package/dist/types/sync/fragments.d.ts +0 -21
  355. package/dist/types/sync/fragments.d.ts.map +0 -1
  356. package/dist/types/sync/index.d.ts +0 -112
  357. package/dist/types/sync/index.d.ts.map +0 -1
  358. package/dist/types/sync/transport.d.ts +0 -8
  359. package/dist/types/sync/transport.d.ts.map +0 -1
  360. package/dist/types/sync-historical/index.d.ts +0 -28
  361. package/dist/types/sync-historical/index.d.ts.map +0 -1
  362. package/dist/types/sync-realtime/bloom.d.ts +0 -19
  363. package/dist/types/sync-realtime/bloom.d.ts.map +0 -1
  364. package/dist/types/sync-realtime/index.d.ts +0 -48
  365. package/dist/types/sync-realtime/index.d.ts.map +0 -1
  366. package/dist/types/sync-store/encoding.d.ts +0 -151
  367. package/dist/types/sync-store/encoding.d.ts.map +0 -1
  368. package/dist/types/sync-store/index.d.ts +0 -104
  369. package/dist/types/sync-store/index.d.ts.map +0 -1
  370. package/dist/types/sync-store/migrations.d.ts +0 -13
  371. package/dist/types/sync-store/migrations.d.ts.map +0 -1
  372. package/dist/types/types/db.d.ts +0 -213
  373. package/dist/types/types/db.d.ts.map +0 -1
  374. package/dist/types/types/eth.d.ts +0 -196
  375. package/dist/types/types/eth.d.ts.map +0 -1
  376. package/dist/types/types/sync.d.ts +0 -15
  377. package/dist/types/types/sync.d.ts.map +0 -1
  378. package/dist/types/types/utils.d.ts +0 -22
  379. package/dist/types/types/utils.d.ts.map +0 -1
  380. package/dist/types/types/virtual.d.ts +0 -95
  381. package/dist/types/types/virtual.d.ts.map +0 -1
  382. package/dist/types/ui/ProgressBar.d.ts +0 -7
  383. package/dist/types/ui/ProgressBar.d.ts.map +0 -1
  384. package/dist/types/ui/Table.d.ts +0 -24
  385. package/dist/types/ui/Table.d.ts.map +0 -1
  386. package/dist/types/ui/app.d.ts +0 -14
  387. package/dist/types/ui/app.d.ts.map +0 -1
  388. package/dist/types/ui/graphiql.html.d.ts +0 -2
  389. package/dist/types/ui/graphiql.html.d.ts.map +0 -1
  390. package/dist/types/ui/index.d.ts +0 -5
  391. package/dist/types/ui/index.d.ts.map +0 -1
  392. package/dist/types/utils/bigint.d.ts +0 -15
  393. package/dist/types/utils/bigint.d.ts.map +0 -1
  394. package/dist/types/utils/chains.d.ts +0 -3
  395. package/dist/types/utils/chains.d.ts.map +0 -1
  396. package/dist/types/utils/checkpoint.d.ts +0 -40
  397. package/dist/types/utils/checkpoint.d.ts.map +0 -1
  398. package/dist/types/utils/chunk.d.ts +0 -2
  399. package/dist/types/utils/chunk.d.ts.map +0 -1
  400. package/dist/types/utils/date.d.ts +0 -7
  401. package/dist/types/utils/date.d.ts.map +0 -1
  402. package/dist/types/utils/debug.d.ts +0 -105
  403. package/dist/types/utils/debug.d.ts.map +0 -1
  404. package/dist/types/utils/dedupe.d.ts +0 -20
  405. package/dist/types/utils/dedupe.d.ts.map +0 -1
  406. package/dist/types/utils/duplicates.d.ts +0 -7
  407. package/dist/types/utils/duplicates.d.ts.map +0 -1
  408. package/dist/types/utils/estimate.d.ts +0 -11
  409. package/dist/types/utils/estimate.d.ts.map +0 -1
  410. package/dist/types/utils/extend.d.ts +0 -13
  411. package/dist/types/utils/extend.d.ts.map +0 -1
  412. package/dist/types/utils/format.d.ts +0 -3
  413. package/dist/types/utils/format.d.ts.map +0 -1
  414. package/dist/types/utils/generators.d.ts +0 -23
  415. package/dist/types/utils/generators.d.ts.map +0 -1
  416. package/dist/types/utils/hash.d.ts +0 -11
  417. package/dist/types/utils/hash.d.ts.map +0 -1
  418. package/dist/types/utils/interval.d.ts +0 -53
  419. package/dist/types/utils/interval.d.ts.map +0 -1
  420. package/dist/types/utils/lowercase.d.ts +0 -5
  421. package/dist/types/utils/lowercase.d.ts.map +0 -1
  422. package/dist/types/utils/mutex.d.ts +0 -8
  423. package/dist/types/utils/mutex.d.ts.map +0 -1
  424. package/dist/types/utils/never.d.ts +0 -2
  425. package/dist/types/utils/never.d.ts.map +0 -1
  426. package/dist/types/utils/offset.d.ts +0 -3
  427. package/dist/types/utils/offset.d.ts.map +0 -1
  428. package/dist/types/utils/order.d.ts +0 -2
  429. package/dist/types/utils/order.d.ts.map +0 -1
  430. package/dist/types/utils/partition.d.ts +0 -22
  431. package/dist/types/utils/partition.d.ts.map +0 -1
  432. package/dist/types/utils/pg.d.ts +0 -5
  433. package/dist/types/utils/pg.d.ts.map +0 -1
  434. package/dist/types/utils/pglite.d.ts +0 -25
  435. package/dist/types/utils/pglite.d.ts.map +0 -1
  436. package/dist/types/utils/port.d.ts +0 -5
  437. package/dist/types/utils/port.d.ts.map +0 -1
  438. package/dist/types/utils/print.d.ts +0 -2
  439. package/dist/types/utils/print.d.ts.map +0 -1
  440. package/dist/types/utils/promiseWithResolvers.d.ts +0 -10
  441. package/dist/types/utils/promiseWithResolvers.d.ts.map +0 -1
  442. package/dist/types/utils/queue.d.ts +0 -33
  443. package/dist/types/utils/queue.d.ts.map +0 -1
  444. package/dist/types/utils/range.d.ts +0 -8
  445. package/dist/types/utils/range.d.ts.map +0 -1
  446. package/dist/types/utils/requestQueue.d.ts +0 -21
  447. package/dist/types/utils/requestQueue.d.ts.map +0 -1
  448. package/dist/types/utils/result.d.ts +0 -17
  449. package/dist/types/utils/result.d.ts.map +0 -1
  450. package/dist/types/utils/rpc.d.ts +0 -57
  451. package/dist/types/utils/rpc.d.ts.map +0 -1
  452. package/dist/types/utils/serialize.d.ts +0 -19
  453. package/dist/types/utils/serialize.d.ts.map +0 -1
  454. package/dist/types/utils/timer.d.ts +0 -11
  455. package/dist/types/utils/timer.d.ts.map +0 -1
  456. package/dist/types/utils/wait.d.ts +0 -6
  457. package/dist/types/utils/wait.d.ts.map +0 -1
  458. package/dist/types/utils/zipper.d.ts +0 -36
  459. package/dist/types/utils/zipper.d.ts.map +0 -1
  460. package/src/utils/dedupe.ts +0 -40
  461. package/src/utils/promiseWithResolvers.ts +0 -20
  462. package/src/utils/queue.ts +0 -250
@@ -1,658 +0,0 @@
1
- import { SQL, is } from "drizzle-orm";
2
- import { CasingCache, toCamelCase, toSnakeCase } from "drizzle-orm/casing";
3
- import { PgDialect, PgEnumColumn, PgMaterializedView, PgSchema, PgTable, PgView, getTableConfig, integer, isPgEnum, isPgSequence, pgTable, serial, varchar, } from "drizzle-orm/pg-core";
4
- export const sqlToReorgTableName = (tableName) => `_reorg__${tableName}`;
5
- export const getSql = (schema) => {
6
- const { tables, enums, schemas } = prepareFromExports(schema);
7
- const json = generatePgSnapshot(tables, enums, schemas, "snake_case");
8
- const squashed = squashPgScheme(json);
9
- const jsonCreateIndexesForCreatedTables = Object.values(squashed.tables).flatMap((it) => {
10
- // @ts-ignore
11
- return preparePgCreateIndexesJson(it.name, it.schema, it.indexes);
12
- });
13
- const jsonCreateEnums = Object.values(squashed.enums).map((it) => {
14
- // @ts-ignore
15
- return prepareCreateEnumJson(it.name, it.schema, it.values);
16
- }) ?? [];
17
- const jsonCreateTables = Object.values(squashed.tables).map((it) => {
18
- return preparePgCreateTableJson(it, json);
19
- });
20
- const fromJson = (statements) => statements
21
- .flatMap((statement) => {
22
- const filtered = convertors.filter((it) => {
23
- return it.can(statement, "postgresql");
24
- });
25
- const convertor = filtered.length === 1 ? filtered[0] : undefined;
26
- if (!convertor) {
27
- return "";
28
- }
29
- return convertor.convert(statement);
30
- })
31
- .filter((it) => it !== "");
32
- const combinedTables = jsonCreateTables.flatMap((statement) => [
33
- statement,
34
- createReorgTableStatement(statement),
35
- ]);
36
- return {
37
- tables: {
38
- sql: fromJson(combinedTables),
39
- json: combinedTables,
40
- },
41
- enums: { sql: fromJson(jsonCreateEnums), json: jsonCreateEnums },
42
- indexes: {
43
- sql: fromJson(jsonCreateIndexesForCreatedTables),
44
- json: jsonCreateIndexesForCreatedTables,
45
- },
46
- };
47
- };
48
- const createReorgTableStatement = (statement) => {
49
- const reorgStatement = structuredClone(statement);
50
- reorgStatement.compositePkName = undefined;
51
- reorgStatement.compositePKs = [];
52
- for (const column of reorgStatement.columns) {
53
- column.primaryKey = false;
54
- }
55
- const reorgColumns = Object.values(squashPgScheme(generatePgSnapshot([
56
- pgTable("", {
57
- operation_id: serial().notNull().primaryKey(),
58
- operation: integer().notNull(),
59
- checkpoint: varchar({
60
- length: 75,
61
- }).notNull(),
62
- }),
63
- ], [], [], "snake_case")).tables)[0].columns;
64
- reorgStatement.columns.push(...Object.values(reorgColumns));
65
- reorgStatement.tableName = sqlToReorgTableName(reorgStatement.tableName);
66
- return reorgStatement;
67
- };
68
- const PgSquasher = {
69
- squashIdx: (idx) => {
70
- return `${idx.name};${idx.columns
71
- .map((c) => `${c.expression}--${c.isExpression}--${c.asc}--${c.nulls}--${c.opclass && ""}`)
72
- .join(",,")};${idx.isUnique};${idx.concurrently};${idx.method};${idx.where};${JSON.stringify(idx.with)}`;
73
- },
74
- unsquashIdx: (input) => {
75
- const [name, columnsString, isUnique, concurrently, method, where, idxWith,] = input.split(";");
76
- const columnString = columnsString.split(",,");
77
- const columns = [];
78
- for (const column of columnString) {
79
- const [expression, isExpression, asc, nulls, opclass] = column.split("--");
80
- columns.push({
81
- nulls: nulls,
82
- isExpression: isExpression === "true",
83
- asc: asc === "true",
84
- expression: expression,
85
- opclass: opclass === "undefined" ? undefined : opclass,
86
- });
87
- }
88
- return {
89
- name,
90
- columns,
91
- isUnique: isUnique === "true",
92
- concurrently: concurrently === "true",
93
- method,
94
- where: where === "undefined" ? undefined : where,
95
- with: !idxWith || idxWith === "undefined" ? undefined : JSON.parse(idxWith),
96
- };
97
- },
98
- squashPK: (pk) => {
99
- return `${pk.columns.join(",")};${pk.name}`;
100
- },
101
- unsquashPK: (pk) => {
102
- const splitted = pk.split(";");
103
- return { name: splitted[1], columns: splitted[0].split(",") };
104
- },
105
- };
106
- ////////
107
- // Generator
108
- ////////
109
- const parseType = (schemaPrefix, type) => {
110
- const pgNativeTypes = [
111
- "uuid",
112
- "smallint",
113
- "integer",
114
- "bigint",
115
- "boolean",
116
- "text",
117
- "varchar",
118
- "serial",
119
- "bigserial",
120
- "decimal",
121
- "numeric",
122
- "real",
123
- "json",
124
- "jsonb",
125
- "time",
126
- "time with time zone",
127
- "time without time zone",
128
- "time",
129
- "timestamp",
130
- "timestamp with time zone",
131
- "timestamp without time zone",
132
- "date",
133
- "interval",
134
- "bigint",
135
- "bigserial",
136
- "double precision",
137
- "interval year",
138
- "interval month",
139
- "interval day",
140
- "interval hour",
141
- "interval minute",
142
- "interval second",
143
- "interval year to month",
144
- "interval day to hour",
145
- "interval day to minute",
146
- "interval day to second",
147
- "interval hour to minute",
148
- "interval hour to second",
149
- "interval minute to second",
150
- ];
151
- const arrayDefinitionRegex = /\[\d*(?:\[\d*\])*\]/g;
152
- const arrayDefinition = (type.match(arrayDefinitionRegex) ?? []).join("");
153
- const withoutArrayDefinition = type.replace(arrayDefinitionRegex, "");
154
- return pgNativeTypes.some((it) => type.startsWith(it))
155
- ? `${withoutArrayDefinition}${arrayDefinition}`
156
- : `${schemaPrefix}"${withoutArrayDefinition}"${arrayDefinition}`;
157
- };
158
- class Convertor {
159
- }
160
- class PgCreateTableConvertor extends Convertor {
161
- can(statement, dialect) {
162
- return statement.type === "create_table" && dialect === "postgresql";
163
- }
164
- convert(st) {
165
- const { tableName, schema, columns, compositePKs } = st;
166
- let statement = "";
167
- const name = schema ? `"${schema}"."${tableName}"` : `"${tableName}"`;
168
- statement += `CREATE TABLE ${name} (\n`;
169
- for (let i = 0; i < columns.length; i++) {
170
- const column = columns[i];
171
- const primaryKeyStatement = column.primaryKey ? " PRIMARY KEY" : "";
172
- const notNullStatement = column.notNull && !column.identity ? " NOT NULL" : "";
173
- const defaultStatement = column.default !== undefined ? ` DEFAULT ${column.default}` : "";
174
- // const uniqueConstraint = column.isUnique
175
- // ? ` CONSTRAINT "${column.uniqueName}" UNIQUE${column.nullsNotDistinct ? " NULLS NOT DISTINCT" : ""}`
176
- // : "";
177
- const schemaPrefix = column.typeSchema && column.typeSchema !== "public"
178
- ? `"${column.typeSchema}".`
179
- : "";
180
- const type = parseType(schemaPrefix, column.type);
181
- // const generated = column.generated;
182
- // const generatedStatement = generated
183
- // ? ` GENERATED ALWAYS AS (${generated?.as}) STORED`
184
- // : "";
185
- // const unsquashedIdentity = column.identity
186
- // ? PgSquasher.unsquashIdentity(column.identity)
187
- // : undefined;
188
- // const identityWithSchema = schema
189
- // ? `"${schema}"."${unsquashedIdentity?.name}"`
190
- // : `"${unsquashedIdentity?.name}"`;
191
- // const identity = unsquashedIdentity
192
- // ? ` GENERATED ${
193
- // unsquashedIdentity.type === "always" ? "ALWAYS" : "BY DEFAULT"
194
- // } AS IDENTITY (sequence name ${identityWithSchema}${
195
- // unsquashedIdentity.increment
196
- // ? ` INCREMENT BY ${unsquashedIdentity.increment}`
197
- // : ""
198
- // }${
199
- // unsquashedIdentity.minValue
200
- // ? ` MINVALUE ${unsquashedIdentity.minValue}`
201
- // : ""
202
- // }${
203
- // unsquashedIdentity.maxValue
204
- // ? ` MAXVALUE ${unsquashedIdentity.maxValue}`
205
- // : ""
206
- // }${
207
- // unsquashedIdentity.startWith
208
- // ? ` START WITH ${unsquashedIdentity.startWith}`
209
- // : ""
210
- // }${unsquashedIdentity.cache ? ` CACHE ${unsquashedIdentity.cache}` : ""}${
211
- // unsquashedIdentity.cycle ? " CYCLE" : ""
212
- // })`
213
- // : "";
214
- statement += `\t"${column.name}" ${type}${primaryKeyStatement}${defaultStatement}${notNullStatement}`;
215
- statement += i === columns.length - 1 ? "" : ",\n";
216
- }
217
- if (typeof compositePKs !== "undefined" && compositePKs.length > 0) {
218
- statement += ",\n";
219
- const compositePK = PgSquasher.unsquashPK(compositePKs[0]);
220
- statement += `\tCONSTRAINT "${st.compositePkName}" PRIMARY KEY(\"${compositePK.columns.join(`","`)}\")`;
221
- // statement += `\n`;
222
- }
223
- // if (
224
- // typeof uniqueConstraints !== "undefined" &&
225
- // uniqueConstraints.length > 0
226
- // ) {
227
- // for (const uniqueConstraint of uniqueConstraints) {
228
- // statement += ",\n";
229
- // const unsquashedUnique = PgSquasher.unsquashUnique(uniqueConstraint);
230
- // statement += `\tCONSTRAINT "${unsquashedUnique.name}" UNIQUE${
231
- // unsquashedUnique.nullsNotDistinct ? " NULLS NOT DISTINCT" : ""
232
- // }(\"${unsquashedUnique.columns.join(`","`)}\")`;
233
- // // statement += `\n`;
234
- // }
235
- // }
236
- // if (
237
- // typeof checkConstraints !== "undefined" &&
238
- // checkConstraints.length > 0
239
- // ) {
240
- // for (const checkConstraint of checkConstraints) {
241
- // statement += ",\n";
242
- // const unsquashedCheck = PgSquasher.unsquashCheck(checkConstraint);
243
- // statement += `\tCONSTRAINT "${unsquashedCheck.name}" CHECK (${unsquashedCheck.value})`;
244
- // }
245
- // }
246
- statement += "\n);";
247
- statement += "\n";
248
- return statement;
249
- }
250
- }
251
- class CreateTypeEnumConvertor extends Convertor {
252
- can(statement) {
253
- return statement.type === "create_type_enum";
254
- }
255
- convert(st) {
256
- const { name, values, schema } = st;
257
- const enumNameWithSchema = schema ? `"${schema}"."${name}"` : `"${name}"`;
258
- let valuesStatement = "(";
259
- valuesStatement += values.map((it) => `'${it}'`).join(", ");
260
- valuesStatement += ")";
261
- // TODO do we need this?
262
- // let statement = 'DO $$ BEGIN';
263
- // statement += '\n';
264
- const statement = `CREATE TYPE ${enumNameWithSchema} AS ENUM${valuesStatement};`;
265
- // statement += '\n';
266
- // statement += 'EXCEPTION';
267
- // statement += '\n';
268
- // statement += ' WHEN duplicate_object THEN null;';
269
- // statement += '\n';
270
- // statement += 'END $$;';
271
- // statement += '\n';
272
- return statement;
273
- }
274
- }
275
- class CreatePgIndexConvertor extends Convertor {
276
- can(statement, dialect) {
277
- return statement.type === "create_index_pg" && dialect === "postgresql";
278
- }
279
- convert(statement) {
280
- const { name, columns, isUnique, concurrently, with: withMap, method, where, } = statement.data;
281
- // // since postgresql 9.5
282
- const indexPart = isUnique ? "UNIQUE INDEX" : "INDEX";
283
- const value = columns
284
- .map((it) => `${it.isExpression ? it.expression : `"${it.expression}"`}${it.opclass ? ` ${it.opclass}` : it.asc ? "" : " DESC"}${(it.asc && it.nulls && it.nulls === "last") || it.opclass
285
- ? ""
286
- : ` NULLS ${it.nulls.toUpperCase()}`}`)
287
- .join(",");
288
- const tableNameWithSchema = statement.schema
289
- ? `"${statement.schema}"."${statement.tableName}"`
290
- : `"${statement.tableName}"`;
291
- function reverseLogic(mappedWith) {
292
- let reversedString = "";
293
- for (const key in mappedWith) {
294
- // biome-ignore lint/suspicious/noPrototypeBuiltins: <explanation>
295
- if (mappedWith.hasOwnProperty(key)) {
296
- reversedString += `${key}=${mappedWith[key]},`;
297
- }
298
- }
299
- reversedString = reversedString.slice(0, -1);
300
- return reversedString;
301
- }
302
- return `CREATE ${indexPart}${concurrently ? " CONCURRENTLY" : ""} IF NOT EXISTS "${name}" ON ${tableNameWithSchema} USING ${method} (${value})${Object.keys(withMap).length !== 0
303
- ? ` WITH (${reverseLogic(withMap)})`
304
- : ""}${where ? ` WHERE ${where}` : ""};`;
305
- }
306
- }
307
- class PgCreateSchemaConvertor extends Convertor {
308
- can(statement, dialect) {
309
- return statement.type === "create_schema" && dialect === "postgresql";
310
- }
311
- convert(statement) {
312
- const { name } = statement;
313
- return `CREATE SCHEMA IF NOT EXISTS"${name}";\n`;
314
- }
315
- }
316
- const convertors = [];
317
- convertors.push(new PgCreateTableConvertor());
318
- convertors.push(new CreateTypeEnumConvertor());
319
- convertors.push(new CreatePgIndexConvertor());
320
- convertors.push(new PgCreateSchemaConvertor());
321
- const preparePgCreateTableJson = (table, json) => {
322
- const { name, schema, columns, compositePrimaryKeys } = table;
323
- const tableKey = `${schema || "public"}.${name}`;
324
- // TODO: @AndriiSherman. We need this, will add test cases
325
- const compositePkName = Object.values(compositePrimaryKeys).length > 0
326
- ? json.tables[tableKey].compositePrimaryKeys[`${PgSquasher.unsquashPK(Object.values(compositePrimaryKeys)[0]).name}`].name
327
- : "";
328
- return {
329
- type: "create_table",
330
- tableName: name,
331
- schema,
332
- columns: Object.values(columns),
333
- compositePKs: Object.values(compositePrimaryKeys),
334
- compositePkName: compositePkName,
335
- };
336
- };
337
- const preparePgCreateIndexesJson = (tableName, schema, indexes) => {
338
- return Object.values(indexes).map((indexData) => {
339
- return {
340
- type: "create_index_pg",
341
- tableName,
342
- data: PgSquasher.unsquashIdx(indexData),
343
- schema,
344
- };
345
- });
346
- };
347
- const prepareCreateEnumJson = (name, schema, values) => {
348
- return {
349
- type: "create_type_enum",
350
- name: name,
351
- schema: schema,
352
- values,
353
- };
354
- };
355
- const prepareFromExports = (exports) => {
356
- const tables = [];
357
- const enums = [];
358
- const schemas = [];
359
- const sequences = [];
360
- const views = [];
361
- const matViews = [];
362
- const i0values = Object.values(exports);
363
- i0values.forEach((t) => {
364
- if (isPgEnum(t)) {
365
- enums.push(t);
366
- return;
367
- }
368
- if (is(t, PgTable)) {
369
- tables.push(t);
370
- }
371
- if (is(t, PgSchema)) {
372
- schemas.push(t);
373
- }
374
- if (is(t, PgView)) {
375
- views.push(t);
376
- }
377
- if (is(t, PgMaterializedView)) {
378
- matViews.push(t);
379
- }
380
- if (isPgSequence(t)) {
381
- sequences.push(t);
382
- }
383
- });
384
- return { tables, enums, schemas, sequences, views, matViews };
385
- };
386
- export function getColumnCasing(column, casing) {
387
- if (!column.name)
388
- return "";
389
- return !column.keyAsName || casing === undefined
390
- ? column.name
391
- : casing === "camelCase"
392
- ? toCamelCase(column.name)
393
- : toSnakeCase(column.name);
394
- }
395
- const sqlToStr = (sql, casing) => {
396
- return sql.toQuery({
397
- escapeName: () => {
398
- throw new Error("we don't support params for `sql` default values");
399
- },
400
- escapeParam: () => {
401
- throw new Error("we don't support params for `sql` default values");
402
- },
403
- escapeString: () => {
404
- throw new Error("we don't support params for `sql` default values");
405
- },
406
- casing: new CasingCache(casing),
407
- }).sql;
408
- };
409
- function isPgArrayType(sqlType) {
410
- return sqlType.match(/.*\[\d*\].*|.*\[\].*/g) !== null;
411
- }
412
- function buildArrayString(array, sqlType) {
413
- sqlType = sqlType.split("[")[0];
414
- const values = array
415
- .map((value) => {
416
- if (typeof value === "number" || typeof value === "bigint") {
417
- return value.toString();
418
- }
419
- else if (typeof value === "boolean") {
420
- return value ? "true" : "false";
421
- }
422
- else if (Array.isArray(value)) {
423
- return buildArrayString(value, sqlType);
424
- }
425
- else if (value instanceof Date) {
426
- if (sqlType === "date") {
427
- return `"${value.toISOString().split("T")[0]}"`;
428
- }
429
- else if (sqlType === "timestamp") {
430
- return `"${value.toISOString().replace("T", " ").slice(0, 23)}"`;
431
- }
432
- else {
433
- return `"${value.toISOString()}"`;
434
- }
435
- }
436
- else if (typeof value === "object") {
437
- return `"${JSON.stringify(value).replaceAll('"', '\\"')}"`;
438
- }
439
- return `"${value}"`;
440
- })
441
- .join(",");
442
- return `{${values}}`;
443
- }
444
- const indexName = (tableName, columns) => {
445
- return `${tableName}_${columns.join("_")}_index`;
446
- };
447
- const generatePgSnapshot = (tables, enums, schemas, casing) => {
448
- const dialect = new PgDialect({ casing });
449
- const result = {};
450
- // This object stores unique names for indexes and will be used to detect if you have the same names for indexes
451
- // within the same PostgreSQL schema
452
- const indexesInSchema = {};
453
- for (const table of tables) {
454
- const { name: tableName, columns, indexes, schema, primaryKeys, } = getTableConfig(table);
455
- const columnsObject = {};
456
- const indexesObject = {};
457
- const primaryKeysObject = {};
458
- columns.forEach((column) => {
459
- const name = getColumnCasing(column, casing);
460
- const notNull = column.notNull;
461
- const primaryKey = column.primary;
462
- const sqlTypeLowered = column.getSQLType().toLowerCase();
463
- const typeSchema = is(column, PgEnumColumn)
464
- ? column.enum.schema || "public"
465
- : undefined;
466
- const columnToSet = {
467
- name,
468
- type: column.getSQLType(),
469
- typeSchema: typeSchema,
470
- primaryKey,
471
- notNull,
472
- };
473
- if (column.default !== undefined) {
474
- if (is(column.default, SQL)) {
475
- columnToSet.default = sqlToStr(column.default, casing);
476
- }
477
- else {
478
- if (typeof column.default === "string") {
479
- columnToSet.default = `'${column.default}'`;
480
- }
481
- else {
482
- if (sqlTypeLowered === "jsonb" || sqlTypeLowered === "json") {
483
- columnToSet.default = `'${JSON.stringify(column.default)}'::${sqlTypeLowered}`;
484
- }
485
- else if (column.default instanceof Date) {
486
- if (sqlTypeLowered === "date") {
487
- columnToSet.default = `'${column.default.toISOString().split("T")[0]}'`;
488
- }
489
- else if (sqlTypeLowered === "timestamp") {
490
- columnToSet.default = `'${column.default.toISOString().replace("T", " ").slice(0, 23)}'`;
491
- }
492
- else {
493
- columnToSet.default = `'${column.default.toISOString()}'`;
494
- }
495
- }
496
- else if (isPgArrayType(sqlTypeLowered) &&
497
- Array.isArray(column.default)) {
498
- columnToSet.default = `'${buildArrayString(column.default, sqlTypeLowered)}'`;
499
- }
500
- else {
501
- // Should do for all types
502
- // columnToSet.default = `'${column.default}'::${sqlTypeLowered}`;
503
- columnToSet.default = column.default;
504
- }
505
- }
506
- }
507
- }
508
- columnsObject[name] = columnToSet;
509
- });
510
- primaryKeys.map((pk) => {
511
- const originalColumnNames = pk.columns.map((c) => c.name);
512
- const columnNames = pk.columns.map((c) => getColumnCasing(c, casing));
513
- let name = pk.getName();
514
- if (casing !== undefined) {
515
- for (let i = 0; i < originalColumnNames.length; i++) {
516
- name = name.replace(originalColumnNames[i], columnNames[i]);
517
- }
518
- }
519
- primaryKeysObject[name] = {
520
- name,
521
- columns: columnNames,
522
- };
523
- });
524
- indexes.forEach((value) => {
525
- const columns = value.config.columns;
526
- const indexColumnNames = [];
527
- columns.forEach((it) => {
528
- const name = getColumnCasing(it, casing);
529
- indexColumnNames.push(name);
530
- });
531
- const name = value.config.name
532
- ? value.config.name
533
- : indexName(tableName, indexColumnNames);
534
- const indexColumns = columns.map((it) => {
535
- if (is(it, SQL)) {
536
- return {
537
- expression: dialect.sqlToQuery(it, "indexes").sql,
538
- asc: true,
539
- isExpression: true,
540
- nulls: "last",
541
- };
542
- }
543
- else {
544
- it = it;
545
- return {
546
- expression: getColumnCasing(it, casing),
547
- isExpression: false,
548
- // @ts-ignore
549
- asc: it.indexConfig?.order === "asc",
550
- // @ts-ignore
551
- nulls: it.indexConfig?.nulls
552
- ? // @ts-ignore
553
- it.indexConfig?.nulls
554
- : // @ts-ignore
555
- it.indexConfig?.order === "desc"
556
- ? "first"
557
- : "last",
558
- // @ts-ignore
559
- opclass: it.indexConfig?.opClass,
560
- };
561
- }
562
- });
563
- // check for index names duplicates
564
- if (typeof indexesInSchema[schema ?? "public"] !== "undefined") {
565
- indexesInSchema[schema ?? "public"].push(name);
566
- }
567
- else {
568
- indexesInSchema[schema ?? "public"] = [name];
569
- }
570
- indexesObject[name] = {
571
- name,
572
- columns: indexColumns,
573
- isUnique: value.config.unique ?? false,
574
- where: value.config.where
575
- ? dialect.sqlToQuery(value.config.where).sql
576
- : undefined,
577
- concurrently: value.config.concurrently ?? false,
578
- method: value.config.method ?? "btree",
579
- with: value.config.with ?? {},
580
- };
581
- });
582
- const tableKey = `${schema ?? "public"}.${tableName}`;
583
- result[tableKey] = {
584
- name: tableName,
585
- schema: schema ?? "",
586
- columns: columnsObject,
587
- indexes: indexesObject,
588
- compositePrimaryKeys: primaryKeysObject,
589
- };
590
- }
591
- const enumsToReturn = enums.reduce((map, obj) => {
592
- const enumSchema = obj.schema || "public";
593
- const key = `${enumSchema}.${obj.enumName}`;
594
- map[key] = {
595
- name: obj.enumName,
596
- schema: enumSchema,
597
- values: obj.enumValues,
598
- };
599
- return map;
600
- }, {});
601
- const schemasObject = Object.fromEntries(schemas
602
- .filter((it) => {
603
- return it.schemaName !== "public";
604
- })
605
- .map((it) => [it.schemaName, it.schemaName]));
606
- return {
607
- version: "7",
608
- dialect: "postgresql",
609
- tables: result,
610
- enums: enumsToReturn,
611
- schemas: schemasObject,
612
- };
613
- };
614
- const mapValues = (obj, map) => {
615
- const result = Object.keys(obj).reduce((result, key) => {
616
- result[key] = map(obj[key]);
617
- return result;
618
- }, {});
619
- return result;
620
- };
621
- const squashPgScheme = (json) => {
622
- const mappedTables = Object.fromEntries(Object.entries(json.tables).map((it) => {
623
- const squashedIndexes = mapValues(it[1].indexes, (index) => {
624
- return PgSquasher.squashIdx(index);
625
- });
626
- const squashedPKs = mapValues(it[1].compositePrimaryKeys, (pk) => {
627
- return PgSquasher.squashPK(pk);
628
- });
629
- const mappedColumns = Object.fromEntries(Object.entries(it[1].columns).map((it) => {
630
- return [
631
- it[0],
632
- {
633
- ...it[1],
634
- identity: undefined,
635
- },
636
- ];
637
- }));
638
- return [
639
- it[0],
640
- {
641
- name: it[1].name,
642
- schema: it[1].schema,
643
- columns: mappedColumns,
644
- indexes: squashedIndexes,
645
- compositePrimaryKeys: squashedPKs,
646
- },
647
- ];
648
- }));
649
- return {
650
- version: "7",
651
- dialect: json.dialect,
652
- tables: mappedTables,
653
- enums: json.enums,
654
- schemas: json.schemas,
655
- views: json.views,
656
- };
657
- };
658
- //# sourceMappingURL=index.js.map