@antelopejs/postgres 0.2.2 → 0.2.3

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 (280) hide show
  1. package/README.md +6 -5
  2. package/dist/config.d.ts +1 -0
  3. package/dist/config.js +7 -3
  4. package/dist/config.js.map +1 -1
  5. package/dist/connect-failure.d.ts +1 -0
  6. package/dist/connect-failure.js +39 -0
  7. package/dist/connect-failure.js.map +1 -0
  8. package/dist/connection.d.ts +2 -1
  9. package/dist/connection.js +19 -2
  10. package/dist/connection.js.map +1 -1
  11. package/dist/implementations/catalog/index.js +3 -6
  12. package/dist/implementations/catalog/index.js.map +1 -1
  13. package/dist/implementations/database/coerce.js +20 -20
  14. package/dist/implementations/database/coerce.js.map +1 -1
  15. package/dist/implementations/database/context.d.ts +1 -0
  16. package/dist/implementations/database/context.js +4 -0
  17. package/dist/implementations/database/context.js.map +1 -1
  18. package/dist/implementations/database/convergence.d.ts +22 -0
  19. package/dist/implementations/database/convergence.js +183 -0
  20. package/dist/implementations/database/convergence.js.map +1 -0
  21. package/dist/implementations/database/cursors.js +3 -0
  22. package/dist/implementations/database/cursors.js.map +1 -1
  23. package/dist/implementations/database/ddl.d.ts +5 -26
  24. package/dist/implementations/database/ddl.js +15 -191
  25. package/dist/implementations/database/ddl.js.map +1 -1
  26. package/dist/implementations/database/external-column-profile.js +6 -1
  27. package/dist/implementations/database/external-column-profile.js.map +1 -1
  28. package/dist/implementations/database/external-discovery.js +5 -5
  29. package/dist/implementations/database/external-discovery.js.map +1 -1
  30. package/dist/implementations/database/external-measures.js.map +1 -1
  31. package/dist/implementations/database/external-payload.d.ts +2 -2
  32. package/dist/implementations/database/external-payload.js +23 -13
  33. package/dist/implementations/database/external-payload.js.map +1 -1
  34. package/dist/implementations/database/external-schema.d.ts +2 -2
  35. package/dist/implementations/database/external-schema.js +3 -3
  36. package/dist/implementations/database/external-schema.js.map +1 -1
  37. package/dist/implementations/database/external-types.js +23 -16
  38. package/dist/implementations/database/external-types.js.map +1 -1
  39. package/dist/implementations/database/external-writes.d.ts +7 -1
  40. package/dist/implementations/database/external-writes.js +22 -21
  41. package/dist/implementations/database/external-writes.js.map +1 -1
  42. package/dist/implementations/database/feed-pipeline.js +3 -2
  43. package/dist/implementations/database/feed-pipeline.js.map +1 -1
  44. package/dist/implementations/database/feeds.d.ts +1 -1
  45. package/dist/implementations/database/feeds.js +36 -45
  46. package/dist/implementations/database/feeds.js.map +1 -1
  47. package/dist/implementations/database/fields.d.ts +9 -13
  48. package/dist/implementations/database/fields.js +25 -21
  49. package/dist/implementations/database/fields.js.map +1 -1
  50. package/dist/implementations/database/guards.d.ts +5 -0
  51. package/dist/implementations/database/guards.js +23 -0
  52. package/dist/implementations/database/guards.js.map +1 -0
  53. package/dist/implementations/database/introspect.d.ts +1 -1
  54. package/dist/implementations/database/listener.js +9 -3
  55. package/dist/implementations/database/listener.js.map +1 -1
  56. package/dist/implementations/database/migrate.d.ts +2 -2
  57. package/dist/implementations/database/migrate.js +10 -10
  58. package/dist/implementations/database/migrate.js.map +1 -1
  59. package/dist/implementations/database/payload.d.ts +3 -3
  60. package/dist/implementations/database/payload.js +4 -4
  61. package/dist/implementations/database/pipeline.d.ts +6 -2
  62. package/dist/implementations/database/pipeline.js +4 -1
  63. package/dist/implementations/database/pipeline.js.map +1 -1
  64. package/dist/implementations/database/query.js +12 -7
  65. package/dist/implementations/database/query.js.map +1 -1
  66. package/dist/implementations/database/reaper.js +6 -4
  67. package/dist/implementations/database/reaper.js.map +1 -1
  68. package/dist/implementations/database/relation.d.ts +2 -12
  69. package/dist/implementations/database/relation.js +5 -141
  70. package/dist/implementations/database/relation.js.map +1 -1
  71. package/dist/implementations/database/render.d.ts +11 -0
  72. package/dist/implementations/database/render.js +147 -0
  73. package/dist/implementations/database/render.js.map +1 -0
  74. package/dist/implementations/database/result.d.ts +2 -2
  75. package/dist/implementations/database/result.js +18 -19
  76. package/dist/implementations/database/result.js.map +1 -1
  77. package/dist/implementations/database/row-source.d.ts +10 -10
  78. package/dist/implementations/database/row-source.js +22 -19
  79. package/dist/implementations/database/row-source.js.map +1 -1
  80. package/dist/implementations/database/schema.d.ts +2 -2
  81. package/dist/implementations/database/schema.js +19 -19
  82. package/dist/implementations/database/schema.js.map +1 -1
  83. package/dist/implementations/database/selection.js +13 -7
  84. package/dist/implementations/database/selection.js.map +1 -1
  85. package/dist/implementations/database/sql.d.ts +7 -3
  86. package/dist/implementations/database/sql.js.map +1 -1
  87. package/dist/implementations/database/stage.js +3 -2
  88. package/dist/implementations/database/stage.js.map +1 -1
  89. package/dist/implementations/database/stages-aggregate.js +7 -5
  90. package/dist/implementations/database/stages-aggregate.js.map +1 -1
  91. package/dist/implementations/database/stages-array.js.map +1 -1
  92. package/dist/implementations/database/stages-core.js +2 -1
  93. package/dist/implementations/database/stages-core.js.map +1 -1
  94. package/dist/implementations/database/stages-date.js +2 -1
  95. package/dist/implementations/database/stages-date.js.map +1 -1
  96. package/dist/implementations/database/stages-group.js +11 -6
  97. package/dist/implementations/database/stages-group.js.map +1 -1
  98. package/dist/implementations/database/stages-join.js +13 -11
  99. package/dist/implementations/database/stages-join.js.map +1 -1
  100. package/dist/implementations/database/stages-numeric.js.map +1 -1
  101. package/dist/implementations/database/stages-object.js +1 -1
  102. package/dist/implementations/database/stages-object.js.map +1 -1
  103. package/dist/implementations/database/stages-projection.js +9 -8
  104. package/dist/implementations/database/stages-projection.js.map +1 -1
  105. package/dist/implementations/database/stages-rows.js +10 -8
  106. package/dist/implementations/database/stages-rows.js.map +1 -1
  107. package/dist/implementations/database/stages-selection.js +6 -4
  108. package/dist/implementations/database/stages-selection.js.map +1 -1
  109. package/dist/implementations/database/stages-string.js +7 -6
  110. package/dist/implementations/database/stages-string.js.map +1 -1
  111. package/dist/implementations/database/subquery.d.ts +1 -1
  112. package/dist/implementations/database/subquery.js +7 -5
  113. package/dist/implementations/database/subquery.js.map +1 -1
  114. package/dist/implementations/database/types.d.ts +5 -5
  115. package/dist/implementations/database/types.js +11 -11
  116. package/dist/implementations/database/types.js.map +1 -1
  117. package/dist/implementations/database/utils.js +2 -1
  118. package/dist/implementations/database/utils.js.map +1 -1
  119. package/dist/implementations/database/value.d.ts +1 -1
  120. package/dist/implementations/database/value.js +34 -33
  121. package/dist/implementations/database/value.js.map +1 -1
  122. package/dist/implementations/database/writes-atomic.js +6 -5
  123. package/dist/implementations/database/writes-atomic.js.map +1 -1
  124. package/dist/implementations/database/writes-identity.js +18 -19
  125. package/dist/implementations/database/writes-identity.js.map +1 -1
  126. package/dist/implementations/database/writes-insert.js +16 -22
  127. package/dist/implementations/database/writes-insert.js.map +1 -1
  128. package/dist/implementations/database/writes-shared.d.ts +1 -1
  129. package/dist/implementations/database/writes-shared.js +11 -7
  130. package/dist/implementations/database/writes-shared.js.map +1 -1
  131. package/dist/implementations/database/writes.d.ts +22 -1
  132. package/dist/implementations/database/writes.js +6 -3
  133. package/dist/implementations/database/writes.js.map +1 -1
  134. package/dist/test/catalog-owned.test.js +2 -0
  135. package/dist/test/catalog-owned.test.js.map +1 -1
  136. package/dist/test/contention.test.js.map +1 -1
  137. package/dist/test/duplicate-key.test.js +13 -10
  138. package/dist/test/duplicate-key.test.js.map +1 -1
  139. package/dist/test/indexes.test.js +7 -7
  140. package/dist/test/indexes.test.js.map +1 -1
  141. package/dist/test/unit/coerce.spec.js +7 -7
  142. package/dist/test/unit/coerce.spec.js.map +1 -1
  143. package/dist/test/unit/config.spec.js +3 -1
  144. package/dist/test/unit/config.spec.js.map +1 -1
  145. package/dist/test/unit/connect-failure.spec.d.ts +1 -0
  146. package/dist/test/unit/connect-failure.spec.js +50 -0
  147. package/dist/test/unit/connect-failure.spec.js.map +1 -0
  148. package/dist/test/unit/connection.spec.js +16 -18
  149. package/dist/test/unit/connection.spec.js.map +1 -1
  150. package/dist/test/unit/convergence.spec.d.ts +1 -0
  151. package/dist/test/unit/convergence.spec.js +347 -0
  152. package/dist/test/unit/convergence.spec.js.map +1 -0
  153. package/dist/test/unit/cursors-fixture.d.ts +79 -0
  154. package/dist/test/unit/cursors-fixture.js +245 -0
  155. package/dist/test/unit/cursors-fixture.js.map +1 -0
  156. package/dist/test/unit/cursors.spec.js +138 -718
  157. package/dist/test/unit/cursors.spec.js.map +1 -1
  158. package/dist/test/unit/cursors.teardown.spec.d.ts +1 -0
  159. package/dist/test/unit/cursors.teardown.spec.js +322 -0
  160. package/dist/test/unit/cursors.teardown.spec.js.map +1 -0
  161. package/dist/test/unit/cursors.window.spec.d.ts +1 -0
  162. package/dist/test/unit/cursors.window.spec.js +78 -0
  163. package/dist/test/unit/cursors.window.spec.js.map +1 -0
  164. package/dist/test/unit/ddl-fixture.d.ts +5 -0
  165. package/dist/test/unit/ddl-fixture.js +19 -0
  166. package/dist/test/unit/ddl-fixture.js.map +1 -0
  167. package/dist/test/unit/ddl.spec.js +39 -380
  168. package/dist/test/unit/ddl.spec.js.map +1 -1
  169. package/dist/test/unit/expression-array-fixture.d.ts +17 -0
  170. package/dist/test/unit/expression-array-fixture.js +63 -0
  171. package/dist/test/unit/expression-array-fixture.js.map +1 -0
  172. package/dist/test/unit/expression-array-walk.spec.d.ts +1 -0
  173. package/dist/test/unit/expression-array-walk.spec.js +235 -0
  174. package/dist/test/unit/expression-array-walk.spec.js.map +1 -0
  175. package/dist/test/unit/expression-array.spec.js +48 -322
  176. package/dist/test/unit/expression-array.spec.js.map +1 -1
  177. package/dist/test/unit/expression-date.spec.js +4 -3
  178. package/dist/test/unit/expression-date.spec.js.map +1 -1
  179. package/dist/test/unit/expression-fixture.d.ts +15 -0
  180. package/dist/test/unit/expression-fixture.js +40 -0
  181. package/dist/test/unit/expression-fixture.js.map +1 -0
  182. package/dist/test/unit/expression-numeric.spec.js +10 -8
  183. package/dist/test/unit/expression-numeric.spec.js.map +1 -1
  184. package/dist/test/unit/expression-object.spec.js +3 -4
  185. package/dist/test/unit/expression-object.spec.js.map +1 -1
  186. package/dist/test/unit/expression-predicate.spec.d.ts +1 -0
  187. package/dist/test/unit/expression-predicate.spec.js +231 -0
  188. package/dist/test/unit/expression-predicate.spec.js.map +1 -0
  189. package/dist/test/unit/expression-stages.spec.js +0 -5
  190. package/dist/test/unit/expression-stages.spec.js.map +1 -1
  191. package/dist/test/unit/expression-string.spec.js +2 -5
  192. package/dist/test/unit/expression-string.spec.js.map +1 -1
  193. package/dist/test/unit/expression.spec.js +44 -292
  194. package/dist/test/unit/expression.spec.js.map +1 -1
  195. package/dist/test/unit/external-comparisons.spec.js +5 -5
  196. package/dist/test/unit/external-comparisons.spec.js.map +1 -1
  197. package/dist/test/unit/external-types.spec.js +2 -3
  198. package/dist/test/unit/external-types.spec.js.map +1 -1
  199. package/dist/test/unit/feeds.spec.js +40 -23
  200. package/dist/test/unit/feeds.spec.js.map +1 -1
  201. package/dist/test/unit/fields.spec.js +15 -9
  202. package/dist/test/unit/fields.spec.js.map +1 -1
  203. package/dist/test/unit/invalid-fixture.d.ts +3 -0
  204. package/dist/test/unit/invalid-fixture.js +11 -0
  205. package/dist/test/unit/invalid-fixture.js.map +1 -0
  206. package/dist/test/unit/payload.spec.js.map +1 -1
  207. package/dist/test/unit/pipeline-aggregate.spec.js +14 -14
  208. package/dist/test/unit/pipeline-aggregate.spec.js.map +1 -1
  209. package/dist/test/unit/pipeline-fixture.d.ts +25 -6
  210. package/dist/test/unit/pipeline-fixture.js +21 -11
  211. package/dist/test/unit/pipeline-fixture.js.map +1 -1
  212. package/dist/test/unit/pipeline-group-fixture.d.ts +2 -0
  213. package/dist/test/unit/pipeline-group-fixture.js +6 -0
  214. package/dist/test/unit/pipeline-group-fixture.js.map +1 -0
  215. package/dist/test/unit/pipeline-group.spec.js +15 -248
  216. package/dist/test/unit/pipeline-group.spec.js.map +1 -1
  217. package/dist/test/unit/pipeline-lookup.spec.js +13 -10
  218. package/dist/test/unit/pipeline-lookup.spec.js.map +1 -1
  219. package/dist/test/unit/pipeline-projection.spec.js +12 -13
  220. package/dist/test/unit/pipeline-projection.spec.js.map +1 -1
  221. package/dist/test/unit/pipeline-rows.spec.js +21 -18
  222. package/dist/test/unit/pipeline-rows.spec.js.map +1 -1
  223. package/dist/test/unit/pipeline-selection.spec.js +6 -4
  224. package/dist/test/unit/pipeline-selection.spec.js.map +1 -1
  225. package/dist/test/unit/pipeline-stages.spec.js +23 -35
  226. package/dist/test/unit/pipeline-stages.spec.js.map +1 -1
  227. package/dist/test/unit/pipeline-substream.spec.d.ts +1 -0
  228. package/dist/test/unit/pipeline-substream.spec.js +246 -0
  229. package/dist/test/unit/pipeline-substream.spec.js.map +1 -0
  230. package/dist/test/unit/pipeline.spec.js +1 -1
  231. package/dist/test/unit/query.spec.js +6 -2
  232. package/dist/test/unit/query.spec.js.map +1 -1
  233. package/dist/test/unit/reaper.spec.js +4 -3
  234. package/dist/test/unit/reaper.spec.js.map +1 -1
  235. package/dist/test/unit/relation.spec.js +37 -36
  236. package/dist/test/unit/relation.spec.js.map +1 -1
  237. package/dist/test/unit/result.spec.js +13 -11
  238. package/dist/test/unit/result.spec.js.map +1 -1
  239. package/dist/test/unit/row-source.spec.js +1 -1
  240. package/dist/test/unit/row-source.spec.js.map +1 -1
  241. package/dist/test/unit/schema.spec.js +5 -2
  242. package/dist/test/unit/schema.spec.js.map +1 -1
  243. package/dist/test/unit/selection.spec.js +7 -3
  244. package/dist/test/unit/selection.spec.js.map +1 -1
  245. package/dist/test/unit/types.spec.js +6 -6
  246. package/dist/test/unit/types.spec.js.map +1 -1
  247. package/dist/test/unit/writes-atomic.spec.js +2 -2
  248. package/dist/test/unit/writes-atomic.spec.js.map +1 -1
  249. package/dist/test/unit/writes-insert.spec.js +5 -4
  250. package/dist/test/unit/writes-insert.spec.js.map +1 -1
  251. package/dist/test/unit/writes-replace.spec.js +6 -6
  252. package/dist/test/unit/writes-replace.spec.js.map +1 -1
  253. package/dist/test/unit/writes-target.spec.js +3 -3
  254. package/dist/test/unit/writes-target.spec.js.map +1 -1
  255. package/dist/test/unit/writes-update-fixture.d.ts +9 -0
  256. package/dist/test/unit/writes-update-fixture.js +20 -0
  257. package/dist/test/unit/writes-update-fixture.js.map +1 -0
  258. package/dist/test/unit/writes-update-mapper.spec.d.ts +1 -0
  259. package/dist/test/unit/writes-update-mapper.spec.js +123 -0
  260. package/dist/test/unit/writes-update-mapper.spec.js.map +1 -0
  261. package/dist/test/unit/writes-update.spec.js +42 -171
  262. package/dist/test/unit/writes-update.spec.js.map +1 -1
  263. package/dist/test-external/catalog.test.js +11 -1
  264. package/dist/test-external/catalog.test.js.map +1 -1
  265. package/dist/test-external/native.test.js +8 -6
  266. package/dist/test-external/native.test.js.map +1 -1
  267. package/dist/test-external/reads.test.js +20 -22
  268. package/dist/test-external/reads.test.js.map +1 -1
  269. package/dist/test-external/refusals.test.js +45 -24
  270. package/dist/test-external/refusals.test.js.map +1 -1
  271. package/dist/test-external/registration.test.js +4 -2
  272. package/dist/test-external/registration.test.js.map +1 -1
  273. package/dist/test-external/sales.d.ts +9 -2
  274. package/dist/test-external/sales.js.map +1 -1
  275. package/dist/test-external/unreachable.test.d.ts +1 -0
  276. package/dist/test-external/unreachable.test.js +83 -0
  277. package/dist/test-external/unreachable.test.js.map +1 -0
  278. package/dist/test-external/writes.test.js +71 -37
  279. package/dist/test-external/writes.test.js.map +1 -1
  280. package/package.json +19 -6
