@model-ts/dynamodb 0.1.2 → 0.2.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.
- package/CHANGELOG.md +6 -0
- package/README.md +169 -1
- package/dist/cjs/__test__/client.test.js +85 -57
- package/dist/cjs/__test__/client.test.js.map +1 -1
- package/dist/cjs/client.js +2 -2
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/dynamodb-model.d.ts +4 -0
- package/dist/cjs/operations.d.ts +4 -0
- package/dist/cjs/operations.js.map +1 -1
- package/dist/cjs/pagination.d.ts +10 -2
- package/dist/cjs/pagination.js +19 -4
- package/dist/cjs/pagination.js.map +1 -1
- package/dist/cjs/provider.d.ts +16 -0
- package/dist/cjs/provider.js +4 -0
- package/dist/cjs/provider.js.map +1 -1
- package/dist/cjs/sandbox.js +24 -0
- package/dist/cjs/sandbox.js.map +1 -1
- package/dist/esm/__test__/client.test.js +86 -58
- package/dist/esm/__test__/client.test.js.map +1 -1
- package/dist/esm/client.js +2 -2
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/dynamodb-model.d.ts +4 -0
- package/dist/esm/operations.d.ts +4 -0
- package/dist/esm/operations.js.map +1 -1
- package/dist/esm/pagination.d.ts +10 -2
- package/dist/esm/pagination.js +19 -4
- package/dist/esm/pagination.js.map +1 -1
- package/dist/esm/provider.d.ts +16 -0
- package/dist/esm/provider.js +4 -0
- package/dist/esm/provider.js.map +1 -1
- package/dist/esm/sandbox.js +24 -0
- package/dist/esm/sandbox.js.map +1 -1
- package/package.json +1 -1
- package/src/__test__/client.test.ts +86 -58
- package/src/client.ts +13 -8
- package/src/dynamodb-model.ts +16 -14
- package/src/operations.ts +4 -0
- package/src/pagination.ts +42 -8
- package/src/provider.ts +5 -1
- package/src/sandbox.ts +24 -0
package/dist/cjs/sandbox.js
CHANGED
|
@@ -30,6 +30,10 @@ const createTable = () => tslib_1.__awaiter(void 0, void 0, void 0, function* ()
|
|
|
30
30
|
{ AttributeName: "GSI2SK", AttributeType: "S" },
|
|
31
31
|
{ AttributeName: "GSI3PK", AttributeType: "S" },
|
|
32
32
|
{ AttributeName: "GSI3SK", AttributeType: "S" },
|
|
33
|
+
{ AttributeName: "GSI4PK", AttributeType: "S" },
|
|
34
|
+
{ AttributeName: "GSI4SK", AttributeType: "S" },
|
|
35
|
+
{ AttributeName: "GSI5PK", AttributeType: "S" },
|
|
36
|
+
{ AttributeName: "GSI5SK", AttributeType: "S" },
|
|
33
37
|
],
|
|
34
38
|
KeySchema: [
|
|
35
39
|
{ AttributeName: "PK", KeyType: "HASH" },
|
|
@@ -66,6 +70,26 @@ const createTable = () => tslib_1.__awaiter(void 0, void 0, void 0, function* ()
|
|
|
66
70
|
ProjectionType: "ALL",
|
|
67
71
|
},
|
|
68
72
|
},
|
|
73
|
+
{
|
|
74
|
+
IndexName: "GSI4",
|
|
75
|
+
KeySchema: [
|
|
76
|
+
{ AttributeName: "GSI4PK", KeyType: "HASH" },
|
|
77
|
+
{ AttributeName: "GSI4SK", KeyType: "RANGE" },
|
|
78
|
+
],
|
|
79
|
+
Projection: {
|
|
80
|
+
ProjectionType: "ALL",
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
IndexName: "GSI5",
|
|
85
|
+
KeySchema: [
|
|
86
|
+
{ AttributeName: "GSI5PK", KeyType: "HASH" },
|
|
87
|
+
{ AttributeName: "GSI5SK", KeyType: "RANGE" },
|
|
88
|
+
],
|
|
89
|
+
Projection: {
|
|
90
|
+
ProjectionType: "ALL",
|
|
91
|
+
},
|
|
92
|
+
},
|
|
69
93
|
],
|
|
70
94
|
BillingMode: "PAY_PER_REQUEST",
|
|
71
95
|
})
|
package/dist/cjs/sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/sandbox.ts"],"names":[],"mappings":";;;;AAAA,2CAA0C;AAC1C,gFAA+C;AAC/C,+BAAiC;AACjC,0EAAgC;AAGhC,MAAM,GAAG,GAAG,IAAI,kBAAQ,CAAC;IACvB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACpC,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,cAAc,CAAC;IAC5C,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACpC,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA;AAEK,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,MAAM,SAAS,GAAG,SAAI,EAAE,CAAA;IAExB,MAAM,GAAG;SACN,WAAW,CAAC;QACX,SAAS,EAAE,SAAS;QACpB,oBAAoB,EAAE;YACpB,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE;YAC3C,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE;YAC3C,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;YAC/C,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;YAC/C,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;YAC/C,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;SAChD;QACD,SAAS,EAAE;YACT,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;YACxC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;SAC1C;QACD,sBAAsB,EAAE;YACtB;gBACE,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE;oBACT,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;oBACxC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;iBAC1C;gBACD,UAAU,EAAE;oBACV,cAAc,EAAE,KAAK;iBACtB;aACF;YACD;gBACE,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE;oBACT,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;oBAC5C,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;iBAC9C;gBACD,UAAU,EAAE;oBACV,cAAc,EAAE,KAAK;iBACtB;aACF;YACD;gBACE,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE;oBACT,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;oBAC5C,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;iBAC9C;gBACD,UAAU,EAAE;oBACV,cAAc,EAAE,KAAK;iBACtB;aACF;SACF;QACD,WAAW,EAAE,iBAAiB;KAC/B,CAAC;SACD,OAAO,EAAE;SACT,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;QAChB,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAA;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEJ,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@ import { model, RuntimeTypeValidationError, union } from "@model-ts/core";
|
|
|
4
4
|
import { createSandbox } from "../sandbox";
|
|
5
5
|
import { Client } from "../client";
|
|
6
6
|
import { getProvider } from "../provider";
|
|
7
|
-
import { KeyExistsError, ItemNotFoundError, ConditionalCheckFailedError, RaceConditionError, BulkWriteTransactionError
|
|
7
|
+
import { KeyExistsError, ItemNotFoundError, ConditionalCheckFailedError, RaceConditionError, BulkWriteTransactionError } from "../errors";
|
|
8
8
|
const client = new Client({ tableName: "table" });
|
|
9
9
|
const provider = getProvider(client);
|
|
10
10
|
const SIMPLE_CODEC = t.type({
|
|
11
11
|
foo: t.string,
|
|
12
|
-
bar: t.number
|
|
12
|
+
bar: t.number
|
|
13
13
|
});
|
|
14
14
|
class Simple extends model("Simple", SIMPLE_CODEC, provider) {
|
|
15
15
|
get PK() {
|
|
@@ -52,6 +52,18 @@ class MultiGSI extends model("MultiGSI", SIMPLE_CODEC, provider) {
|
|
|
52
52
|
get GSI3SK() {
|
|
53
53
|
return `GSI3SK#${this.bar}${this.bar}`;
|
|
54
54
|
}
|
|
55
|
+
get GSI4PK() {
|
|
56
|
+
return `GSI4PK#FIXED`;
|
|
57
|
+
}
|
|
58
|
+
get GSI4SK() {
|
|
59
|
+
return `GSI4SK#${this.bar}${this.bar}`;
|
|
60
|
+
}
|
|
61
|
+
get GSI5PK() {
|
|
62
|
+
return `GSI5PK#FIXED`;
|
|
63
|
+
}
|
|
64
|
+
get GSI5SK() {
|
|
65
|
+
return `GSI5SK#${this.bar}${this.bar}`;
|
|
66
|
+
}
|
|
55
67
|
}
|
|
56
68
|
class A extends model("A", t.type({ pk: t.string, sk: t.string, a: t.number }), provider) {
|
|
57
69
|
get PK() {
|
|
@@ -152,6 +164,10 @@ describe("put", () => {
|
|
|
152
164
|
+ "GSI2SK": "GSI2SK#FIXED",
|
|
153
165
|
+ "GSI3PK": "GSI3PK#FIXED",
|
|
154
166
|
+ "GSI3SK": "GSI3SK#4242",
|
|
167
|
+
+ "GSI4PK": "GSI4PK#FIXED",
|
|
168
|
+
+ "GSI4SK": "GSI4SK#4242",
|
|
169
|
+
+ "GSI5PK": "GSI5PK#FIXED",
|
|
170
|
+
+ "GSI5SK": "GSI5SK#4242",
|
|
155
171
|
+ "PK": "PK#yes",
|
|
156
172
|
+ "SK": "SK#42",
|
|
157
173
|
+ "_docVersion": 0,
|
|
@@ -231,6 +247,10 @@ describe("put", () => {
|
|
|
231
247
|
+ "GSI2SK": "GSI2SK#FIXED",
|
|
232
248
|
+ "GSI3PK": "GSI3PK#FIXED",
|
|
233
249
|
+ "GSI3SK": "GSI3SK#4242",
|
|
250
|
+
+ "GSI4PK": "GSI4PK#FIXED",
|
|
251
|
+
+ "GSI4SK": "GSI4SK#4242",
|
|
252
|
+
+ "GSI5PK": "GSI5PK#FIXED",
|
|
253
|
+
+ "GSI5SK": "GSI5SK#4242",
|
|
234
254
|
+ "PK": "PK#yes",
|
|
235
255
|
+ "SK": "SK#42",
|
|
236
256
|
+ "_docVersion": 0,
|
|
@@ -248,7 +268,7 @@ describe("put", () => {
|
|
|
248
268
|
test("it overwrites item if `ignoreExistence` is set", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
249
269
|
yield MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }));
|
|
250
270
|
yield expect(MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }), {
|
|
251
|
-
IgnoreExistence: true
|
|
271
|
+
IgnoreExistence: true
|
|
252
272
|
})).resolves.toBeInstanceOf(MultiGSI);
|
|
253
273
|
}));
|
|
254
274
|
});
|
|
@@ -262,7 +282,7 @@ describe("get", () => {
|
|
|
262
282
|
const item = yield new Simple({ foo: "hi", bar: 432 }).put();
|
|
263
283
|
const result = yield Simple.get({
|
|
264
284
|
PK: item.keys().PK,
|
|
265
|
-
SK: item.keys().SK
|
|
285
|
+
SK: item.keys().SK
|
|
266
286
|
});
|
|
267
287
|
expect(result.values()).toMatchInlineSnapshot(`
|
|
268
288
|
Object {
|
|
@@ -309,8 +329,8 @@ describe("delete", () => {
|
|
|
309
329
|
_model: Simple,
|
|
310
330
|
key: {
|
|
311
331
|
PK: item.keys().PK,
|
|
312
|
-
SK: item.keys().SK
|
|
313
|
-
}
|
|
332
|
+
SK: item.keys().SK
|
|
333
|
+
}
|
|
314
334
|
});
|
|
315
335
|
expect(result).toBeNull();
|
|
316
336
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
@@ -338,7 +358,7 @@ describe("delete", () => {
|
|
|
338
358
|
const before = yield sandbox.snapshot();
|
|
339
359
|
const result = yield Simple.delete({
|
|
340
360
|
PK: item.keys().PK,
|
|
341
|
-
SK: item.keys().SK
|
|
361
|
+
SK: item.keys().SK
|
|
342
362
|
});
|
|
343
363
|
expect(result).toBeNull();
|
|
344
364
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
@@ -411,13 +431,17 @@ describe("softDelete", () => {
|
|
|
411
431
|
- First value
|
|
412
432
|
+ Second value
|
|
413
433
|
|
|
414
|
-
@@ -1,
|
|
434
|
+
@@ -1,25 +1,27 @@
|
|
415
435
|
Object {
|
|
416
436
|
- "PK#hello__SK#42": Object {
|
|
417
437
|
- "GSI2PK": "GSI2PK#hellohello",
|
|
418
438
|
- "GSI2SK": "GSI2SK#FIXED",
|
|
419
439
|
- "GSI3PK": "GSI3PK#FIXED",
|
|
420
440
|
- "GSI3SK": "GSI3SK#4242",
|
|
441
|
+
- "GSI4PK": "GSI4PK#FIXED",
|
|
442
|
+
- "GSI4SK": "GSI4SK#4242",
|
|
443
|
+
- "GSI5PK": "GSI5PK#FIXED",
|
|
444
|
+
- "GSI5SK": "GSI5SK#4242",
|
|
421
445
|
- "PK": "PK#hello",
|
|
422
446
|
- "SK": "SK#42",
|
|
423
447
|
+ "$$DELETED$$PK#hello__$$DELETED$$SK#42": Object {
|
|
@@ -425,6 +449,10 @@ describe("softDelete", () => {
|
|
|
425
449
|
+ "GSI2SK": "$$DELETED$$GSI2SK#FIXED",
|
|
426
450
|
+ "GSI3PK": "$$DELETED$$GSI3PK#FIXED",
|
|
427
451
|
+ "GSI3SK": "$$DELETED$$GSI3SK#4242",
|
|
452
|
+
+ "GSI4PK": "$$DELETED$$GSI4PK#FIXED",
|
|
453
|
+
+ "GSI4SK": "$$DELETED$$GSI4SK#4242",
|
|
454
|
+
+ "GSI5PK": "$$DELETED$$GSI5PK#FIXED",
|
|
455
|
+
+ "GSI5SK": "$$DELETED$$GSI5SK#4242",
|
|
428
456
|
+ "PK": "$$DELETED$$PK#hello",
|
|
429
457
|
+ "SK": "$$DELETED$$SK#42",
|
|
430
458
|
+ "_deletedAt": "2021-05-01T08:00:00.000Z",
|
|
@@ -642,7 +670,7 @@ describe("query", () => {
|
|
|
642
670
|
test("it returns empty results", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
643
671
|
expect(yield client.query({
|
|
644
672
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
645
|
-
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
|
|
673
|
+
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
|
|
646
674
|
}, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
|
|
647
675
|
Object {
|
|
648
676
|
"_unknown": Array [],
|
|
@@ -659,7 +687,7 @@ describe("query", () => {
|
|
|
659
687
|
yield sandbox.seed({ PK: "abc", SK: "SORT#1", doesnt: "match" });
|
|
660
688
|
expect(yield client.query({
|
|
661
689
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
662
|
-
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
690
|
+
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
663
691
|
}, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
|
|
664
692
|
Object {
|
|
665
693
|
"_unknown": Array [
|
|
@@ -682,14 +710,14 @@ describe("query", () => {
|
|
|
682
710
|
yield sandbox.seed(new A({ pk: "abc", sk: "SORT#1", a: 1 }), new A({ pk: "abc", sk: "SORT#2", a: 2 }), new B({ pk: "abc", sk: "SORT#3", b: "hi" }), { PK: "abc", SK: "SORT#4", probably: "unknown" }, new C({ pk: "abc", sk: "SORT#5", c: "hi" }), new D({ pk: "abc", sk: "SORT#6", d: "hi" }));
|
|
683
711
|
const { a, b, union, _unknown, meta } = yield client.query({
|
|
684
712
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
685
|
-
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
713
|
+
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
686
714
|
}, { a: A, b: B, union: Union });
|
|
687
715
|
expect({
|
|
688
716
|
meta: meta,
|
|
689
717
|
_unknown: _unknown,
|
|
690
|
-
a: a.map(
|
|
691
|
-
b: b.map(
|
|
692
|
-
union: union.map(
|
|
718
|
+
a: a.map(item => item.values()),
|
|
719
|
+
b: b.map(item => item.values()),
|
|
720
|
+
union: union.map(item => item.values())
|
|
693
721
|
}).toMatchInlineSnapshot(`
|
|
694
722
|
Object {
|
|
695
723
|
"_unknown": Array [
|
|
@@ -741,7 +769,7 @@ describe("query", () => {
|
|
|
741
769
|
const firstPage = yield client.query({
|
|
742
770
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
743
771
|
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
|
|
744
|
-
Limit: 30
|
|
772
|
+
Limit: 30
|
|
745
773
|
}, { a: A, b: B });
|
|
746
774
|
expect(firstPage.a.length).toBe(20);
|
|
747
775
|
expect(firstPage.b.length).toBe(10);
|
|
@@ -751,7 +779,7 @@ describe("query", () => {
|
|
|
751
779
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
752
780
|
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
|
|
753
781
|
Limit: 30,
|
|
754
|
-
ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
|
|
782
|
+
ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
|
|
755
783
|
}, { a: A, b: B });
|
|
756
784
|
expect(secondPage.a.length).toBe(0);
|
|
757
785
|
expect(secondPage.b.length).toBe(10);
|
|
@@ -765,7 +793,7 @@ describe("query", () => {
|
|
|
765
793
|
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
|
|
766
794
|
FetchAllPages: true,
|
|
767
795
|
// You wouldn't set a limit in a real-world use case here to optimize fetching all items.
|
|
768
|
-
Limit: 10
|
|
796
|
+
Limit: 10
|
|
769
797
|
}, { a: A, b: B });
|
|
770
798
|
expect(a.length).toBe(20);
|
|
771
799
|
expect(b.length).toBe(20);
|
|
@@ -789,16 +817,16 @@ describe("bulk", () => {
|
|
|
789
817
|
new B({
|
|
790
818
|
pk: "PK#UPDATE",
|
|
791
819
|
sk: "SK#UPDATE",
|
|
792
|
-
b: "bar"
|
|
820
|
+
b: "bar"
|
|
793
821
|
}).operation("update", { b: "baz" }),
|
|
794
822
|
new B({
|
|
795
823
|
pk: "PK#COND",
|
|
796
824
|
sk: "SK#COND",
|
|
797
|
-
b: "cond"
|
|
825
|
+
b: "cond"
|
|
798
826
|
}).operation("condition", {
|
|
799
827
|
ConditionExpression: "b = :cond",
|
|
800
|
-
ExpressionAttributeValues: { ":cond": "cond" }
|
|
801
|
-
})
|
|
828
|
+
ExpressionAttributeValues: { ":cond": "cond" }
|
|
829
|
+
})
|
|
802
830
|
]);
|
|
803
831
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
804
832
|
Snapshot Diff:
|
|
@@ -902,7 +930,7 @@ describe("bulk", () => {
|
|
|
902
930
|
A.operation("put", new A({ pk: "PK5", sk: "PK5", a: 5 })),
|
|
903
931
|
new B({ pk: "PK#6", sk: "SK#6", b: "baz" }).operation("put"),
|
|
904
932
|
// Fails
|
|
905
|
-
A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 })
|
|
933
|
+
A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 })
|
|
906
934
|
])).rejects.toBeInstanceOf(BulkWriteTransactionError);
|
|
907
935
|
expect(yield sandbox.snapshot()).toEqual(before);
|
|
908
936
|
}));
|
|
@@ -921,9 +949,9 @@ describe("bulk", () => {
|
|
|
921
949
|
new B({
|
|
922
950
|
pk: "PK#UPDATE",
|
|
923
951
|
sk: "SK#UPDATE",
|
|
924
|
-
b: "bar"
|
|
952
|
+
b: "bar"
|
|
925
953
|
}).operation("update", { b: "baz" }),
|
|
926
|
-
...Array.from({ length: 25 }).map((_, i) => new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put"))
|
|
954
|
+
...Array.from({ length: 25 }).map((_, i) => new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put"))
|
|
927
955
|
]);
|
|
928
956
|
//#region snapshot
|
|
929
957
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
@@ -1224,7 +1252,7 @@ describe("bulk", () => {
|
|
|
1224
1252
|
// Succeeds
|
|
1225
1253
|
...Array.from({ length: 40 }).map((_, i) => new A({ pk: `PK#${i}`, sk: `SK#${i}`, a: i }).operation("put")),
|
|
1226
1254
|
// Fails
|
|
1227
|
-
A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" })
|
|
1255
|
+
A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" })
|
|
1228
1256
|
])).rejects.toBeInstanceOf(BulkWriteTransactionError);
|
|
1229
1257
|
expect(yield sandbox.snapshot()).toEqual(before);
|
|
1230
1258
|
}));
|
|
@@ -1248,7 +1276,7 @@ describe("batchGet", () => {
|
|
|
1248
1276
|
two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
|
|
1249
1277
|
three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
|
|
1250
1278
|
four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
|
|
1251
|
-
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1279
|
+
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1252
1280
|
})).rejects.toBeInstanceOf(ItemNotFoundError);
|
|
1253
1281
|
}));
|
|
1254
1282
|
test("it returns individual errors", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1258,7 +1286,7 @@ describe("batchGet", () => {
|
|
|
1258
1286
|
two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
|
|
1259
1287
|
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
|
|
1260
1288
|
error: A.operation("get", { PK: "PK#error", SK: "SK#error" }),
|
|
1261
|
-
error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
|
|
1289
|
+
error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
|
|
1262
1290
|
}, { individualErrors: true });
|
|
1263
1291
|
expect(result.one).toBeInstanceOf(A);
|
|
1264
1292
|
expect(result.two).toBeInstanceOf(A);
|
|
@@ -1272,7 +1300,7 @@ describe("batchGet", () => {
|
|
|
1272
1300
|
two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
|
|
1273
1301
|
three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
|
|
1274
1302
|
four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
|
|
1275
|
-
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1303
|
+
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1276
1304
|
});
|
|
1277
1305
|
expect(Object.fromEntries(Object.entries(results).map(([key, val]) => [key, val.values()]))).toMatchInlineSnapshot(`
|
|
1278
1306
|
Object {
|
|
@@ -1361,8 +1389,8 @@ describe("load", () => {
|
|
|
1361
1389
|
yield sandbox.seed(...items);
|
|
1362
1390
|
const results = yield Promise.all(items.map(({ PK, SK }, i) => Union.load({ PK, SK })));
|
|
1363
1391
|
expect(results.length).toBe(234);
|
|
1364
|
-
expect(results.filter(
|
|
1365
|
-
expect(results.filter(
|
|
1392
|
+
expect(results.filter(item => item instanceof C).length).toBe(123);
|
|
1393
|
+
expect(results.filter(item => item instanceof D).length).toBe(111);
|
|
1366
1394
|
expect(spy).toHaveBeenCalledTimes(3);
|
|
1367
1395
|
spy.mockReset();
|
|
1368
1396
|
spy.mockRestore();
|
|
@@ -1407,8 +1435,8 @@ describe("loadMany", () => {
|
|
|
1407
1435
|
yield sandbox.seed(...items);
|
|
1408
1436
|
const results = yield Union.loadMany(items.map(({ PK, SK }) => ({ PK, SK })));
|
|
1409
1437
|
expect(results.length).toBe(234);
|
|
1410
|
-
expect(results.filter(
|
|
1411
|
-
expect(results.filter(
|
|
1438
|
+
expect(results.filter(item => item instanceof C).length).toBe(123);
|
|
1439
|
+
expect(results.filter(item => item instanceof D).length).toBe(111);
|
|
1412
1440
|
expect(spy).toHaveBeenCalledTimes(3);
|
|
1413
1441
|
spy.mockReset();
|
|
1414
1442
|
spy.mockRestore();
|
|
@@ -1423,7 +1451,7 @@ describe("paginate", () => {
|
|
|
1423
1451
|
// Forwards
|
|
1424
1452
|
const page1 = yield client.paginate(C, {}, {
|
|
1425
1453
|
KeyConditionExpression: "PK = :pk",
|
|
1426
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1454
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1427
1455
|
});
|
|
1428
1456
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1429
1457
|
Object {
|
|
@@ -1438,7 +1466,7 @@ describe("paginate", () => {
|
|
|
1438
1466
|
expect(page1.edges[19].node.c).toBe("19");
|
|
1439
1467
|
const page2 = yield client.paginate(C, { after: page1.pageInfo.endCursor }, {
|
|
1440
1468
|
KeyConditionExpression: "PK = :pk",
|
|
1441
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1469
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1442
1470
|
});
|
|
1443
1471
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1444
1472
|
Object {
|
|
@@ -1453,7 +1481,7 @@ describe("paginate", () => {
|
|
|
1453
1481
|
expect(page2.edges[19].node.c).toBe("39");
|
|
1454
1482
|
const page3 = yield client.paginate(C, { after: page2.pageInfo.endCursor }, {
|
|
1455
1483
|
KeyConditionExpression: "PK = :pk",
|
|
1456
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1484
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1457
1485
|
});
|
|
1458
1486
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1459
1487
|
Object {
|
|
@@ -1469,7 +1497,7 @@ describe("paginate", () => {
|
|
|
1469
1497
|
// Backwards
|
|
1470
1498
|
const backwardsPage2 = yield client.paginate(C, { before: page3.pageInfo.startCursor }, {
|
|
1471
1499
|
KeyConditionExpression: "PK = :pk",
|
|
1472
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1500
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1473
1501
|
});
|
|
1474
1502
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1475
1503
|
Object {
|
|
@@ -1484,7 +1512,7 @@ describe("paginate", () => {
|
|
|
1484
1512
|
expect(backwardsPage2.edges[19].node.c).toBe("39");
|
|
1485
1513
|
const backwardsPage1 = yield client.paginate(C, { before: backwardsPage2.pageInfo.startCursor }, {
|
|
1486
1514
|
KeyConditionExpression: "PK = :pk",
|
|
1487
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1515
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1488
1516
|
});
|
|
1489
1517
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1490
1518
|
Object {
|
|
@@ -1506,7 +1534,7 @@ describe("paginate", () => {
|
|
|
1506
1534
|
// Forwards
|
|
1507
1535
|
const page1 = yield client.paginate(Union, {}, {
|
|
1508
1536
|
KeyConditionExpression: "PK = :pk",
|
|
1509
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1537
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1510
1538
|
});
|
|
1511
1539
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1512
1540
|
Object {
|
|
@@ -1521,7 +1549,7 @@ describe("paginate", () => {
|
|
|
1521
1549
|
expect(page1.edges[19].node.SK).toBe("019");
|
|
1522
1550
|
const page2 = yield client.paginate(Union, { after: page1.pageInfo.endCursor }, {
|
|
1523
1551
|
KeyConditionExpression: "PK = :pk",
|
|
1524
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1552
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1525
1553
|
});
|
|
1526
1554
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1527
1555
|
Object {
|
|
@@ -1536,7 +1564,7 @@ describe("paginate", () => {
|
|
|
1536
1564
|
expect(page2.edges[19].node.SK).toBe("039");
|
|
1537
1565
|
const page3 = yield client.paginate(Union, { after: page2.pageInfo.endCursor }, {
|
|
1538
1566
|
KeyConditionExpression: "PK = :pk",
|
|
1539
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1567
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1540
1568
|
});
|
|
1541
1569
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1542
1570
|
Object {
|
|
@@ -1552,7 +1580,7 @@ describe("paginate", () => {
|
|
|
1552
1580
|
// Backwards
|
|
1553
1581
|
const backwardsPage2 = yield client.paginate(Union, { before: page3.pageInfo.startCursor }, {
|
|
1554
1582
|
KeyConditionExpression: "PK = :pk",
|
|
1555
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1583
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1556
1584
|
});
|
|
1557
1585
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1558
1586
|
Object {
|
|
@@ -1567,7 +1595,7 @@ describe("paginate", () => {
|
|
|
1567
1595
|
expect(backwardsPage2.edges[19].node.SK).toBe("039");
|
|
1568
1596
|
const backwardsPage1 = yield client.paginate(Union, { before: backwardsPage2.pageInfo.startCursor }, {
|
|
1569
1597
|
KeyConditionExpression: "PK = :pk",
|
|
1570
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1598
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1571
1599
|
});
|
|
1572
1600
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1573
1601
|
Object {
|
|
@@ -1587,7 +1615,7 @@ describe("paginate", () => {
|
|
|
1587
1615
|
// Forwards
|
|
1588
1616
|
const page = yield client.paginate(C, { first: 10 }, {
|
|
1589
1617
|
KeyConditionExpression: "PK = :pk",
|
|
1590
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1618
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1591
1619
|
});
|
|
1592
1620
|
expect(page.pageInfo).toMatchInlineSnapshot(`
|
|
1593
1621
|
Object {
|
|
@@ -1607,7 +1635,7 @@ describe("paginate", () => {
|
|
|
1607
1635
|
// Forwards
|
|
1608
1636
|
const page1 = yield client.paginate(C, { first: 60 }, {
|
|
1609
1637
|
KeyConditionExpression: "PK = :pk",
|
|
1610
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1638
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1611
1639
|
});
|
|
1612
1640
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1613
1641
|
Object {
|
|
@@ -1629,7 +1657,7 @@ describe("paginate", () => {
|
|
|
1629
1657
|
// Forwards
|
|
1630
1658
|
const page1 = yield C.paginate({}, {
|
|
1631
1659
|
KeyConditionExpression: "PK = :pk",
|
|
1632
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1660
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1633
1661
|
});
|
|
1634
1662
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1635
1663
|
Object {
|
|
@@ -1644,7 +1672,7 @@ describe("paginate", () => {
|
|
|
1644
1672
|
expect(page1.edges[19].node.c).toBe("19");
|
|
1645
1673
|
const page2 = yield C.paginate({ after: page1.pageInfo.endCursor }, {
|
|
1646
1674
|
KeyConditionExpression: "PK = :pk",
|
|
1647
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1675
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1648
1676
|
});
|
|
1649
1677
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1650
1678
|
Object {
|
|
@@ -1659,7 +1687,7 @@ describe("paginate", () => {
|
|
|
1659
1687
|
expect(page2.edges[19].node.c).toBe("39");
|
|
1660
1688
|
const page3 = yield C.paginate({ after: page2.pageInfo.endCursor }, {
|
|
1661
1689
|
KeyConditionExpression: "PK = :pk",
|
|
1662
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1690
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1663
1691
|
});
|
|
1664
1692
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1665
1693
|
Object {
|
|
@@ -1675,7 +1703,7 @@ describe("paginate", () => {
|
|
|
1675
1703
|
// Backwards
|
|
1676
1704
|
const backwardsPage2 = yield C.paginate({ before: page3.pageInfo.startCursor }, {
|
|
1677
1705
|
KeyConditionExpression: "PK = :pk",
|
|
1678
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1706
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1679
1707
|
});
|
|
1680
1708
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1681
1709
|
Object {
|
|
@@ -1690,7 +1718,7 @@ describe("paginate", () => {
|
|
|
1690
1718
|
expect(backwardsPage2.edges[19].node.c).toBe("39");
|
|
1691
1719
|
const backwardsPage1 = yield C.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
|
|
1692
1720
|
KeyConditionExpression: "PK = :pk",
|
|
1693
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1721
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1694
1722
|
});
|
|
1695
1723
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1696
1724
|
Object {
|
|
@@ -1710,7 +1738,7 @@ describe("paginate", () => {
|
|
|
1710
1738
|
// Forwards
|
|
1711
1739
|
const page = yield C.paginate({ first: 10 }, {
|
|
1712
1740
|
KeyConditionExpression: "PK = :pk",
|
|
1713
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1741
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1714
1742
|
});
|
|
1715
1743
|
expect(page.pageInfo).toMatchInlineSnapshot(`
|
|
1716
1744
|
Object {
|
|
@@ -1730,7 +1758,7 @@ describe("paginate", () => {
|
|
|
1730
1758
|
// Forwards
|
|
1731
1759
|
const page1 = yield C.paginate({ first: 60 }, {
|
|
1732
1760
|
KeyConditionExpression: "PK = :pk",
|
|
1733
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1761
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1734
1762
|
});
|
|
1735
1763
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1736
1764
|
Object {
|
|
@@ -1754,7 +1782,7 @@ describe("paginate", () => {
|
|
|
1754
1782
|
// Forwards
|
|
1755
1783
|
const page1 = yield Union.paginate({}, {
|
|
1756
1784
|
KeyConditionExpression: "PK = :pk",
|
|
1757
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1785
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1758
1786
|
});
|
|
1759
1787
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1760
1788
|
Object {
|
|
@@ -1769,7 +1797,7 @@ describe("paginate", () => {
|
|
|
1769
1797
|
expect(page1.edges[19].node.SK).toBe("019");
|
|
1770
1798
|
const page2 = yield Union.paginate({ after: page1.pageInfo.endCursor }, {
|
|
1771
1799
|
KeyConditionExpression: "PK = :pk",
|
|
1772
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1800
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1773
1801
|
});
|
|
1774
1802
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1775
1803
|
Object {
|
|
@@ -1784,7 +1812,7 @@ describe("paginate", () => {
|
|
|
1784
1812
|
expect(page2.edges[19].node.SK).toBe("039");
|
|
1785
1813
|
const page3 = yield Union.paginate({ after: page2.pageInfo.endCursor }, {
|
|
1786
1814
|
KeyConditionExpression: "PK = :pk",
|
|
1787
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1815
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1788
1816
|
});
|
|
1789
1817
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1790
1818
|
Object {
|
|
@@ -1800,7 +1828,7 @@ describe("paginate", () => {
|
|
|
1800
1828
|
// Backwards
|
|
1801
1829
|
const backwardsPage2 = yield Union.paginate({ before: page3.pageInfo.startCursor }, {
|
|
1802
1830
|
KeyConditionExpression: "PK = :pk",
|
|
1803
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1831
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1804
1832
|
});
|
|
1805
1833
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1806
1834
|
Object {
|
|
@@ -1815,7 +1843,7 @@ describe("paginate", () => {
|
|
|
1815
1843
|
expect(backwardsPage2.edges[19].node.SK).toBe("039");
|
|
1816
1844
|
const backwardsPage1 = yield Union.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
|
|
1817
1845
|
KeyConditionExpression: "PK = :pk",
|
|
1818
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1846
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1819
1847
|
});
|
|
1820
1848
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1821
1849
|
Object {
|
|
@@ -1837,7 +1865,7 @@ describe("paginate", () => {
|
|
|
1837
1865
|
// Forwards
|
|
1838
1866
|
const page = yield Union.paginate({ first: 10 }, {
|
|
1839
1867
|
KeyConditionExpression: "PK = :pk",
|
|
1840
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1868
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1841
1869
|
});
|
|
1842
1870
|
expect(page.pageInfo).toMatchInlineSnapshot(`
|
|
1843
1871
|
Object {
|
|
@@ -1859,7 +1887,7 @@ describe("paginate", () => {
|
|
|
1859
1887
|
// Forwards
|
|
1860
1888
|
const page1 = yield Union.paginate({ first: 60 }, {
|
|
1861
1889
|
KeyConditionExpression: "PK = :pk",
|
|
1862
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1890
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1863
1891
|
});
|
|
1864
1892
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1865
1893
|
Object {
|