relq 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 (305) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +862 -0
  3. package/dist/addons/buffer.js +1869 -0
  4. package/dist/addons/pg-cursor.js +1425 -0
  5. package/dist/addons/pg-format.js +2248 -0
  6. package/dist/addons/pg.js +4790 -0
  7. package/dist/bin/relq.js +2 -0
  8. package/dist/cjs/cache/index.cjs +9 -0
  9. package/dist/cjs/cache/query-cache.cjs +311 -0
  10. package/dist/cjs/cli/commands/add.cjs +82 -0
  11. package/dist/cjs/cli/commands/commit.cjs +145 -0
  12. package/dist/cjs/cli/commands/diff.cjs +84 -0
  13. package/dist/cjs/cli/commands/export.cjs +333 -0
  14. package/dist/cjs/cli/commands/fetch.cjs +59 -0
  15. package/dist/cjs/cli/commands/generate.cjs +242 -0
  16. package/dist/cjs/cli/commands/history.cjs +165 -0
  17. package/dist/cjs/cli/commands/import.cjs +524 -0
  18. package/dist/cjs/cli/commands/init.cjs +437 -0
  19. package/dist/cjs/cli/commands/introspect.cjs +142 -0
  20. package/dist/cjs/cli/commands/log.cjs +62 -0
  21. package/dist/cjs/cli/commands/migrate.cjs +167 -0
  22. package/dist/cjs/cli/commands/pull.cjs +410 -0
  23. package/dist/cjs/cli/commands/push.cjs +165 -0
  24. package/dist/cjs/cli/commands/rollback.cjs +169 -0
  25. package/dist/cjs/cli/commands/status.cjs +110 -0
  26. package/dist/cjs/cli/commands/sync.cjs +79 -0
  27. package/dist/cjs/cli/index.cjs +275 -0
  28. package/dist/cjs/cli/utils/change-tracker.cjs +446 -0
  29. package/dist/cjs/cli/utils/commit-manager.cjs +239 -0
  30. package/dist/cjs/cli/utils/config-loader.cjs +127 -0
  31. package/dist/cjs/cli/utils/env-loader.cjs +62 -0
  32. package/dist/cjs/cli/utils/fast-introspect.cjs +398 -0
  33. package/dist/cjs/cli/utils/git-utils.cjs +404 -0
  34. package/dist/cjs/cli/utils/migration-generator.cjs +269 -0
  35. package/dist/cjs/cli/utils/relqignore.cjs +114 -0
  36. package/dist/cjs/cli/utils/repo-manager.cjs +515 -0
  37. package/dist/cjs/cli/utils/schema-comparator.cjs +313 -0
  38. package/dist/cjs/cli/utils/schema-diff.cjs +284 -0
  39. package/dist/cjs/cli/utils/schema-hash.cjs +108 -0
  40. package/dist/cjs/cli/utils/schema-introspect.cjs +455 -0
  41. package/dist/cjs/cli/utils/snapshot-manager.cjs +223 -0
  42. package/dist/cjs/cli/utils/spinner.cjs +108 -0
  43. package/dist/cjs/cli/utils/sql-generator.cjs +520 -0
  44. package/dist/cjs/cli/utils/sql-parser.cjs +999 -0
  45. package/dist/cjs/cli/utils/type-generator.cjs +2061 -0
  46. package/dist/cjs/condition/array-condition-builder.cjs +503 -0
  47. package/dist/cjs/condition/array-numeric-condition-builder.cjs +186 -0
  48. package/dist/cjs/condition/array-specialized-condition-builder.cjs +206 -0
  49. package/dist/cjs/condition/array-string-condition-builder.cjs +146 -0
  50. package/dist/cjs/condition/base-condition-builder.cjs +2 -0
  51. package/dist/cjs/condition/condition-collector.cjs +284 -0
  52. package/dist/cjs/condition/fulltext-condition-builder.cjs +61 -0
  53. package/dist/cjs/condition/geometric-condition-builder.cjs +208 -0
  54. package/dist/cjs/condition/index.cjs +25 -0
  55. package/dist/cjs/condition/jsonb-condition-builder.cjs +160 -0
  56. package/dist/cjs/condition/network-condition-builder.cjs +230 -0
  57. package/dist/cjs/condition/range-condition-builder.cjs +82 -0
  58. package/dist/cjs/config/config.cjs +190 -0
  59. package/dist/cjs/config/index.cjs +9 -0
  60. package/dist/cjs/constants/pg-values.cjs +68 -0
  61. package/dist/cjs/copy/copy-builder.cjs +316 -0
  62. package/dist/cjs/copy/index.cjs +6 -0
  63. package/dist/cjs/core/query-builder.cjs +440 -0
  64. package/dist/cjs/core/relq-client.cjs +1831 -0
  65. package/dist/cjs/core/typed-kuery-client.cjs +2 -0
  66. package/dist/cjs/count/count-builder.cjs +88 -0
  67. package/dist/cjs/count/index.cjs +5 -0
  68. package/dist/cjs/cte/cte-builder.cjs +89 -0
  69. package/dist/cjs/cte/index.cjs +5 -0
  70. package/dist/cjs/ddl/function.cjs +48 -0
  71. package/dist/cjs/ddl/index.cjs +7 -0
  72. package/dist/cjs/ddl/sql.cjs +54 -0
  73. package/dist/cjs/delete/delete-builder.cjs +135 -0
  74. package/dist/cjs/delete/index.cjs +5 -0
  75. package/dist/cjs/errors/relq-errors.cjs +329 -0
  76. package/dist/cjs/examples/fulltext-search-test.cjs +122 -0
  77. package/dist/cjs/explain/explain-builder.cjs +99 -0
  78. package/dist/cjs/explain/index.cjs +5 -0
  79. package/dist/cjs/function/create-function-builder.cjs +196 -0
  80. package/dist/cjs/function/index.cjs +6 -0
  81. package/dist/cjs/functions/advanced-functions.cjs +241 -0
  82. package/dist/cjs/functions/case-builder.cjs +66 -0
  83. package/dist/cjs/functions/geometric-functions.cjs +104 -0
  84. package/dist/cjs/functions/index.cjs +184 -0
  85. package/dist/cjs/functions/network-functions.cjs +86 -0
  86. package/dist/cjs/functions/sql-functions.cjs +431 -0
  87. package/dist/cjs/index.cjs +164 -0
  88. package/dist/cjs/indexing/create-index-builder.cjs +187 -0
  89. package/dist/cjs/indexing/drop-index-builder.cjs +89 -0
  90. package/dist/cjs/indexing/index-types.cjs +2 -0
  91. package/dist/cjs/indexing/index.cjs +8 -0
  92. package/dist/cjs/insert/conflict-builder.cjs +173 -0
  93. package/dist/cjs/insert/index.cjs +5 -0
  94. package/dist/cjs/insert/insert-builder.cjs +254 -0
  95. package/dist/cjs/introspect/index.cjs +229 -0
  96. package/dist/cjs/maintenance/index.cjs +6 -0
  97. package/dist/cjs/maintenance/vacuum-builder.cjs +166 -0
  98. package/dist/cjs/pubsub/index.cjs +7 -0
  99. package/dist/cjs/pubsub/listen-notify-builder.cjs +57 -0
  100. package/dist/cjs/pubsub/listener-connection.cjs +180 -0
  101. package/dist/cjs/raw/index.cjs +5 -0
  102. package/dist/cjs/raw/raw-query-builder.cjs +27 -0
  103. package/dist/cjs/schema/index.cjs +15 -0
  104. package/dist/cjs/schema/schema-builder.cjs +1167 -0
  105. package/dist/cjs/schema-builder.cjs +21 -0
  106. package/dist/cjs/schema-definition/column-types.cjs +829 -0
  107. package/dist/cjs/schema-definition/index.cjs +62 -0
  108. package/dist/cjs/schema-definition/introspection.cjs +620 -0
  109. package/dist/cjs/schema-definition/partitions.cjs +129 -0
  110. package/dist/cjs/schema-definition/pg-enum.cjs +76 -0
  111. package/dist/cjs/schema-definition/pg-function.cjs +91 -0
  112. package/dist/cjs/schema-definition/pg-sequence.cjs +56 -0
  113. package/dist/cjs/schema-definition/pg-trigger.cjs +108 -0
  114. package/dist/cjs/schema-definition/relations.cjs +98 -0
  115. package/dist/cjs/schema-definition/sql-expressions.cjs +202 -0
  116. package/dist/cjs/schema-definition/table-definition.cjs +636 -0
  117. package/dist/cjs/select/aggregate-builder.cjs +179 -0
  118. package/dist/cjs/select/index.cjs +5 -0
  119. package/dist/cjs/select/select-builder.cjs +233 -0
  120. package/dist/cjs/sequence/index.cjs +7 -0
  121. package/dist/cjs/sequence/sequence-builder.cjs +264 -0
  122. package/dist/cjs/table/alter-table-builder.cjs +146 -0
  123. package/dist/cjs/table/constraint-builder.cjs +102 -0
  124. package/dist/cjs/table/create-table-builder.cjs +248 -0
  125. package/dist/cjs/table/index.cjs +17 -0
  126. package/dist/cjs/table/partition-builder.cjs +131 -0
  127. package/dist/cjs/table/truncate-builder.cjs +70 -0
  128. package/dist/cjs/transaction/index.cjs +6 -0
  129. package/dist/cjs/transaction/transaction-builder.cjs +78 -0
  130. package/dist/cjs/trigger/create-trigger-builder.cjs +174 -0
  131. package/dist/cjs/trigger/index.cjs +6 -0
  132. package/dist/cjs/types/aggregate-types.cjs +2 -0
  133. package/dist/cjs/types/config-types.cjs +40 -0
  134. package/dist/cjs/types/inference-types.cjs +18 -0
  135. package/dist/cjs/types/pagination-types.cjs +7 -0
  136. package/dist/cjs/types/result-types.cjs +2 -0
  137. package/dist/cjs/types/schema-types.cjs +2 -0
  138. package/dist/cjs/types/subscription-types.cjs +2 -0
  139. package/dist/cjs/types.cjs +2 -0
  140. package/dist/cjs/update/array-update-builder.cjs +205 -0
  141. package/dist/cjs/update/index.cjs +13 -0
  142. package/dist/cjs/update/update-builder.cjs +195 -0
  143. package/dist/cjs/utils/case-converter.cjs +58 -0
  144. package/dist/cjs/utils/environment-detection.cjs +120 -0
  145. package/dist/cjs/utils/index.cjs +10 -0
  146. package/dist/cjs/utils/pool-defaults.cjs +106 -0
  147. package/dist/cjs/utils/type-coercion.cjs +118 -0
  148. package/dist/cjs/view/create-view-builder.cjs +180 -0
  149. package/dist/cjs/view/index.cjs +7 -0
  150. package/dist/cjs/window/index.cjs +5 -0
  151. package/dist/cjs/window/window-builder.cjs +80 -0
  152. package/dist/config.cjs +1 -0
  153. package/dist/config.d.ts +655 -0
  154. package/dist/config.js +1 -0
  155. package/dist/esm/cache/index.js +1 -0
  156. package/dist/esm/cache/query-cache.js +303 -0
  157. package/dist/esm/cli/commands/add.js +78 -0
  158. package/dist/esm/cli/commands/commit.js +109 -0
  159. package/dist/esm/cli/commands/diff.js +81 -0
  160. package/dist/esm/cli/commands/export.js +297 -0
  161. package/dist/esm/cli/commands/fetch.js +56 -0
  162. package/dist/esm/cli/commands/generate.js +206 -0
  163. package/dist/esm/cli/commands/history.js +129 -0
  164. package/dist/esm/cli/commands/import.js +488 -0
  165. package/dist/esm/cli/commands/init.js +401 -0
  166. package/dist/esm/cli/commands/introspect.js +106 -0
  167. package/dist/esm/cli/commands/log.js +59 -0
  168. package/dist/esm/cli/commands/migrate.js +131 -0
  169. package/dist/esm/cli/commands/pull.js +374 -0
  170. package/dist/esm/cli/commands/push.js +129 -0
  171. package/dist/esm/cli/commands/rollback.js +133 -0
  172. package/dist/esm/cli/commands/status.js +107 -0
  173. package/dist/esm/cli/commands/sync.js +76 -0
  174. package/dist/esm/cli/index.js +240 -0
  175. package/dist/esm/cli/utils/change-tracker.js +405 -0
  176. package/dist/esm/cli/utils/commit-manager.js +191 -0
  177. package/dist/esm/cli/utils/config-loader.js +86 -0
  178. package/dist/esm/cli/utils/env-loader.js +57 -0
  179. package/dist/esm/cli/utils/fast-introspect.js +362 -0
  180. package/dist/esm/cli/utils/git-utils.js +347 -0
  181. package/dist/esm/cli/utils/migration-generator.js +263 -0
  182. package/dist/esm/cli/utils/relqignore.js +74 -0
  183. package/dist/esm/cli/utils/repo-manager.js +444 -0
  184. package/dist/esm/cli/utils/schema-comparator.js +307 -0
  185. package/dist/esm/cli/utils/schema-diff.js +276 -0
  186. package/dist/esm/cli/utils/schema-hash.js +69 -0
  187. package/dist/esm/cli/utils/schema-introspect.js +418 -0
  188. package/dist/esm/cli/utils/snapshot-manager.js +179 -0
  189. package/dist/esm/cli/utils/spinner.js +101 -0
  190. package/dist/esm/cli/utils/sql-generator.js +504 -0
  191. package/dist/esm/cli/utils/sql-parser.js +992 -0
  192. package/dist/esm/cli/utils/type-generator.js +2058 -0
  193. package/dist/esm/condition/array-condition-builder.js +495 -0
  194. package/dist/esm/condition/array-numeric-condition-builder.js +182 -0
  195. package/dist/esm/condition/array-specialized-condition-builder.js +200 -0
  196. package/dist/esm/condition/array-string-condition-builder.js +142 -0
  197. package/dist/esm/condition/base-condition-builder.js +1 -0
  198. package/dist/esm/condition/condition-collector.js +275 -0
  199. package/dist/esm/condition/fulltext-condition-builder.js +53 -0
  200. package/dist/esm/condition/geometric-condition-builder.js +200 -0
  201. package/dist/esm/condition/index.js +7 -0
  202. package/dist/esm/condition/jsonb-condition-builder.js +152 -0
  203. package/dist/esm/condition/network-condition-builder.js +222 -0
  204. package/dist/esm/condition/range-condition-builder.js +74 -0
  205. package/dist/esm/config/config.js +150 -0
  206. package/dist/esm/config/index.js +1 -0
  207. package/dist/esm/constants/pg-values.js +63 -0
  208. package/dist/esm/copy/copy-builder.js +308 -0
  209. package/dist/esm/copy/index.js +1 -0
  210. package/dist/esm/core/query-builder.js +426 -0
  211. package/dist/esm/core/relq-client.js +1791 -0
  212. package/dist/esm/core/typed-kuery-client.js +1 -0
  213. package/dist/esm/count/count-builder.js +81 -0
  214. package/dist/esm/count/index.js +1 -0
  215. package/dist/esm/cte/cte-builder.js +82 -0
  216. package/dist/esm/cte/index.js +1 -0
  217. package/dist/esm/ddl/function.js +45 -0
  218. package/dist/esm/ddl/index.js +2 -0
  219. package/dist/esm/ddl/sql.js +51 -0
  220. package/dist/esm/delete/delete-builder.js +128 -0
  221. package/dist/esm/delete/index.js +1 -0
  222. package/dist/esm/errors/relq-errors.js +310 -0
  223. package/dist/esm/examples/fulltext-search-test.js +117 -0
  224. package/dist/esm/explain/explain-builder.js +95 -0
  225. package/dist/esm/explain/index.js +1 -0
  226. package/dist/esm/function/create-function-builder.js +188 -0
  227. package/dist/esm/function/index.js +1 -0
  228. package/dist/esm/functions/advanced-functions.js +231 -0
  229. package/dist/esm/functions/case-builder.js +58 -0
  230. package/dist/esm/functions/geometric-functions.js +97 -0
  231. package/dist/esm/functions/index.js +171 -0
  232. package/dist/esm/functions/network-functions.js +79 -0
  233. package/dist/esm/functions/sql-functions.js +421 -0
  234. package/dist/esm/index.js +34 -0
  235. package/dist/esm/indexing/create-index-builder.js +180 -0
  236. package/dist/esm/indexing/drop-index-builder.js +81 -0
  237. package/dist/esm/indexing/index-types.js +1 -0
  238. package/dist/esm/indexing/index.js +2 -0
  239. package/dist/esm/insert/conflict-builder.js +162 -0
  240. package/dist/esm/insert/index.js +1 -0
  241. package/dist/esm/insert/insert-builder.js +247 -0
  242. package/dist/esm/introspect/index.js +224 -0
  243. package/dist/esm/maintenance/index.js +1 -0
  244. package/dist/esm/maintenance/vacuum-builder.js +158 -0
  245. package/dist/esm/pubsub/index.js +1 -0
  246. package/dist/esm/pubsub/listen-notify-builder.js +48 -0
  247. package/dist/esm/pubsub/listener-connection.js +173 -0
  248. package/dist/esm/raw/index.js +1 -0
  249. package/dist/esm/raw/raw-query-builder.js +20 -0
  250. package/dist/esm/schema/index.js +1 -0
  251. package/dist/esm/schema/schema-builder.js +1150 -0
  252. package/dist/esm/schema-builder.js +2 -0
  253. package/dist/esm/schema-definition/column-types.js +738 -0
  254. package/dist/esm/schema-definition/index.js +10 -0
  255. package/dist/esm/schema-definition/introspection.js +614 -0
  256. package/dist/esm/schema-definition/partitions.js +123 -0
  257. package/dist/esm/schema-definition/pg-enum.js +70 -0
  258. package/dist/esm/schema-definition/pg-function.js +85 -0
  259. package/dist/esm/schema-definition/pg-sequence.js +50 -0
  260. package/dist/esm/schema-definition/pg-trigger.js +102 -0
  261. package/dist/esm/schema-definition/relations.js +90 -0
  262. package/dist/esm/schema-definition/sql-expressions.js +193 -0
  263. package/dist/esm/schema-definition/table-definition.js +630 -0
  264. package/dist/esm/select/aggregate-builder.js +172 -0
  265. package/dist/esm/select/index.js +1 -0
  266. package/dist/esm/select/select-builder.js +226 -0
  267. package/dist/esm/sequence/index.js +1 -0
  268. package/dist/esm/sequence/sequence-builder.js +255 -0
  269. package/dist/esm/table/alter-table-builder.js +138 -0
  270. package/dist/esm/table/constraint-builder.js +95 -0
  271. package/dist/esm/table/create-table-builder.js +241 -0
  272. package/dist/esm/table/index.js +5 -0
  273. package/dist/esm/table/partition-builder.js +121 -0
  274. package/dist/esm/table/truncate-builder.js +63 -0
  275. package/dist/esm/transaction/index.js +1 -0
  276. package/dist/esm/transaction/transaction-builder.js +70 -0
  277. package/dist/esm/trigger/create-trigger-builder.js +166 -0
  278. package/dist/esm/trigger/index.js +1 -0
  279. package/dist/esm/types/aggregate-types.js +1 -0
  280. package/dist/esm/types/config-types.js +36 -0
  281. package/dist/esm/types/inference-types.js +12 -0
  282. package/dist/esm/types/pagination-types.js +4 -0
  283. package/dist/esm/types/result-types.js +1 -0
  284. package/dist/esm/types/schema-types.js +1 -0
  285. package/dist/esm/types/subscription-types.js +1 -0
  286. package/dist/esm/types.js +1 -0
  287. package/dist/esm/update/array-update-builder.js +192 -0
  288. package/dist/esm/update/index.js +2 -0
  289. package/dist/esm/update/update-builder.js +188 -0
  290. package/dist/esm/utils/case-converter.js +55 -0
  291. package/dist/esm/utils/environment-detection.js +113 -0
  292. package/dist/esm/utils/index.js +2 -0
  293. package/dist/esm/utils/pool-defaults.js +100 -0
  294. package/dist/esm/utils/type-coercion.js +110 -0
  295. package/dist/esm/view/create-view-builder.js +171 -0
  296. package/dist/esm/view/index.js +1 -0
  297. package/dist/esm/window/index.js +1 -0
  298. package/dist/esm/window/window-builder.js +73 -0
  299. package/dist/index.cjs +1 -0
  300. package/dist/index.d.ts +10341 -0
  301. package/dist/index.js +1 -0
  302. package/dist/schema-builder.cjs +1 -0
  303. package/dist/schema-builder.d.ts +2272 -0
  304. package/dist/schema-builder.js +1 -0
  305. package/package.json +55 -0