@@ -9,6 +9,7 @@ const expression_1 = require("../implementations/database/expression");
9
9
  const writes_1 = require("../implementations/database/writes");
10
10
  const writes_shared_1 = require("../implementations/database/writes-shared");
11
11
  const pipeline_1 = require("../implementations/database/pipeline");
12
+ const external_errors_1 = require("../implementations/database/external-errors");
12
13
  const sales_1 = require("./sales");
13
14
  let sales;
14
15
  function Table(tableId) {
@@ -19,10 +20,20 @@ async function Failure(work) {
19
20
  await work();
20
21
  }
21
22
  catch (err) {
22
- return err;
23
+ if (err instanceof Error) {
24
+ return err;
25
+ }
26
+ throw err;
23
27
  }
24
28
  throw new Error("the write was expected to fail");
25
29
  }
30
+ async function WriteFailure(work) {
31
+ const failure = await Failure(work);
32
+ if (failure instanceof external_errors_1.ExternalWriteError) {
33
+ return failure;
34
+ }
35
+ throw failure;
36
+ }
26
37
  async function Reset() {
27
38
  await (0, sales_1.Native)("DELETE FROM sales.w_items");
28
39
  await (0, sales_1.Native)("DELETE FROM sales.w_accounts");
@@ -48,15 +59,15 @@ describe("inserting into an external relation", () => {
48
59
  });
49
60
  it("answers the database's generated keys in input order, each reading back its own row", async () => {
50
61
  const labels = Array.from({ length: 1000 }, (_, n) => `label-${999 - n}`);
51
- const ids = (await Table("w_serial").insert(labels.map((label) => ({ label }))));
62
+ const ids = await Table("w_serial").insert(labels.map((label) => ({ label })));
52
63
  (0, chai_1.expect)(ids).to.have.length(1000);
53
64
  const rows = await (0, sales_1.Native)("SELECT id::text AS id, label FROM sales.w_serial");
54
65
  const byId = new Map(rows.map((row) => [row.id, row.label]));
55
66
  (0, chai_1.expect)(ids.map((id) => byId.get(id))).to.deep.equal(labels);
56
67
  });
57
68
  it("fills an omitted column with its DEFAULT and answers an identity key as _id", async () => {
58
- const [id] = (await Table("w_accounts").insert({ code: "d1" }));
59
- const row = (await Table("w_accounts").get(id));
69
+ const [id] = await Table("w_accounts").insert({ code: "d1" });
70
+ const row = await Table("w_accounts").get(id);
60
71
  (0, chai_1.expect)(row).to.include({
61
72
  _id: id,
62
73
  id,
@@ -67,15 +78,15 @@ describe("inserting into an external relation", () => {
67
78
  (0, chai_1.expect)(row.at).to.be.instanceOf(Date);
68
79
  });
69
80
  it("answers a key the database generates by default, and a list then shows the row under it", async () => {
70
- const [account] = (await Table("w_accounts").insert({
81
+ const [account] = await Table("w_accounts").insert({
71
82
  code: "d2",
72
- }));
73
- const [sku] = (await Table("w_items").insert({
83
+ });
84
+ const [sku] = await Table("w_items").insert({
74
85
  account_id: account,
75
86
  qty: 3,
76
- }));
87
+ });
77
88
  (0, chai_1.expect)(sku).to.match(/^[0-9a-f-]{36}$/);
78
- const listed = (await Table("w_items").filter((row) => row.key("account_id").eq(account)));
89
+ const listed = await Table("w_items").filter((row) => row.key("account_id").eq(account));
79
90
  (0, chai_1.expect)(listed.map((row) => row._id)).to.deep.equal([sku]);
80
91
  });
81
92
  it("writes a supplied composite _id into its key columns", async () => {
@@ -84,7 +95,13 @@ describe("inserting into an external relation", () => {
84
95
  (0, chai_1.expect)(await (0, sales_1.NativeCount)("SELECT count(*) FROM sales.w_lines WHERE order_id = 7 AND line_no = 2")).to.equal(1);
85
96
  });
86
97
  it("refuses an _id and a key field that disagree, writing nothing", async () => {
87
- const failure = await Failure(() => Table("w_lines").insert({ _id: '["8", "1"]', order_id: 9, line_no: 1 }));
98
+ const failure = await Failure(async () => {
99
+ await Table("w_lines").insert({
100
+ _id: '["8", "1"]',
101
+ order_id: 9,
102
+ line_no: 1,
103
+ });
104
+ });
88
105
  (0, chai_1.expect)(failure.message).to.contain("order_id");
89
106
  (0, chai_1.expect)(await (0, sales_1.NativeCount)("SELECT count(*) FROM sales.w_lines WHERE order_id IN (8, 9)")).to.equal(0);
90
107
  });
@@ -100,7 +117,9 @@ describe("inserting into an external relation", () => {
100
117
  ["an _internal key", { code: "x9", _internal: {} }, "_internal"],
101
118
  ]) {
102
119
  it(`refuses ${description}, writing nothing`, async () => {
103
- const failure = await Failure(() => Table("w_accounts").insert(document));
120
+ const failure = await Failure(async () => {
121
+ await Table("w_accounts").insert(document);
122
+ });
104
123
  (0, chai_1.expect)(failure.message).to.contain(named);
105
124
  (0, chai_1.expect)(await (0, sales_1.NativeCount)("SELECT count(*) FROM sales.w_accounts WHERE code = $1", [document.code])).to.equal(0);
106
125
  });
@@ -119,16 +138,19 @@ describe("values an external column cannot hold", () => {
119
138
  sales = await (0, sales_1.RegisterSales)();
120
139
  await Reset();
121
140
  });
122
- for (const [table, document, field] of [
141
+ const INVALID_VALUES = [
123
142
  ["w_accounts", { code: "v1", status: "archived" }, "status"],
124
143
  ["w_accounts", { code: "toolong" }, "code"],
125
144
  ["w_accounts", { code: "v2", revenue: 1e12 }, "revenue"],
126
145
  ["w_items", { sku: "nope", qty: 1 }, "sku"],
127
146
  ["w_serial", { id: 5.5, label: "v3" }, "id"],
128
147
  ["w_lines", { order_id: 1, line_no: 1, qty: 1.5 }, "qty"],
129
- ]) {
148
+ ];
149
+ for (const [table, document, field] of INVALID_VALUES) {
130
150
  it(`refuses ${JSON.stringify(document[field])} for ${table}.${field} before writing, naming the field`, async () => {
131
- const failure = await Failure(() => Table(table).insert(document));
151
+ const failure = await WriteFailure(async () => {
152
+ await Table(table).insert(document);
153
+ });
132
154
  (0, chai_1.expect)(failure.kind).to.equal("invalid");
133
155
  (0, chai_1.expect)(failure.message).to.contain(`sales.${table}.${field}`);
134
156
  (0, chai_1.expect)(await (0, sales_1.NativeCount)(`SELECT count(*) FROM sales.${table}`)).to.equal(0);
@@ -143,16 +165,14 @@ describe("writing back what was read from an external relation", () => {
143
165
  it("changes no byte of what a lossy read cannot spell, and counts no changed row", async () => {
144
166
  const id = await Seeded("r1");
145
167
  const before = await Stored(id);
146
- const stored = (await Table("w_accounts").get(id));
147
- (0, chai_1.expect)(await Table("w_accounts")
148
- .get(id)
149
- .update(stored)).to.equal(0);
168
+ const stored = await Table("w_accounts").get(id);
169
+ (0, chai_1.expect)(await Table("w_accounts").get(id).update(stored)).to.equal(0);
150
170
  (0, chai_1.expect)(await Stored(id)).to.deep.equal(before);
151
171
  });
152
172
  it("writes the one field an edit changed and keeps every other stored value", async () => {
153
173
  const id = await Seeded("r2");
154
174
  const before = await Stored(id);
155
- const stored = (await Table("w_accounts").get(id));
175
+ const stored = await Table("w_accounts").get(id);
156
176
  (0, chai_1.expect)(await Table("w_accounts")
157
177
  .get(id)
158
178
  .update({ ...stored, code: "r2b" })).to.equal(1);
@@ -205,7 +225,7 @@ describe("editing through a key field read lossily, as data-api's edit sends it"
205
225
  ]) {
206
226
  it(`edits ${table}, whose key field is not read as the key's text, and answers 1`, async () => {
207
227
  await (0, sales_1.Native)(seed);
208
- const stored = (await Table(table).get(id));
228
+ const stored = await Table(table).get(id);
209
229
  (0, chai_1.expect)(stored._id).to.equal(id);
210
230
  (0, chai_1.expect)(await Table(table)
211
231
  .get(id)
@@ -261,19 +281,23 @@ describe("selecting the rows an external write changes", () => {
261
281
  }
262
282
  });
263
283
  it("leaves a relation without a key unwritable, naming it", async () => {
264
- const failure = await Failure(() => Table("raw_log")
265
- .filter((row) => row.key("msg").eq("r1"))
266
- .delete());
284
+ const failure = await Failure(async () => {
285
+ await Table("raw_log")
286
+ .filter((row) => row.key("msg").eq("r1"))
287
+ .delete();
288
+ });
267
289
  (0, chai_1.expect)(failure.message).to.contain('"sales"."raw_log"');
268
290
  });
269
291
  it("still refuses atomicMutation, naming the stage", async () => {
270
- const failure = await Failure(() => Table("w_accounts").atomicMutation("1", {
271
- type: "update",
272
- revisionField: "code",
273
- expectedRevision: "a",
274
- nextRevision: "b",
275
- patch: {},
276
- }));
292
+ const failure = await Failure(async () => {
293
+ await Table("w_accounts").atomicMutation("1", {
294
+ type: "update",
295
+ revisionField: "code",
296
+ expectedRevision: "a",
297
+ nextRevision: "b",
298
+ patch: {},
299
+ });
300
+ });
277
301
  (0, chai_1.expect)(failure.message).to.contain("atomicMutation");
278
302
  });
279
303
  });
@@ -284,30 +308,40 @@ describe("what the database refuses on a write to an external relation", () => {
284
308
  });
285
309
  it("reports a duplicate value of a unique constraint", async () => {
286
310
  await Table("w_accounts").insert({ code: "e1" });
287
- const failure = await Failure(() => Table("w_accounts").insert({ code: "e1" }));
311
+ const failure = await WriteFailure(async () => {
312
+ await Table("w_accounts").insert({ code: "e1" });
313
+ });
288
314
  (0, chai_1.expect)(failure.kind).to.equal("duplicate");
289
315
  (0, chai_1.expect)(failure.constraint).to.equal("w_accounts_code_key");
290
316
  (0, chai_1.expect)(failure.message).to.contain("(code)=(e1)");
291
317
  });
292
318
  it("reports a missing required field, naming it", async () => {
293
- const failure = await Failure(() => Table("w_items").insert({ qty: null }));
319
+ const failure = await WriteFailure(async () => {
320
+ await Table("w_items").insert({ qty: null });
321
+ });
294
322
  (0, chai_1.expect)(failure.kind).to.equal("missing");
295
323
  (0, chai_1.expect)(failure.fields).to.deep.equal(["qty"]);
296
324
  });
297
325
  it("reports a reference to a row that does not exist", async () => {
298
- const failure = await Failure(() => Table("w_items").insert({ account_id: "999999", qty: 1 }));
326
+ const failure = await WriteFailure(async () => {
327
+ await Table("w_items").insert({ account_id: "999999", qty: 1 });
328
+ });
299
329
  (0, chai_1.expect)(failure.kind).to.equal("reference");
300
330
  });
301
331
  it("reports deleting a row that is still referenced", async () => {
302
- const [account] = (await Table("w_accounts").insert({
332
+ const [account] = await Table("w_accounts").insert({
303
333
  code: "e2",
304
- }));
334
+ });
305
335
  await Table("w_items").insert({ account_id: account, qty: 1 });
306
- const failure = await Failure(() => Table("w_accounts").get(account).delete());
336
+ const failure = await WriteFailure(async () => {
337
+ await Table("w_accounts").get(account).delete();
338
+ });
307
339
  (0, chai_1.expect)(failure.kind).to.equal("referenced");
308
340
  });
309
341
  it("reports a broken check constraint", async () => {
310
- const failure = await Failure(() => Table("w_accounts").insert({ code: "e3", revenue: -1 }));
342
+ const failure = await WriteFailure(async () => {
343
+ await Table("w_accounts").insert({ code: "e3", revenue: -1 });
344
+ });
311
345
  (0, chai_1.expect)(failure.kind).to.equal("check");
312
346
  (0, chai_1.expect)(failure.constraint).to.equal("w_accounts_revenue_check");
313
347
  });
@@ -1 +1 @@
1
- {"version":3,"file":"writes.test.js","sourceRoot":"","sources":["../../src/test-external/writes.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writes.test.js","sourceRoot":"","sources":["../../src/test-external/writes.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/postgres",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "PostgreSQL backend for AntelopeJS, implementing the Database interface on relational tables with native column types and indexes",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -30,7 +30,7 @@
30
30
  "build": "rimraf dist && tsc",
31
31
  "format": "oxfmt .",
32
32
  "lint:fix": "oxlint --fix",
33
- "lint": "oxlint",
33
+ "lint": "oxlint && antelopejs-check-interface-ranges",
34
34
  "prepack": "pnpm run build",
35
35
  "release": "pnpm run lint && pnpm run test && pnpm run prepack && release-it",
36
36
  "test": "pnpm run build && ajs module test . && pnpm run test:external:run",
@@ -39,17 +39,26 @@
39
39
  "test:unit": "pnpm run build && mocha \"dist/test/unit/**/*.spec.js\"",
40
40
  "typecheck": "tsc --noEmit",
41
41
  "format:check": "oxfmt --check .",
42
- "knip": "knip"
42
+ "knip": "knip",
43
+ "prepare": "if git rev-parse --is-inside-work-tree >/dev/null 2>&1 && command -v lefthook >/dev/null 2>&1; then lefthook install; fi",
44
+ "checks": "antelopejs-checks",
45
+ "size": "antelopejs-check-size",
46
+ "ratchet": "antelopejs-ratchet",
47
+ "sync": "antelopejs-sync",
48
+ "ratchet:update": "antelopejs-ratchet --update",
49
+ "sync:check": "antelopejs-sync --check",
50
+ "suppressions": "antelopejs-suppressions",
51
+ "suppressions:update": "antelopejs-suppressions --update"
43
52
  },
44
53
  "dependencies": {
45
54
  "@antelopejs/interface-core": ">=0.1.1 <1.0.0",
46
- "@antelopejs/interface-database": ">=0.1.11 <0.2.0",
47
- "@antelopejs/interface-database-catalog": ">=0.0.3 <1.0.0",
55
+ "@antelopejs/interface-database": ">=0.2.0 <0.3.0",
56
+ "@antelopejs/interface-database-catalog": ">=0.0.3 <0.1.0",
48
57
  "pg": "^8.22.0"
49
58
  },
50
59
  "devDependencies": {
51
60
  "@antelopejs/core": "^1.14.0",
52
- "@antelopejs/tooling-configs": "^0.0.8",
61
+ "@antelopejs/tooling-configs": "^0.2.11",
53
62
  "@testcontainers/postgresql": "^12.0.4",
54
63
  "@types/chai": "^4.3.20",
55
64
  "@types/mocha": "^10.0.10",
@@ -58,6 +67,7 @@
58
67
  "chai": "^4.5.0",
59
68
  "eslint-plugin-perfectionist": "^5.11.0",
60
69
  "knip": "^6.34.0",
70
+ "lefthook": "^2.2.2",
61
71
  "mocha": "^11.0.0",
62
72
  "oxfmt": "^0.66.0",
63
73
  "oxlint": "1.81.0",
@@ -67,6 +77,9 @@
67
77
  "rimraf": "^6.1.3",
68
78
  "typescript": "^5.9.3"
69
79
  },
80
+ "engines": {
81
+ "node": ">=22"
82
+ },
70
83
  "packageManager": "pnpm@10.6.5",
71
84
  "antelopeJs": {
72
85
  "implements": [