@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.
Files changed (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +169 -1
  3. package/dist/cjs/__test__/client.test.js +85 -57
  4. package/dist/cjs/__test__/client.test.js.map +1 -1
  5. package/dist/cjs/client.js +2 -2
  6. package/dist/cjs/client.js.map +1 -1
  7. package/dist/cjs/dynamodb-model.d.ts +4 -0
  8. package/dist/cjs/operations.d.ts +4 -0
  9. package/dist/cjs/operations.js.map +1 -1
  10. package/dist/cjs/pagination.d.ts +10 -2
  11. package/dist/cjs/pagination.js +19 -4
  12. package/dist/cjs/pagination.js.map +1 -1
  13. package/dist/cjs/provider.d.ts +16 -0
  14. package/dist/cjs/provider.js +4 -0
  15. package/dist/cjs/provider.js.map +1 -1
  16. package/dist/cjs/sandbox.js +24 -0
  17. package/dist/cjs/sandbox.js.map +1 -1
  18. package/dist/esm/__test__/client.test.js +86 -58
  19. package/dist/esm/__test__/client.test.js.map +1 -1
  20. package/dist/esm/client.js +2 -2
  21. package/dist/esm/client.js.map +1 -1
  22. package/dist/esm/dynamodb-model.d.ts +4 -0
  23. package/dist/esm/operations.d.ts +4 -0
  24. package/dist/esm/operations.js.map +1 -1
  25. package/dist/esm/pagination.d.ts +10 -2
  26. package/dist/esm/pagination.js +19 -4
  27. package/dist/esm/pagination.js.map +1 -1
  28. package/dist/esm/provider.d.ts +16 -0
  29. package/dist/esm/provider.js +4 -0
  30. package/dist/esm/provider.js.map +1 -1
  31. package/dist/esm/sandbox.js +24 -0
  32. package/dist/esm/sandbox.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/__test__/client.test.ts +86 -58
  35. package/src/client.ts +13 -8
  36. package/src/dynamodb-model.ts +16 -14
  37. package/src/operations.ts +4 -0
  38. package/src/pagination.ts +42 -8
  39. package/src/provider.ts +5 -1
  40. package/src/sandbox.ts +24 -0
@@ -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
  })
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/sandbox.ts"],"names":[],"mappings":"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"}
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, } from "../errors";
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,21 +1,23 @@
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((item) => item.values()),
691
- b: b.map((item) => item.values()),
692
- union: union.map((item) => item.values()),
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((item) => item instanceof C).length).toBe(123);
1365
- expect(results.filter((item) => item instanceof D).length).toBe(111);
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((item) => item instanceof C).length).toBe(123);
1411
- expect(results.filter((item) => item instanceof D).length).toBe(111);
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 {