@@ -0,0 +1,1425 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
19
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
20
+
21
+ // node_modules/postgres-array/index.js
22
+ var require_postgres_array = __commonJS((exports) => {
23
+ exports.parse = function(source, transform) {
24
+ return new ArrayParser(source, transform).parse();
25
+ };
26
+
27
+ class ArrayParser {
28
+ constructor(source, transform) {
29
+ this.source = source;
30
+ this.transform = transform || identity;
31
+ this.position = 0;
32
+ this.entries = [];
33
+ this.recorded = [];
34
+ this.dimension = 0;
35
+ }
36
+ isEof() {
37
+ return this.position >= this.source.length;
38
+ }
39
+ nextCharacter() {
40
+ var character = this.source[this.position++];
41
+ if (character === "\\") {
42
+ return {
43
+ value: this.source[this.position++],
44
+ escaped: true
45
+ };
46
+ }
47
+ return {
48
+ value: character,
49
+ escaped: false
50
+ };
51
+ }
52
+ record(character) {
53
+ this.recorded.push(character);
54
+ }
55
+ newEntry(includeEmpty) {
56
+ var entry;
57
+ if (this.recorded.length > 0 || includeEmpty) {
58
+ entry = this.recorded.join("");
59
+ if (entry === "NULL" && !includeEmpty) {
60
+ entry = null;
61
+ }
62
+ if (entry !== null)
63
+ entry = this.transform(entry);
64
+ this.entries.push(entry);
65
+ this.recorded = [];
66
+ }
67
+ }
68
+ consumeDimensions() {
69
+ if (this.source[0] === "[") {
70
+ while (!this.isEof()) {
71
+ var char = this.nextCharacter();
72
+ if (char.value === "=")
73
+ break;
74
+ }
75
+ }
76
+ }
77
+ parse(nested) {
78
+ var character, parser, quote;
79
+ this.consumeDimensions();
80
+ while (!this.isEof()) {
81
+ character = this.nextCharacter();
82
+ if (character.value === "{" && !quote) {
83
+ this.dimension++;
84
+ if (this.dimension > 1) {
85
+ parser = new ArrayParser(this.source.substr(this.position - 1), this.transform);
86
+ this.entries.push(parser.parse(true));
87
+ this.position += parser.position - 2;
88
+ }
89
+ } else if (character.value === "}" && !quote) {
90
+ this.dimension--;
91
+ if (!this.dimension) {
92
+ this.newEntry();
93
+ if (nested)
94
+ return this.entries;
95
+ }
96
+ } else if (character.value === '"' && !character.escaped) {
97
+ if (quote)
98
+ this.newEntry(true);
99
+ quote = !quote;
100
+ } else if (character.value === "," && !quote) {
101
+ this.newEntry();
102
+ } else {
103
+ this.record(character.value);
104
+ }
105
+ }
106
+ if (this.dimension !== 0) {
107
+ throw new Error("array dimension not balanced");
108
+ }
109
+ return this.entries;
110
+ }
111
+ }
112
+ function identity(value) {
113
+ return value;
114
+ }
115
+ });
116
+
117
+ // node_modules/pg-types/lib/arrayParser.js
118
+ var require_arrayParser = __commonJS((exports, module) => {
119
+ var array = require_postgres_array();
120
+ module.exports = {
121
+ create: function(source, transform) {
122
+ return {
123
+ parse: function() {
124
+ return array.parse(source, transform);
125
+ }
126
+ };
127
+ }
128
+ };
129
+ });
130
+
131
+ // node_modules/postgres-date/index.js
132
+ var require_postgres_date = __commonJS((exports, module) => {
133
+ var DATE_TIME = /(\d{1,})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(\.\d{1,})?.*?( BC)?$/;
134
+ var DATE = /^(\d{1,})-(\d{2})-(\d{2})( BC)?$/;
135
+ var TIME_ZONE = /([Z+-])(\d{2})?:?(\d{2})?:?(\d{2})?/;
136
+ var INFINITY = /^-?infinity$/;
137
+ module.exports = function parseDate(isoDate) {
138
+ if (INFINITY.test(isoDate)) {
139
+ return Number(isoDate.replace("i", "I"));
140
+ }
141
+ var matches = DATE_TIME.exec(isoDate);
142
+ if (!matches) {
143
+ return getDate(isoDate) || null;
144
+ }
145
+ var isBC = !!matches[8];
146
+ var year = parseInt(matches[1], 10);
147
+ if (isBC) {
148
+ year = bcYearToNegativeYear(year);
149
+ }
150
+ var month = parseInt(matches[2], 10) - 1;
151
+ var day = matches[3];
152
+ var hour = parseInt(matches[4], 10);
153
+ var minute = parseInt(matches[5], 10);
154
+ var second = parseInt(matches[6], 10);
155
+ var ms = matches[7];
156
+ ms = ms ? 1000 * parseFloat(ms) : 0;
157
+ var date;
158
+ var offset = timeZoneOffset(isoDate);
159
+ if (offset != null) {
160
+ date = new Date(Date.UTC(year, month, day, hour, minute, second, ms));
161
+ if (is0To99(year)) {
162
+ date.setUTCFullYear(year);
163
+ }
164
+ if (offset !== 0) {
165
+ date.setTime(date.getTime() - offset);
166
+ }
167
+ } else {
168
+ date = new Date(year, month, day, hour, minute, second, ms);
169
+ if (is0To99(year)) {
170
+ date.setFullYear(year);
171
+ }
172
+ }
173
+ return date;
174
+ };
175
+ function getDate(isoDate) {
176
+ var matches = DATE.exec(isoDate);
177
+ if (!matches) {
178
+ return;
179
+ }
180
+ var year = parseInt(matches[1], 10);
181
+ var isBC = !!matches[4];
182
+ if (isBC) {
183
+ year = bcYearToNegativeYear(year);
184
+ }
185
+ var month = parseInt(matches[2], 10) - 1;
186
+ var day = matches[3];
187
+ var date = new Date(year, month, day);
188
+ if (is0To99(year)) {
189
+ date.setFullYear(year);
190
+ }
191
+ return date;
192
+ }
193
+ function timeZoneOffset(isoDate) {
194
+ if (isoDate.endsWith("+00")) {
195
+ return 0;
196
+ }
197
+ var zone = TIME_ZONE.exec(isoDate.split(" ")[1]);
198
+ if (!zone)
199
+ return;
200
+ var type = zone[1];
201
+ if (type === "Z") {
202
+ return 0;
203
+ }
204
+ var sign = type === "-" ? -1 : 1;
205
+ var offset = parseInt(zone[2], 10) * 3600 + parseInt(zone[3] || 0, 10) * 60 + parseInt(zone[4] || 0, 10);
206
+ return offset * sign * 1000;
207
+ }
208
+ function bcYearToNegativeYear(year) {
209
+ return -(year - 1);
210
+ }
211
+ function is0To99(num) {
212
+ return num >= 0 && num < 100;
213
+ }
214
+ });
215
+
216
+ // node_modules/xtend/mutable.js
217
+ var require_mutable = __commonJS((exports, module) => {
218
+ module.exports = extend;
219
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
220
+ function extend(target) {
221
+ for (var i = 1;i < arguments.length; i++) {
222
+ var source = arguments[i];
223
+ for (var key in source) {
224
+ if (hasOwnProperty.call(source, key)) {
225
+ target[key] = source[key];
226
+ }
227
+ }
228
+ }
229
+ return target;
230
+ }
231
+ });
232
+
233
+ // node_modules/postgres-interval/index.js
234
+ var require_postgres_interval = __commonJS((exports, module) => {
235
+ var extend = require_mutable();
236
+ module.exports = PostgresInterval;
237
+ function PostgresInterval(raw) {
238
+ if (!(this instanceof PostgresInterval)) {
239
+ return new PostgresInterval(raw);
240
+ }
241
+ extend(this, parse(raw));
242
+ }
243
+ var properties = ["seconds", "minutes", "hours", "days", "months", "years"];
244
+ PostgresInterval.prototype.toPostgres = function() {
245
+ var filtered = properties.filter(this.hasOwnProperty, this);
246
+ if (this.milliseconds && filtered.indexOf("seconds") < 0) {
247
+ filtered.push("seconds");
248
+ }
249
+ if (filtered.length === 0)
250
+ return "0";
251
+ return filtered.map(function(property) {
252
+ var value = this[property] || 0;
253
+ if (property === "seconds" && this.milliseconds) {
254
+ value = (value + this.milliseconds / 1000).toFixed(6).replace(/\.?0+$/, "");
255
+ }
256
+ return value + " " + property;
257
+ }, this).join(" ");
258
+ };
259
+ var propertiesISOEquivalent = {
260
+ years: "Y",
261
+ months: "M",
262
+ days: "D",
263
+ hours: "H",
264
+ minutes: "M",
265
+ seconds: "S"
266
+ };
267
+ var dateProperties = ["years", "months", "days"];
268
+ var timeProperties = ["hours", "minutes", "seconds"];
269
+ PostgresInterval.prototype.toISOString = PostgresInterval.prototype.toISO = function() {
270
+ var datePart = dateProperties.map(buildProperty, this).join("");
271
+ var timePart = timeProperties.map(buildProperty, this).join("");
272
+ return "P" + datePart + "T" + timePart;
273
+ function buildProperty(property) {
274
+ var value = this[property] || 0;
275
+ if (property === "seconds" && this.milliseconds) {
276
+ value = (value + this.milliseconds / 1000).toFixed(6).replace(/0+$/, "");
277
+ }
278
+ return value + propertiesISOEquivalent[property];
279
+ }
280
+ };
281
+ var NUMBER = "([+-]?\\d+)";
282
+ var YEAR = NUMBER + "\\s+years?";
283
+ var MONTH = NUMBER + "\\s+mons?";
284
+ var DAY = NUMBER + "\\s+days?";
285
+ var TIME = "([+-])?([\\d]*):(\\d\\d):(\\d\\d)\\.?(\\d{1,6})?";
286
+ var INTERVAL = new RegExp([YEAR, MONTH, DAY, TIME].map(function(regexString) {
287
+ return "(" + regexString + ")?";
288
+ }).join("\\s*"));
289
+ var positions = {
290
+ years: 2,
291
+ months: 4,
292
+ days: 6,
293
+ hours: 9,
294
+ minutes: 10,
295
+ seconds: 11,
296
+ milliseconds: 12
297
+ };
298
+ var negatives = ["hours", "minutes", "seconds", "milliseconds"];
299
+ function parseMilliseconds(fraction) {
300
+ var microseconds = fraction + "000000".slice(fraction.length);
301
+ return parseInt(microseconds, 10) / 1000;
302
+ }
303
+ function parse(interval) {
304
+ if (!interval)
305
+ return {};
306
+ var matches = INTERVAL.exec(interval);
307
+ var isNegative = matches[8] === "-";
308
+ return Object.keys(positions).reduce(function(parsed, property) {
309
+ var position = positions[property];
310
+ var value = matches[position];
311
+ if (!value)
312
+ return parsed;
313
+ value = property === "milliseconds" ? parseMilliseconds(value) : parseInt(value, 10);
314
+ if (!value)
315
+ return parsed;
316
+ if (isNegative && ~negatives.indexOf(property)) {
317
+ value *= -1;
318
+ }
319
+ parsed[property] = value;
320
+ return parsed;
321
+ }, {});
322
+ }
323
+ });
324
+
325
+ // node_modules/postgres-bytea/index.js
326
+ var require_postgres_bytea = __commonJS((exports, module) => {
327
+ module.exports = function parseBytea(input) {
328
+ if (/^\\x/.test(input)) {
329
+ return new Buffer(input.substr(2), "hex");
330
+ }
331
+ var output = "";
332
+ var i = 0;
333
+ while (i < input.length) {
334
+ if (input[i] !== "\\") {
335
+ output += input[i];
336
+ ++i;
337
+ } else {
338
+ if (/[0-7]{3}/.test(input.substr(i + 1, 3))) {
339
+ output += String.fromCharCode(parseInt(input.substr(i + 1, 3), 8));
340
+ i += 4;
341
+ } else {
342
+ var backslashes = 1;
343
+ while (i + backslashes < input.length && input[i + backslashes] === "\\") {
344
+ backslashes++;
345
+ }
346
+ for (var k = 0;k < Math.floor(backslashes / 2); ++k) {
347
+ output += "\\";
348
+ }
349
+ i += Math.floor(backslashes / 2) * 2;
350
+ }
351
+ }
352
+ }
353
+ return new Buffer(output, "binary");
354
+ };
355
+ });
356
+
357
+ // node_modules/pg-types/lib/textParsers.js
358
+ var require_textParsers = __commonJS((exports, module) => {
359
+ var array = require_postgres_array();
360
+ var arrayParser = require_arrayParser();
361
+ var parseDate = require_postgres_date();
362
+ var parseInterval = require_postgres_interval();
363
+ var parseByteA = require_postgres_bytea();
364
+ function allowNull(fn) {
365
+ return function nullAllowed(value) {
366
+ if (value === null)
367
+ return value;
368
+ return fn(value);
369
+ };
370
+ }
371
+ function parseBool(value) {
372
+ if (value === null)
373
+ return value;
374
+ return value === "TRUE" || value === "t" || value === "true" || value === "y" || value === "yes" || value === "on" || value === "1";
375
+ }
376
+ function parseBoolArray(value) {
377
+ if (!value)
378
+ return null;
379
+ return array.parse(value, parseBool);
380
+ }
381
+ function parseBaseTenInt(string) {
382
+ return parseInt(string, 10);
383
+ }
384
+ function parseIntegerArray(value) {
385
+ if (!value)
386
+ return null;
387
+ return array.parse(value, allowNull(parseBaseTenInt));
388
+ }
389
+ function parseBigIntegerArray(value) {
390
+ if (!value)
391
+ return null;
392
+ return array.parse(value, allowNull(function(entry) {
393
+ return parseBigInteger(entry).trim();
394
+ }));
395
+ }
396
+ var parsePointArray = function(value) {
397
+ if (!value) {
398
+ return null;
399
+ }
400
+ var p = arrayParser.create(value, function(entry) {
401
+ if (entry !== null) {
402
+ entry = parsePoint(entry);
403
+ }
404
+ return entry;
405
+ });
406
+ return p.parse();
407
+ };
408
+ var parseFloatArray = function(value) {
409
+ if (!value) {
410
+ return null;
411
+ }
412
+ var p = arrayParser.create(value, function(entry) {
413
+ if (entry !== null) {
414
+ entry = parseFloat(entry);
415
+ }
416
+ return entry;
417
+ });
418
+ return p.parse();
419
+ };
420
+ var parseStringArray = function(value) {
421
+ if (!value) {
422
+ return null;
423
+ }
424
+ var p = arrayParser.create(value);
425
+ return p.parse();
426
+ };
427
+ var parseDateArray = function(value) {
428
+ if (!value) {
429
+ return null;
430
+ }
431
+ var p = arrayParser.create(value, function(entry) {
432
+ if (entry !== null) {
433
+ entry = parseDate(entry);
434
+ }
435
+ return entry;
436
+ });
437
+ return p.parse();
438
+ };
439
+ var parseIntervalArray = function(value) {
440
+ if (!value) {
441
+ return null;
442
+ }
443
+ var p = arrayParser.create(value, function(entry) {
444
+ if (entry !== null) {
445
+ entry = parseInterval(entry);
446
+ }
447
+ return entry;
448
+ });
449
+ return p.parse();
450
+ };
451
+ var parseByteAArray = function(value) {
452
+ if (!value) {
453
+ return null;
454
+ }
455
+ return array.parse(value, allowNull(parseByteA));
456
+ };
457
+ var parseInteger = function(value) {
458
+ return parseInt(value, 10);
459
+ };
460
+ var parseBigInteger = function(value) {
461
+ var valStr = String(value);
462
+ if (/^\d+$/.test(valStr)) {
463
+ return valStr;
464
+ }
465
+ return value;
466
+ };
467
+ var parseJsonArray = function(value) {
468
+ if (!value) {
469
+ return null;
470
+ }
471
+ return array.parse(value, allowNull(JSON.parse));
472
+ };
473
+ var parsePoint = function(value) {
474
+ if (value[0] !== "(") {
475
+ return null;
476
+ }
477
+ value = value.substring(1, value.length - 1).split(",");
478
+ return {
479
+ x: parseFloat(value[0]),
480
+ y: parseFloat(value[1])
481
+ };
482
+ };
483
+ var parseCircle = function(value) {
484
+ if (value[0] !== "<" && value[1] !== "(") {
485
+ return null;
486
+ }
487
+ var point = "(";
488
+ var radius = "";
489
+ var pointParsed = false;
490
+ for (var i = 2;i < value.length - 1; i++) {
491
+ if (!pointParsed) {
492
+ point += value[i];
493
+ }
494
+ if (value[i] === ")") {
495
+ pointParsed = true;
496
+ continue;
497
+ } else if (!pointParsed) {
498
+ continue;
499
+ }
500
+ if (value[i] === ",") {
501
+ continue;
502
+ }
503
+ radius += value[i];
504
+ }
505
+ var result = parsePoint(point);
506
+ result.radius = parseFloat(radius);
507
+ return result;
508
+ };
509
+ var init = function(register) {
510
+ register(20, parseBigInteger);
511
+ register(21, parseInteger);
512
+ register(23, parseInteger);
513
+ register(26, parseInteger);
514
+ register(700, parseFloat);
515
+ register(701, parseFloat);
516
+ register(16, parseBool);
517
+ register(1082, parseDate);
518
+ register(1114, parseDate);
519
+ register(1184, parseDate);
520
+ register(600, parsePoint);
521
+ register(651, parseStringArray);
522
+ register(718, parseCircle);
523
+ register(1000, parseBoolArray);
524
+ register(1001, parseByteAArray);
525
+ register(1005, parseIntegerArray);
526
+ register(1007, parseIntegerArray);
527
+ register(1028, parseIntegerArray);
528
+ register(1016, parseBigIntegerArray);
529
+ register(1017, parsePointArray);
530
+ register(1021, parseFloatArray);
531
+ register(1022, parseFloatArray);
532
+ register(1231, parseFloatArray);
533
+ register(1014, parseStringArray);
534
+ register(1015, parseStringArray);
535
+ register(1008, parseStringArray);
536
+ register(1009, parseStringArray);
537
+ register(1040, parseStringArray);
538
+ register(1041, parseStringArray);
539
+ register(1115, parseDateArray);
540
+ register(1182, parseDateArray);
541
+ register(1185, parseDateArray);
542
+ register(1186, parseInterval);
543
+ register(1187, parseIntervalArray);
544
+ register(17, parseByteA);
545
+ register(114, JSON.parse.bind(JSON));
546
+ register(3802, JSON.parse.bind(JSON));
547
+ register(199, parseJsonArray);
548
+ register(3807, parseJsonArray);
549
+ register(3907, parseStringArray);
550
+ register(2951, parseStringArray);
551
+ register(791, parseStringArray);
552
+ register(1183, parseStringArray);
553
+ register(1270, parseStringArray);
554
+ };
555
+ module.exports = {
556
+ init
557
+ };
558
+ });
559
+
560
+ // node_modules/pg-int8/index.js
561
+ var require_pg_int8 = __commonJS((exports, module) => {
562
+ var BASE = 1e6;
563
+ function readInt8(buffer) {
564
+ var high = buffer.readInt32BE(0);
565
+ var low = buffer.readUInt32BE(4);
566
+ var sign = "";
567
+ if (high < 0) {
568
+ high = ~high + (low === 0);
569
+ low = ~low + 1 >>> 0;
570
+ sign = "-";
571
+ }
572
+ var result = "";
573
+ var carry;
574
+ var t;
575
+ var digits;
576
+ var pad;
577
+ var l;
578
+ var i;
579
+ {
580
+ carry = high % BASE;
581
+ high = high / BASE >>> 0;
582
+ t = 4294967296 * carry + low;
583
+ low = t / BASE >>> 0;
584
+ digits = "" + (t - BASE * low);
585
+ if (low === 0 && high === 0) {
586
+ return sign + digits + result;
587
+ }
588
+ pad = "";
589
+ l = 6 - digits.length;
590
+ for (i = 0;i < l; i++) {
591
+ pad += "0";
592
+ }
593
+ result = pad + digits + result;
594
+ }
595
+ {
596
+ carry = high % BASE;
597
+ high = high / BASE >>> 0;
598
+ t = 4294967296 * carry + low;
599
+ low = t / BASE >>> 0;
600
+ digits = "" + (t - BASE * low);
601
+ if (low === 0 && high === 0) {
602
+ return sign + digits + result;
603
+ }
604
+ pad = "";
605
+ l = 6 - digits.length;
606
+ for (i = 0;i < l; i++) {
607
+ pad += "0";
608
+ }
609
+ result = pad + digits + result;
610
+ }
611
+ {
612
+ carry = high % BASE;
613
+ high = high / BASE >>> 0;
614
+ t = 4294967296 * carry + low;
615
+ low = t / BASE >>> 0;
616
+ digits = "" + (t - BASE * low);
617
+ if (low === 0 && high === 0) {
618
+ return sign + digits + result;
619
+ }
620
+ pad = "";
621
+ l = 6 - digits.length;
622
+ for (i = 0;i < l; i++) {
623
+ pad += "0";
624
+ }
625
+ result = pad + digits + result;
626
+ }
627
+ {
628
+ carry = high % BASE;
629
+ t = 4294967296 * carry + low;
630
+ digits = "" + t % BASE;
631
+ return sign + digits + result;
632
+ }
633
+ }
634
+ module.exports = readInt8;
635
+ });
636
+
637
+ // node_modules/pg-types/lib/binaryParsers.js
638
+ var require_binaryParsers = __commonJS((exports, module) => {
639
+ var parseInt64 = require_pg_int8();
640
+ var parseBits = function(data, bits, offset, invert, callback) {
641
+ offset = offset || 0;
642
+ invert = invert || false;
643
+ callback = callback || function(lastValue, newValue, bits2) {
644
+ return lastValue * Math.pow(2, bits2) + newValue;
645
+ };
646
+ var offsetBytes = offset >> 3;
647
+ var inv = function(value) {
648
+ if (invert) {
649
+ return ~value & 255;
650
+ }
651
+ return value;
652
+ };
653
+ var mask = 255;
654
+ var firstBits = 8 - offset % 8;
655
+ if (bits < firstBits) {
656
+ mask = 255 << 8 - bits & 255;
657
+ firstBits = bits;
658
+ }
659
+ if (offset) {
660
+ mask = mask >> offset % 8;
661
+ }
662
+ var result = 0;
663
+ if (offset % 8 + bits >= 8) {
664
+ result = callback(0, inv(data[offsetBytes]) & mask, firstBits);
665
+ }
666
+ var bytes = bits + offset >> 3;
667
+ for (var i = offsetBytes + 1;i < bytes; i++) {
668
+ result = callback(result, inv(data[i]), 8);
669
+ }
670
+ var lastBits = (bits + offset) % 8;
671
+ if (lastBits > 0) {
672
+ result = callback(result, inv(data[bytes]) >> 8 - lastBits, lastBits);
673
+ }
674
+ return result;
675
+ };
676
+ var parseFloatFromBits = function(data, precisionBits, exponentBits) {
677
+ var bias = Math.pow(2, exponentBits - 1) - 1;
678
+ var sign = parseBits(data, 1);
679
+ var exponent = parseBits(data, exponentBits, 1);
680
+ if (exponent === 0) {
681
+ return 0;
682
+ }
683
+ var precisionBitsCounter = 1;
684
+ var parsePrecisionBits = function(lastValue, newValue, bits) {
685
+ if (lastValue === 0) {
686
+ lastValue = 1;
687
+ }
688
+ for (var i = 1;i <= bits; i++) {
689
+ precisionBitsCounter /= 2;
690
+ if ((newValue & 1 << bits - i) > 0) {
691
+ lastValue += precisionBitsCounter;
692
+ }
693
+ }
694
+ return lastValue;
695
+ };
696
+ var mantissa = parseBits(data, precisionBits, exponentBits + 1, false, parsePrecisionBits);
697
+ if (exponent == Math.pow(2, exponentBits + 1) - 1) {
698
+ if (mantissa === 0) {
699
+ return sign === 0 ? Infinity : -Infinity;
700
+ }
701
+ return NaN;
702
+ }
703
+ return (sign === 0 ? 1 : -1) * Math.pow(2, exponent - bias) * mantissa;
704
+ };
705
+ var parseInt16 = function(value) {
706
+ if (parseBits(value, 1) == 1) {
707
+ return -1 * (parseBits(value, 15, 1, true) + 1);
708
+ }
709
+ return parseBits(value, 15, 1);
710
+ };
711
+ var parseInt32 = function(value) {
712
+ if (parseBits(value, 1) == 1) {
713
+ return -1 * (parseBits(value, 31, 1, true) + 1);
714
+ }
715
+ return parseBits(value, 31, 1);
716
+ };
717
+ var parseFloat32 = function(value) {
718
+ return parseFloatFromBits(value, 23, 8);
719
+ };
720
+ var parseFloat64 = function(value) {
721
+ return parseFloatFromBits(value, 52, 11);
722
+ };
723
+ var parseNumeric = function(value) {
724
+ var sign = parseBits(value, 16, 32);
725
+ if (sign == 49152) {
726
+ return NaN;
727
+ }
728
+ var weight = Math.pow(1e4, parseBits(value, 16, 16));
729
+ var result = 0;
730
+ var digits = [];
731
+ var ndigits = parseBits(value, 16);
732
+ for (var i = 0;i < ndigits; i++) {
733
+ result += parseBits(value, 16, 64 + 16 * i) * weight;
734
+ weight /= 1e4;
735
+ }
736
+ var scale = Math.pow(10, parseBits(value, 16, 48));
737
+ return (sign === 0 ? 1 : -1) * Math.round(result * scale) / scale;
738
+ };
739
+ var parseDate = function(isUTC, value) {
740
+ var sign = parseBits(value, 1);
741
+ var rawValue = parseBits(value, 63, 1);
742
+ var result = new Date((sign === 0 ? 1 : -1) * rawValue / 1000 + 946684800000);
743
+ if (!isUTC) {
744
+ result.setTime(result.getTime() + result.getTimezoneOffset() * 60000);
745
+ }
746
+ result.usec = rawValue % 1000;
747
+ result.getMicroSeconds = function() {
748
+ return this.usec;
749
+ };
750
+ result.setMicroSeconds = function(value2) {
751
+ this.usec = value2;
752
+ };
753
+ result.getUTCMicroSeconds = function() {
754
+ return this.usec;
755
+ };
756
+ return result;
757
+ };
758
+ var parseArray = function(value) {
759
+ var dim = parseBits(value, 32);
760
+ var flags = parseBits(value, 32, 32);
761
+ var elementType = parseBits(value, 32, 64);
762
+ var offset = 96;
763
+ var dims = [];
764
+ for (var i = 0;i < dim; i++) {
765
+ dims[i] = parseBits(value, 32, offset);
766
+ offset += 32;
767
+ offset += 32;
768
+ }
769
+ var parseElement = function(elementType2) {
770
+ var length = parseBits(value, 32, offset);
771
+ offset += 32;
772
+ if (length == 4294967295) {
773
+ return null;
774
+ }
775
+ var result;
776
+ if (elementType2 == 23 || elementType2 == 20) {
777
+ result = parseBits(value, length * 8, offset);
778
+ offset += length * 8;
779
+ return result;
780
+ } else if (elementType2 == 25) {
781
+ result = value.toString(this.encoding, offset >> 3, (offset += length << 3) >> 3);
782
+ return result;
783
+ } else {
784
+ console.log("ERROR: ElementType not implemented: " + elementType2);
785
+ }
786
+ };
787
+ var parse = function(dimension, elementType2) {
788
+ var array = [];
789
+ var i2;
790
+ if (dimension.length > 1) {
791
+ var count = dimension.shift();
792
+ for (i2 = 0;i2 < count; i2++) {
793
+ array[i2] = parse(dimension, elementType2);
794
+ }
795
+ dimension.unshift(count);
796
+ } else {
797
+ for (i2 = 0;i2 < dimension[0]; i2++) {
798
+ array[i2] = parseElement(elementType2);
799
+ }
800
+ }
801
+ return array;
802
+ };
803
+ return parse(dims, elementType);
804
+ };
805
+ var parseText = function(value) {
806
+ return value.toString("utf8");
807
+ };
808
+ var parseBool = function(value) {
809
+ if (value === null)
810
+ return null;
811
+ return parseBits(value, 8) > 0;
812
+ };
813
+ var init = function(register) {
814
+ register(20, parseInt64);
815
+ register(21, parseInt16);
816
+ register(23, parseInt32);
817
+ register(26, parseInt32);
818
+ register(1700, parseNumeric);
819
+ register(700, parseFloat32);
820
+ register(701, parseFloat64);
821
+ register(16, parseBool);
822
+ register(1114, parseDate.bind(null, false));
823
+ register(1184, parseDate.bind(null, true));
824
+ register(1000, parseArray);
825
+ register(1007, parseArray);
826
+ register(1016, parseArray);
827
+ register(1008, parseArray);
828
+ register(1009, parseArray);
829
+ register(25, parseText);
830
+ };
831
+ module.exports = {
832
+ init
833
+ };
834
+ });
835
+
836
+ // node_modules/pg-types/lib/builtins.js
837
+ var require_builtins = __commonJS((exports, module) => {
838
+ module.exports = {
839
+ BOOL: 16,
840
+ BYTEA: 17,
841
+ CHAR: 18,
842
+ INT8: 20,
843
+ INT2: 21,
844
+ INT4: 23,
845
+ REGPROC: 24,
846
+ TEXT: 25,
847
+ OID: 26,
848
+ TID: 27,
849
+ XID: 28,
850
+ CID: 29,
851
+ JSON: 114,
852
+ XML: 142,
853
+ PG_NODE_TREE: 194,
854
+ SMGR: 210,
855
+ PATH: 602,
856
+ POLYGON: 604,
857
+ CIDR: 650,
858
+ FLOAT4: 700,
859
+ FLOAT8: 701,
860
+ ABSTIME: 702,
861
+ RELTIME: 703,
862
+ TINTERVAL: 704,
863
+ CIRCLE: 718,
864
+ MACADDR8: 774,
865
+ MONEY: 790,
866
+ MACADDR: 829,
867
+ INET: 869,
868
+ ACLITEM: 1033,
869
+ BPCHAR: 1042,
870
+ VARCHAR: 1043,
871
+ DATE: 1082,
872
+ TIME: 1083,
873
+ TIMESTAMP: 1114,
874
+ TIMESTAMPTZ: 1184,
875
+ INTERVAL: 1186,
876
+ TIMETZ: 1266,
877
+ BIT: 1560,
878
+ VARBIT: 1562,
879
+ NUMERIC: 1700,
880
+ REFCURSOR: 1790,
881
+ REGPROCEDURE: 2202,
882
+ REGOPER: 2203,
883
+ REGOPERATOR: 2204,
884
+ REGCLASS: 2205,
885
+ REGTYPE: 2206,
886
+ UUID: 2950,
887
+ TXID_SNAPSHOT: 2970,
888
+ PG_LSN: 3220,
889
+ PG_NDISTINCT: 3361,
890
+ PG_DEPENDENCIES: 3402,
891
+ TSVECTOR: 3614,
892
+ TSQUERY: 3615,
893
+ GTSVECTOR: 3642,
894
+ REGCONFIG: 3734,
895
+ REGDICTIONARY: 3769,
896
+ JSONB: 3802,
897
+ REGNAMESPACE: 4089,
898
+ REGROLE: 4096
899
+ };
900
+ });
901
+
902
+ // node_modules/pg-types/index.js
903
+ var require_pg_types = __commonJS((exports) => {
904
+ var textParsers = require_textParsers();
905
+ var binaryParsers = require_binaryParsers();
906
+ var arrayParser = require_arrayParser();
907
+ var builtinTypes = require_builtins();
908
+ exports.getTypeParser = getTypeParser;
909
+ exports.setTypeParser = setTypeParser;
910
+ exports.arrayParser = arrayParser;
911
+ exports.builtins = builtinTypes;
912
+ var typeParsers = {
913
+ text: {},
914
+ binary: {}
915
+ };
916
+ function noParse(val) {
917
+ return String(val);
918
+ }
919
+ function getTypeParser(oid, format) {
920
+ format = format || "text";
921
+ if (!typeParsers[format]) {
922
+ return noParse;
923
+ }
924
+ return typeParsers[format][oid] || noParse;
925
+ }
926
+ function setTypeParser(oid, format, parseFn) {
927
+ if (typeof format == "function") {
928
+ parseFn = format;
929
+ format = "text";
930
+ }
931
+ typeParsers[format][oid] = parseFn;
932
+ }
933
+ textParsers.init(function(oid, converter) {
934
+ typeParsers.text[oid] = converter;
935
+ });
936
+ binaryParsers.init(function(oid, converter) {
937
+ typeParsers.binary[oid] = converter;
938
+ });
939
+ });
940
+
941
+ // node_modules/pg/lib/result.js
942
+ var require_result = __commonJS((exports, module) => {
943
+ var types = require_pg_types();
944
+ var matchRegexp = /^([A-Za-z]+)(?: (\d+))?(?: (\d+))?/;
945
+
946
+ class Result {
947
+ constructor(rowMode, types2) {
948
+ this.command = null;
949
+ this.rowCount = null;
950
+ this.oid = null;
951
+ this.rows = [];
952
+ this.fields = [];
953
+ this._parsers = undefined;
954
+ this._types = types2;
955
+ this.RowCtor = null;
956
+ this.rowAsArray = rowMode === "array";
957
+ if (this.rowAsArray) {
958
+ this.parseRow = this._parseRowAsArray;
959
+ }
960
+ this._prebuiltEmptyResultObject = null;
961
+ }
962
+ addCommandComplete(msg) {
963
+ let match;
964
+ if (msg.text) {
965
+ match = matchRegexp.exec(msg.text);
966
+ } else {
967
+ match = matchRegexp.exec(msg.command);
968
+ }
969
+ if (match) {
970
+ this.command = match[1];
971
+ if (match[3]) {
972
+ this.oid = parseInt(match[2], 10);
973
+ this.rowCount = parseInt(match[3], 10);
974
+ } else if (match[2]) {
975
+ this.rowCount = parseInt(match[2], 10);
976
+ }
977
+ }
978
+ }
979
+ _parseRowAsArray(rowData) {
980
+ const row = new Array(rowData.length);
981
+ for (let i = 0, len = rowData.length;i < len; i++) {
982
+ const rawValue = rowData[i];
983
+ if (rawValue !== null) {
984
+ row[i] = this._parsers[i](rawValue);
985
+ } else {
986
+ row[i] = null;
987
+ }
988
+ }
989
+ return row;
990
+ }
991
+ parseRow(rowData) {
992
+ const row = { ...this._prebuiltEmptyResultObject };
993
+ for (let i = 0, len = rowData.length;i < len; i++) {
994
+ const rawValue = rowData[i];
995
+ const field = this.fields[i].name;
996
+ if (rawValue !== null) {
997
+ const v = this.fields[i].format === "binary" ? Buffer.from(rawValue) : rawValue;
998
+ row[field] = this._parsers[i](v);
999
+ } else {
1000
+ row[field] = null;
1001
+ }
1002
+ }
1003
+ return row;
1004
+ }
1005
+ addRow(row) {
1006
+ this.rows.push(row);
1007
+ }
1008
+ addFields(fieldDescriptions) {
1009
+ this.fields = fieldDescriptions;
1010
+ if (this.fields.length) {
1011
+ this._parsers = new Array(fieldDescriptions.length);
1012
+ }
1013
+ const row = {};
1014
+ for (let i = 0;i < fieldDescriptions.length; i++) {
1015
+ const desc = fieldDescriptions[i];
1016
+ row[desc.name] = null;
1017
+ if (this._types) {
1018
+ this._parsers[i] = this._types.getTypeParser(desc.dataTypeID, desc.format || "text");
1019
+ } else {
1020
+ this._parsers[i] = types.getTypeParser(desc.dataTypeID, desc.format || "text");
1021
+ }
1022
+ }
1023
+ this._prebuiltEmptyResultObject = { ...row };
1024
+ }
1025
+ }
1026
+ module.exports = Result;
1027
+ });
1028
+
1029
+ // node_modules/pg/lib/defaults.js
1030
+ var require_defaults = __commonJS((exports, module) => {
1031
+ module.exports = {
1032
+ host: "localhost",
1033
+ user: process.platform === "win32" ? process.env.USERNAME : process.env.USER,
1034
+ database: undefined,
1035
+ password: null,
1036
+ connectionString: undefined,
1037
+ port: 5432,
1038
+ rows: 0,
1039
+ binary: false,
1040
+ max: 10,
1041
+ idleTimeoutMillis: 30000,
1042
+ client_encoding: "",
1043
+ ssl: false,
1044
+ application_name: undefined,
1045
+ fallback_application_name: undefined,
1046
+ options: undefined,
1047
+ parseInputDatesAsUTC: false,
1048
+ statement_timeout: false,
1049
+ lock_timeout: false,
1050
+ idle_in_transaction_session_timeout: false,
1051
+ query_timeout: false,
1052
+ connect_timeout: 0,
1053
+ keepalives: 1,
1054
+ keepalives_idle: 0
1055
+ };
1056
+ var pgTypes = require_pg_types();
1057
+ var parseBigInteger = pgTypes.getTypeParser(20, "text");
1058
+ var parseBigIntegerArray = pgTypes.getTypeParser(1016, "text");
1059
+ module.exports.__defineSetter__("parseInt8", function(val) {
1060
+ pgTypes.setTypeParser(20, "text", val ? pgTypes.getTypeParser(23, "text") : parseBigInteger);
1061
+ pgTypes.setTypeParser(1016, "text", val ? pgTypes.getTypeParser(1007, "text") : parseBigIntegerArray);
1062
+ });
1063
+ });
1064
+
1065
+ // node_modules/pg/lib/utils.js
1066
+ var require_utils = __commonJS((exports, module) => {
1067
+ var defaults = require_defaults();
1068
+ var util = __require("util");
1069
+ var { isDate } = util.types || util;
1070
+ function escapeElement(elementRepresentation) {
1071
+ const escaped = elementRepresentation.replace(/\\/g, "\\\\").replace(/"/g, "\\\"");
1072
+ return '"' + escaped + '"';
1073
+ }
1074
+ function arrayString(val) {
1075
+ let result = "{";
1076
+ for (let i = 0;i < val.length; i++) {
1077
+ if (i > 0) {
1078
+ result = result + ",";
1079
+ }
1080
+ if (val[i] === null || typeof val[i] === "undefined") {
1081
+ result = result + "NULL";
1082
+ } else if (Array.isArray(val[i])) {
1083
+ result = result + arrayString(val[i]);
1084
+ } else if (ArrayBuffer.isView(val[i])) {
1085
+ let item = val[i];
1086
+ if (!(item instanceof Buffer)) {
1087
+ const buf = Buffer.from(item.buffer, item.byteOffset, item.byteLength);
1088
+ if (buf.length === item.byteLength) {
1089
+ item = buf;
1090
+ } else {
1091
+ item = buf.slice(item.byteOffset, item.byteOffset + item.byteLength);
1092
+ }
1093
+ }
1094
+ result += "\\\\x" + item.toString("hex");
1095
+ } else {
1096
+ result += escapeElement(prepareValue(val[i]));
1097
+ }
1098
+ }
1099
+ result = result + "}";
1100
+ return result;
1101
+ }
1102
+ var prepareValue = function(val, seen) {
1103
+ if (val == null) {
1104
+ return null;
1105
+ }
1106
+ if (typeof val === "object") {
1107
+ if (val instanceof Buffer) {
1108
+ return val;
1109
+ }
1110
+ if (ArrayBuffer.isView(val)) {
1111
+ const buf = Buffer.from(val.buffer, val.byteOffset, val.byteLength);
1112
+ if (buf.length === val.byteLength) {
1113
+ return buf;
1114
+ }
1115
+ return buf.slice(val.byteOffset, val.byteOffset + val.byteLength);
1116
+ }
1117
+ if (isDate(val)) {
1118
+ if (defaults.parseInputDatesAsUTC) {
1119
+ return dateToStringUTC(val);
1120
+ } else {
1121
+ return dateToString(val);
1122
+ }
1123
+ }
1124
+ if (Array.isArray(val)) {
1125
+ return arrayString(val);
1126
+ }
1127
+ return prepareObject(val, seen);
1128
+ }
1129
+ return val.toString();
1130
+ };
1131
+ function prepareObject(val, seen) {
1132
+ if (val && typeof val.toPostgres === "function") {
1133
+ seen = seen || [];
1134
+ if (seen.indexOf(val) !== -1) {
1135
+ throw new Error('circular reference detected while preparing "' + val + '" for query');
1136
+ }
1137
+ seen.push(val);
1138
+ return prepareValue(val.toPostgres(prepareValue), seen);
1139
+ }
1140
+ return JSON.stringify(val);
1141
+ }
1142
+ function dateToString(date) {
1143
+ let offset = -date.getTimezoneOffset();
1144
+ let year = date.getFullYear();
1145
+ const isBCYear = year < 1;
1146
+ if (isBCYear)
1147
+ year = Math.abs(year) + 1;
1148
+ let ret = String(year).padStart(4, "0") + "-" + String(date.getMonth() + 1).padStart(2, "0") + "-" + String(date.getDate()).padStart(2, "0") + "T" + String(date.getHours()).padStart(2, "0") + ":" + String(date.getMinutes()).padStart(2, "0") + ":" + String(date.getSeconds()).padStart(2, "0") + "." + String(date.getMilliseconds()).padStart(3, "0");
1149
+ if (offset < 0) {
1150
+ ret += "-";
1151
+ offset *= -1;
1152
+ } else {
1153
+ ret += "+";
1154
+ }
1155
+ ret += String(Math.floor(offset / 60)).padStart(2, "0") + ":" + String(offset % 60).padStart(2, "0");
1156
+ if (isBCYear)
1157
+ ret += " BC";
1158
+ return ret;
1159
+ }
1160
+ function dateToStringUTC(date) {
1161
+ let year = date.getUTCFullYear();
1162
+ const isBCYear = year < 1;
1163
+ if (isBCYear)
1164
+ year = Math.abs(year) + 1;
1165
+ let ret = String(year).padStart(4, "0") + "-" + String(date.getUTCMonth() + 1).padStart(2, "0") + "-" + String(date.getUTCDate()).padStart(2, "0") + "T" + String(date.getUTCHours()).padStart(2, "0") + ":" + String(date.getUTCMinutes()).padStart(2, "0") + ":" + String(date.getUTCSeconds()).padStart(2, "0") + "." + String(date.getUTCMilliseconds()).padStart(3, "0");
1166
+ ret += "+00:00";
1167
+ if (isBCYear)
1168
+ ret += " BC";
1169
+ return ret;
1170
+ }
1171
+ function normalizeQueryConfig(config, values, callback) {
1172
+ config = typeof config === "string" ? { text: config } : config;
1173
+ if (values) {
1174
+ if (typeof values === "function") {
1175
+ config.callback = values;
1176
+ } else {
1177
+ config.values = values;
1178
+ }
1179
+ }
1180
+ if (callback) {
1181
+ config.callback = callback;
1182
+ }
1183
+ return config;
1184
+ }
1185
+ var escapeIdentifier = function(str) {
1186
+ return '"' + str.replace(/"/g, '""') + '"';
1187
+ };
1188
+ var escapeLiteral = function(str) {
1189
+ let hasBackslash = false;
1190
+ let escaped = "'";
1191
+ if (str == null) {
1192
+ return "''";
1193
+ }
1194
+ if (typeof str !== "string") {
1195
+ return "''";
1196
+ }
1197
+ for (let i = 0;i < str.length; i++) {
1198
+ const c = str[i];
1199
+ if (c === "'") {
1200
+ escaped += c + c;
1201
+ } else if (c === "\\") {
1202
+ escaped += c + c;
1203
+ hasBackslash = true;
1204
+ } else {
1205
+ escaped += c;
1206
+ }
1207
+ }
1208
+ escaped += "'";
1209
+ if (hasBackslash === true) {
1210
+ escaped = " E" + escaped;
1211
+ }
1212
+ return escaped;
1213
+ };
1214
+ module.exports = {
1215
+ prepareValue: function prepareValueWrapper(value) {
1216
+ return prepareValue(value);
1217
+ },
1218
+ normalizeQueryConfig,
1219
+ escapeIdentifier,
1220
+ escapeLiteral
1221
+ };
1222
+ });
1223
+
1224
+ // node_modules/pg-cursor/index.js
1225
+ var require_pg_cursor = __commonJS((exports, module) => {
1226
+ var Result = require_result();
1227
+ var prepare = require_utils().prepareValue;
1228
+ var EventEmitter = __require("events").EventEmitter;
1229
+ var util = __require("util");
1230
+ var nextUniqueID = 1;
1231
+
1232
+ class Cursor extends EventEmitter {
1233
+ constructor(text, values, config) {
1234
+ super();
1235
+ this._conf = config || {};
1236
+ this.text = text;
1237
+ this.values = values ? values.map(prepare) : null;
1238
+ this.connection = null;
1239
+ this._queue = [];
1240
+ this.state = "initialized";
1241
+ this._result = new Result(this._conf.rowMode, this._conf.types);
1242
+ this._Promise = this._conf.Promise || global.Promise;
1243
+ this._cb = null;
1244
+ this._rows = null;
1245
+ this._portal = null;
1246
+ this._ifNoData = this._ifNoData.bind(this);
1247
+ this._rowDescription = this._rowDescription.bind(this);
1248
+ }
1249
+ _ifNoData() {
1250
+ this.state = "idle";
1251
+ this._shiftQueue();
1252
+ if (this.connection) {
1253
+ this.connection.removeListener("rowDescription", this._rowDescription);
1254
+ }
1255
+ }
1256
+ _rowDescription() {
1257
+ if (this.connection) {
1258
+ this.connection.removeListener("noData", this._ifNoData);
1259
+ }
1260
+ }
1261
+ submit(connection) {
1262
+ this.state = "submitted";
1263
+ this.connection = connection;
1264
+ this._portal = "C_" + nextUniqueID++;
1265
+ const con = connection;
1266
+ con.parse({
1267
+ text: this.text
1268
+ }, true);
1269
+ con.bind({
1270
+ portal: this._portal,
1271
+ values: this.values
1272
+ }, true);
1273
+ con.describe({
1274
+ type: "P",
1275
+ name: this._portal
1276
+ }, true);
1277
+ con.flush();
1278
+ if (this._conf.types) {
1279
+ this._result._getTypeParser = this._conf.types.getTypeParser;
1280
+ }
1281
+ con.once("noData", this._ifNoData);
1282
+ con.once("rowDescription", this._rowDescription);
1283
+ }
1284
+ _shiftQueue() {
1285
+ if (this._queue.length) {
1286
+ this._getRows.apply(this, this._queue.shift());
1287
+ }
1288
+ }
1289
+ _closePortal() {
1290
+ if (this.state === "done")
1291
+ return;
1292
+ this.connection.close({ type: "P", name: this._portal });
1293
+ if (this.state !== "error") {
1294
+ this.connection.sync();
1295
+ }
1296
+ this.state = "done";
1297
+ }
1298
+ handleRowDescription(msg) {
1299
+ this._result.addFields(msg.fields);
1300
+ this.state = "idle";
1301
+ this._shiftQueue();
1302
+ }
1303
+ handleDataRow(msg) {
1304
+ const row = this._result.parseRow(msg.fields);
1305
+ this.emit("row", row, this._result);
1306
+ this._rows.push(row);
1307
+ }
1308
+ _sendRows() {
1309
+ this.state = "idle";
1310
+ setImmediate(() => {
1311
+ const cb = this._cb;
1312
+ this._cb = null;
1313
+ if (cb) {
1314
+ this._result.rows = this._rows;
1315
+ cb(null, this._rows, this._result);
1316
+ }
1317
+ this._rows = [];
1318
+ });
1319
+ }
1320
+ handleCommandComplete(msg) {
1321
+ this._result.addCommandComplete(msg);
1322
+ this._closePortal();
1323
+ }
1324
+ handlePortalSuspended() {
1325
+ this._sendRows();
1326
+ }
1327
+ handleReadyForQuery() {
1328
+ this._sendRows();
1329
+ this.state = "done";
1330
+ this.emit("end", this._result);
1331
+ }
1332
+ handleEmptyQuery() {
1333
+ this.connection.sync();
1334
+ }
1335
+ handleError(msg) {
1336
+ if (this.state === "done")
1337
+ return;
1338
+ if (this.state !== "initialized") {
1339
+ this.connection.removeListener("noData", this._ifNoData);
1340
+ this.connection.removeListener("rowDescription", this._rowDescription);
1341
+ this.connection.sync();
1342
+ }
1343
+ this.state = "error";
1344
+ this._error = msg;
1345
+ if (this._cb) {
1346
+ this._cb(msg);
1347
+ }
1348
+ for (let i = 0;i < this._queue.length; i++) {
1349
+ const queuedCallback = this._queue[i][1];
1350
+ queuedCallback.call(this, msg);
1351
+ }
1352
+ this._queue.length = 0;
1353
+ if (this.listenerCount("error") > 0) {
1354
+ this.emit("error", msg);
1355
+ }
1356
+ }
1357
+ _getRows(rows, cb) {
1358
+ this.state = "busy";
1359
+ this._cb = cb;
1360
+ this._rows = [];
1361
+ const msg = {
1362
+ portal: this._portal,
1363
+ rows
1364
+ };
1365
+ this.connection.execute(msg, true);
1366
+ this.connection.flush();
1367
+ }
1368
+ end(cb) {
1369
+ if (this.state !== "initialized") {
1370
+ this.connection.sync();
1371
+ }
1372
+ this.connection.once("end", cb);
1373
+ this.connection.end();
1374
+ }
1375
+ close(cb) {
1376
+ let promise;
1377
+ if (!cb) {
1378
+ promise = new this._Promise((resolve, reject) => {
1379
+ cb = (err) => err ? reject(err) : resolve();
1380
+ });
1381
+ }
1382
+ if (!this.connection || this.state === "done") {
1383
+ setImmediate(cb);
1384
+ return promise;
1385
+ }
1386
+ this._closePortal();
1387
+ this.connection.once("readyForQuery", function() {
1388
+ cb();
1389
+ });
1390
+ return promise;
1391
+ }
1392
+ read(rows, cb) {
1393
+ let promise;
1394
+ if (!cb) {
1395
+ promise = new this._Promise((resolve, reject) => {
1396
+ cb = (err, rows2) => err ? reject(err) : resolve(rows2);
1397
+ });
1398
+ }
1399
+ if (this.state === "idle" || this.state === "submitted") {
1400
+ this._getRows(rows, cb);
1401
+ } else if (this.state === "busy" || this.state === "initialized") {
1402
+ this._queue.push([rows, cb]);
1403
+ } else if (this.state === "error") {
1404
+ setImmediate(() => cb(this._error));
1405
+ } else if (this.state === "done") {
1406
+ setImmediate(() => cb(null, []));
1407
+ } else {
1408
+ throw new Error("Unknown state: " + this.state);
1409
+ }
1410
+ return promise;
1411
+ }
1412
+ }
1413
+ Cursor.prototype.end = util.deprecate(Cursor.prototype.end, "Cursor.end is deprecated. Call end on the client itself to end a connection to the database.");
1414
+ module.exports = Cursor;
1415
+ });
1416
+
1417
+ // node_modules/pg-cursor/esm/index.mjs
1418
+ var import___ = __toESM(require_pg_cursor(), 1);
1419
+ var esm_default = import___.default;
1420
+
1421
+ // src/addon/pg-cursor/index.ts
1422
+ var pg_cursor_default = esm_default;
1423
+ export {
1424
+ pg_cursor_default as default
1425
+ };