@model-ts/dynamodb 1.0.0 → 1.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 (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/__test__/client-with-cursor-encryption.test.d.ts +1 -0
  3. package/dist/cjs/__test__/client-with-cursor-encryption.test.js +1911 -0
  4. package/dist/cjs/__test__/client-with-cursor-encryption.test.js.map +1 -0
  5. package/dist/cjs/__test__/client.test.js +77 -56
  6. package/dist/cjs/__test__/client.test.js.map +1 -1
  7. package/dist/cjs/client.d.ts +14 -2
  8. package/dist/cjs/client.js +28 -9
  9. package/dist/cjs/client.js.map +1 -1
  10. package/dist/cjs/dynamodb-model.d.ts +4 -0
  11. package/dist/cjs/pagination.d.ts +48 -3
  12. package/dist/cjs/pagination.js +65 -23
  13. package/dist/cjs/pagination.js.map +1 -1
  14. package/dist/cjs/provider.d.ts +21 -20
  15. package/dist/cjs/provider.js +5 -1
  16. package/dist/cjs/provider.js.map +1 -1
  17. package/dist/esm/__test__/client-with-cursor-encryption.test.d.ts +1 -0
  18. package/dist/esm/__test__/client-with-cursor-encryption.test.js +1909 -0
  19. package/dist/esm/__test__/client-with-cursor-encryption.test.js.map +1 -0
  20. package/dist/esm/__test__/client.test.js +78 -57
  21. package/dist/esm/__test__/client.test.js.map +1 -1
  22. package/dist/esm/client.d.ts +14 -2
  23. package/dist/esm/client.js +28 -9
  24. package/dist/esm/client.js.map +1 -1
  25. package/dist/esm/dynamodb-model.d.ts +4 -0
  26. package/dist/esm/pagination.d.ts +48 -3
  27. package/dist/esm/pagination.js +64 -23
  28. package/dist/esm/pagination.js.map +1 -1
  29. package/dist/esm/provider.d.ts +21 -20
  30. package/dist/esm/provider.js +5 -1
  31. package/dist/esm/provider.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/__test__/client-with-cursor-encryption.test.ts +2445 -0
  34. package/src/__test__/client.test.ts +92 -57
  35. package/src/client.ts +54 -13
  36. package/src/dynamodb-model.ts +4 -0
  37. package/src/pagination.ts +76 -19
  38. package/src/provider.ts +5 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-with-cursor-encryption.test.js","sourceRoot":"","sources":["../../../src/__test__/client-with-cursor-encryption.test.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() {
@@ -268,7 +268,7 @@ describe("put", () => {
268
268
  test("it overwrites item if `ignoreExistence` is set", () => __awaiter(void 0, void 0, void 0, function* () {
269
269
  yield MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }));
270
270
  yield expect(MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }), {
271
- IgnoreExistence: true
271
+ IgnoreExistence: true,
272
272
  })).resolves.toBeInstanceOf(MultiGSI);
273
273
  }));
274
274
  });
@@ -282,7 +282,7 @@ describe("get", () => {
282
282
  const item = yield new Simple({ foo: "hi", bar: 432 }).put();
283
283
  const result = yield Simple.get({
284
284
  PK: item.keys().PK,
285
- SK: item.keys().SK
285
+ SK: item.keys().SK,
286
286
  });
287
287
  expect(result.values()).toMatchInlineSnapshot(`
288
288
  Object {
@@ -329,8 +329,8 @@ describe("delete", () => {
329
329
  _model: Simple,
330
330
  key: {
331
331
  PK: item.keys().PK,
332
- SK: item.keys().SK
333
- }
332
+ SK: item.keys().SK,
333
+ },
334
334
  });
335
335
  expect(result).toBeNull();
336
336
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
@@ -358,7 +358,7 @@ describe("delete", () => {
358
358
  const before = yield sandbox.snapshot();
359
359
  const result = yield Simple.delete({
360
360
  PK: item.keys().PK,
361
- SK: item.keys().SK
361
+ SK: item.keys().SK,
362
362
  });
363
363
  expect(result).toBeNull();
364
364
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
@@ -670,7 +670,7 @@ describe("query", () => {
670
670
  test("it returns empty results", () => __awaiter(void 0, void 0, void 0, function* () {
671
671
  expect(yield client.query({
672
672
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
673
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
673
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" },
674
674
  }, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
675
675
  Object {
676
676
  "_unknown": Array [],
@@ -687,7 +687,7 @@ describe("query", () => {
687
687
  yield sandbox.seed({ PK: "abc", SK: "SORT#1", doesnt: "match" });
688
688
  expect(yield client.query({
689
689
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
690
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
690
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
691
691
  }, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
692
692
  Object {
693
693
  "_unknown": Array [
@@ -710,14 +710,14 @@ describe("query", () => {
710
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" }));
711
711
  const { a, b, union, _unknown, meta } = yield client.query({
712
712
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
713
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
713
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
714
714
  }, { a: A, b: B, union: Union });
715
715
  expect({
716
716
  meta: meta,
717
717
  _unknown: _unknown,
718
- a: a.map(item => item.values()),
719
- b: b.map(item => item.values()),
720
- 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()),
721
721
  }).toMatchInlineSnapshot(`
722
722
  Object {
723
723
  "_unknown": Array [
@@ -769,7 +769,7 @@ describe("query", () => {
769
769
  const firstPage = yield client.query({
770
770
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
771
771
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
772
- Limit: 30
772
+ Limit: 30,
773
773
  }, { a: A, b: B });
774
774
  expect(firstPage.a.length).toBe(20);
775
775
  expect(firstPage.b.length).toBe(10);
@@ -779,7 +779,7 @@ describe("query", () => {
779
779
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
780
780
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
781
781
  Limit: 30,
782
- ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
782
+ ExclusiveStartKey: firstPage.meta.lastEvaluatedKey,
783
783
  }, { a: A, b: B });
784
784
  expect(secondPage.a.length).toBe(0);
785
785
  expect(secondPage.b.length).toBe(10);
@@ -793,7 +793,7 @@ describe("query", () => {
793
793
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
794
794
  FetchAllPages: true,
795
795
  // You wouldn't set a limit in a real-world use case here to optimize fetching all items.
796
- Limit: 10
796
+ Limit: 10,
797
797
  }, { a: A, b: B });
798
798
  expect(a.length).toBe(20);
799
799
  expect(b.length).toBe(20);
@@ -817,16 +817,16 @@ describe("bulk", () => {
817
817
  new B({
818
818
  pk: "PK#UPDATE",
819
819
  sk: "SK#UPDATE",
820
- b: "bar"
820
+ b: "bar",
821
821
  }).operation("update", { b: "baz" }),
822
822
  new B({
823
823
  pk: "PK#COND",
824
824
  sk: "SK#COND",
825
- b: "cond"
825
+ b: "cond",
826
826
  }).operation("condition", {
827
827
  ConditionExpression: "b = :cond",
828
- ExpressionAttributeValues: { ":cond": "cond" }
829
- })
828
+ ExpressionAttributeValues: { ":cond": "cond" },
829
+ }),
830
830
  ]);
831
831
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
832
832
  Snapshot Diff:
@@ -930,7 +930,7 @@ describe("bulk", () => {
930
930
  A.operation("put", new A({ pk: "PK5", sk: "PK5", a: 5 })),
931
931
  new B({ pk: "PK#6", sk: "SK#6", b: "baz" }).operation("put"),
932
932
  // Fails
933
- A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 })
933
+ A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 }),
934
934
  ])).rejects.toBeInstanceOf(BulkWriteTransactionError);
935
935
  expect(yield sandbox.snapshot()).toEqual(before);
936
936
  }));
@@ -949,9 +949,9 @@ describe("bulk", () => {
949
949
  new B({
950
950
  pk: "PK#UPDATE",
951
951
  sk: "SK#UPDATE",
952
- b: "bar"
952
+ b: "bar",
953
953
  }).operation("update", { b: "baz" }),
954
- ...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")),
955
955
  ]);
956
956
  //#region snapshot
957
957
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
@@ -1252,7 +1252,7 @@ describe("bulk", () => {
1252
1252
  // Succeeds
1253
1253
  ...Array.from({ length: 40 }).map((_, i) => new A({ pk: `PK#${i}`, sk: `SK#${i}`, a: i }).operation("put")),
1254
1254
  // Fails
1255
- A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" })
1255
+ A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" }),
1256
1256
  ])).rejects.toBeInstanceOf(BulkWriteTransactionError);
1257
1257
  expect(yield sandbox.snapshot()).toEqual(before);
1258
1258
  }));
@@ -1276,7 +1276,7 @@ describe("batchGet", () => {
1276
1276
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1277
1277
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
1278
1278
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
1279
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
1279
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1280
1280
  })).rejects.toBeInstanceOf(ItemNotFoundError);
1281
1281
  }));
1282
1282
  test("it returns individual errors", () => __awaiter(void 0, void 0, void 0, function* () {
@@ -1286,7 +1286,7 @@ describe("batchGet", () => {
1286
1286
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1287
1287
  duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1288
1288
  error: A.operation("get", { PK: "PK#error", SK: "SK#error" }),
1289
- error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
1289
+ error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" }),
1290
1290
  }, { individualErrors: true });
1291
1291
  expect(result.one).toBeInstanceOf(A);
1292
1292
  expect(result.two).toBeInstanceOf(A);
@@ -1300,7 +1300,7 @@ describe("batchGet", () => {
1300
1300
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1301
1301
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
1302
1302
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
1303
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
1303
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1304
1304
  });
1305
1305
  expect(Object.fromEntries(Object.entries(results).map(([key, val]) => [key, val.values()]))).toMatchInlineSnapshot(`
1306
1306
  Object {
@@ -1341,6 +1341,27 @@ describe("load", () => {
1341
1341
  test("it returns null instead of throwing if item doesn't exist", () => __awaiter(void 0, void 0, void 0, function* () {
1342
1342
  yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), { null: true })).resolves.toBeNull();
1343
1343
  }));
1344
+ test("it recovers a soft deleted item", () => __awaiter(void 0, void 0, void 0, function* () {
1345
+ const item = new A({ pk: "PK#1", sk: "SK#1", a: 1 });
1346
+ yield sandbox.seed(item);
1347
+ yield item.softDelete();
1348
+ const recovered = yield client.load(A.operation("get", { PK: "PK#1", SK: "SK#1" }), {
1349
+ recover: true,
1350
+ });
1351
+ expect(recovered).toBeInstanceOf(A);
1352
+ expect(recovered.isDeleted).toBe(true);
1353
+ }));
1354
+ test("it throws if no item or soft deleted item exists", () => __awaiter(void 0, void 0, void 0, function* () {
1355
+ yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
1356
+ recover: true,
1357
+ })).rejects.toBeInstanceOf(ItemNotFoundError);
1358
+ }));
1359
+ test("it returns null instead of throwing if no item or soft deleted item exists", () => __awaiter(void 0, void 0, void 0, function* () {
1360
+ yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
1361
+ recover: true,
1362
+ null: true,
1363
+ })).resolves.toBeNull();
1364
+ }));
1344
1365
  test("it fetches >100 items", () => __awaiter(void 0, void 0, void 0, function* () {
1345
1366
  const items = Array.from({ length: 234 }).map((_, i) => i < 100
1346
1367
  ? new A({ pk: String(i), sk: String(i), a: i })
@@ -1389,8 +1410,8 @@ describe("load", () => {
1389
1410
  yield sandbox.seed(...items);
1390
1411
  const results = yield Promise.all(items.map(({ PK, SK }, i) => Union.load({ PK, SK })));
1391
1412
  expect(results.length).toBe(234);
1392
- expect(results.filter(item => item instanceof C).length).toBe(123);
1393
- expect(results.filter(item => item instanceof D).length).toBe(111);
1413
+ expect(results.filter((item) => item instanceof C).length).toBe(123);
1414
+ expect(results.filter((item) => item instanceof D).length).toBe(111);
1394
1415
  expect(spy).toHaveBeenCalledTimes(3);
1395
1416
  spy.mockReset();
1396
1417
  spy.mockRestore();
@@ -1435,8 +1456,8 @@ describe("loadMany", () => {
1435
1456
  yield sandbox.seed(...items);
1436
1457
  const results = yield Union.loadMany(items.map(({ PK, SK }) => ({ PK, SK })));
1437
1458
  expect(results.length).toBe(234);
1438
- expect(results.filter(item => item instanceof C).length).toBe(123);
1439
- expect(results.filter(item => item instanceof D).length).toBe(111);
1459
+ expect(results.filter((item) => item instanceof C).length).toBe(123);
1460
+ expect(results.filter((item) => item instanceof D).length).toBe(111);
1440
1461
  expect(spy).toHaveBeenCalledTimes(3);
1441
1462
  spy.mockReset();
1442
1463
  spy.mockRestore();
@@ -1451,7 +1472,7 @@ describe("paginate", () => {
1451
1472
  // Forwards
1452
1473
  const page1 = yield client.paginate(C, {}, {
1453
1474
  KeyConditionExpression: "PK = :pk",
1454
- ExpressionAttributeValues: { ":pk": "PK" }
1475
+ ExpressionAttributeValues: { ":pk": "PK" },
1455
1476
  });
1456
1477
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1457
1478
  Object {
@@ -1466,7 +1487,7 @@ describe("paginate", () => {
1466
1487
  expect(page1.edges[19].node.c).toBe("19");
1467
1488
  const page2 = yield client.paginate(C, { after: page1.pageInfo.endCursor }, {
1468
1489
  KeyConditionExpression: "PK = :pk",
1469
- ExpressionAttributeValues: { ":pk": "PK" }
1490
+ ExpressionAttributeValues: { ":pk": "PK" },
1470
1491
  });
1471
1492
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1472
1493
  Object {
@@ -1481,7 +1502,7 @@ describe("paginate", () => {
1481
1502
  expect(page2.edges[19].node.c).toBe("39");
1482
1503
  const page3 = yield client.paginate(C, { after: page2.pageInfo.endCursor }, {
1483
1504
  KeyConditionExpression: "PK = :pk",
1484
- ExpressionAttributeValues: { ":pk": "PK" }
1505
+ ExpressionAttributeValues: { ":pk": "PK" },
1485
1506
  });
1486
1507
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1487
1508
  Object {
@@ -1497,7 +1518,7 @@ describe("paginate", () => {
1497
1518
  // Backwards
1498
1519
  const backwardsPage2 = yield client.paginate(C, { before: page3.pageInfo.startCursor }, {
1499
1520
  KeyConditionExpression: "PK = :pk",
1500
- ExpressionAttributeValues: { ":pk": "PK" }
1521
+ ExpressionAttributeValues: { ":pk": "PK" },
1501
1522
  });
1502
1523
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1503
1524
  Object {
@@ -1512,7 +1533,7 @@ describe("paginate", () => {
1512
1533
  expect(backwardsPage2.edges[19].node.c).toBe("39");
1513
1534
  const backwardsPage1 = yield client.paginate(C, { before: backwardsPage2.pageInfo.startCursor }, {
1514
1535
  KeyConditionExpression: "PK = :pk",
1515
- ExpressionAttributeValues: { ":pk": "PK" }
1536
+ ExpressionAttributeValues: { ":pk": "PK" },
1516
1537
  });
1517
1538
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1518
1539
  Object {
@@ -1534,7 +1555,7 @@ describe("paginate", () => {
1534
1555
  // Forwards
1535
1556
  const page1 = yield client.paginate(Union, {}, {
1536
1557
  KeyConditionExpression: "PK = :pk",
1537
- ExpressionAttributeValues: { ":pk": "PK" }
1558
+ ExpressionAttributeValues: { ":pk": "PK" },
1538
1559
  });
1539
1560
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1540
1561
  Object {
@@ -1549,7 +1570,7 @@ describe("paginate", () => {
1549
1570
  expect(page1.edges[19].node.SK).toBe("019");
1550
1571
  const page2 = yield client.paginate(Union, { after: page1.pageInfo.endCursor }, {
1551
1572
  KeyConditionExpression: "PK = :pk",
1552
- ExpressionAttributeValues: { ":pk": "PK" }
1573
+ ExpressionAttributeValues: { ":pk": "PK" },
1553
1574
  });
1554
1575
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1555
1576
  Object {
@@ -1564,7 +1585,7 @@ describe("paginate", () => {
1564
1585
  expect(page2.edges[19].node.SK).toBe("039");
1565
1586
  const page3 = yield client.paginate(Union, { after: page2.pageInfo.endCursor }, {
1566
1587
  KeyConditionExpression: "PK = :pk",
1567
- ExpressionAttributeValues: { ":pk": "PK" }
1588
+ ExpressionAttributeValues: { ":pk": "PK" },
1568
1589
  });
1569
1590
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1570
1591
  Object {
@@ -1580,7 +1601,7 @@ describe("paginate", () => {
1580
1601
  // Backwards
1581
1602
  const backwardsPage2 = yield client.paginate(Union, { before: page3.pageInfo.startCursor }, {
1582
1603
  KeyConditionExpression: "PK = :pk",
1583
- ExpressionAttributeValues: { ":pk": "PK" }
1604
+ ExpressionAttributeValues: { ":pk": "PK" },
1584
1605
  });
1585
1606
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1586
1607
  Object {
@@ -1595,7 +1616,7 @@ describe("paginate", () => {
1595
1616
  expect(backwardsPage2.edges[19].node.SK).toBe("039");
1596
1617
  const backwardsPage1 = yield client.paginate(Union, { before: backwardsPage2.pageInfo.startCursor }, {
1597
1618
  KeyConditionExpression: "PK = :pk",
1598
- ExpressionAttributeValues: { ":pk": "PK" }
1619
+ ExpressionAttributeValues: { ":pk": "PK" },
1599
1620
  });
1600
1621
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1601
1622
  Object {
@@ -1615,7 +1636,7 @@ describe("paginate", () => {
1615
1636
  // Forwards
1616
1637
  const page = yield client.paginate(C, { first: 10 }, {
1617
1638
  KeyConditionExpression: "PK = :pk",
1618
- ExpressionAttributeValues: { ":pk": "PK" }
1639
+ ExpressionAttributeValues: { ":pk": "PK" },
1619
1640
  });
1620
1641
  expect(page.pageInfo).toMatchInlineSnapshot(`
1621
1642
  Object {
@@ -1635,7 +1656,7 @@ describe("paginate", () => {
1635
1656
  // Forwards
1636
1657
  const page1 = yield client.paginate(C, { first: 60 }, {
1637
1658
  KeyConditionExpression: "PK = :pk",
1638
- ExpressionAttributeValues: { ":pk": "PK" }
1659
+ ExpressionAttributeValues: { ":pk": "PK" },
1639
1660
  });
1640
1661
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1641
1662
  Object {
@@ -1657,7 +1678,7 @@ describe("paginate", () => {
1657
1678
  // Forwards
1658
1679
  const page1 = yield C.paginate({}, {
1659
1680
  KeyConditionExpression: "PK = :pk",
1660
- ExpressionAttributeValues: { ":pk": "PK" }
1681
+ ExpressionAttributeValues: { ":pk": "PK" },
1661
1682
  });
1662
1683
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1663
1684
  Object {
@@ -1672,7 +1693,7 @@ describe("paginate", () => {
1672
1693
  expect(page1.edges[19].node.c).toBe("19");
1673
1694
  const page2 = yield C.paginate({ after: page1.pageInfo.endCursor }, {
1674
1695
  KeyConditionExpression: "PK = :pk",
1675
- ExpressionAttributeValues: { ":pk": "PK" }
1696
+ ExpressionAttributeValues: { ":pk": "PK" },
1676
1697
  });
1677
1698
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1678
1699
  Object {
@@ -1687,7 +1708,7 @@ describe("paginate", () => {
1687
1708
  expect(page2.edges[19].node.c).toBe("39");
1688
1709
  const page3 = yield C.paginate({ after: page2.pageInfo.endCursor }, {
1689
1710
  KeyConditionExpression: "PK = :pk",
1690
- ExpressionAttributeValues: { ":pk": "PK" }
1711
+ ExpressionAttributeValues: { ":pk": "PK" },
1691
1712
  });
1692
1713
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1693
1714
  Object {
@@ -1703,7 +1724,7 @@ describe("paginate", () => {
1703
1724
  // Backwards
1704
1725
  const backwardsPage2 = yield C.paginate({ before: page3.pageInfo.startCursor }, {
1705
1726
  KeyConditionExpression: "PK = :pk",
1706
- ExpressionAttributeValues: { ":pk": "PK" }
1727
+ ExpressionAttributeValues: { ":pk": "PK" },
1707
1728
  });
1708
1729
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1709
1730
  Object {
@@ -1718,7 +1739,7 @@ describe("paginate", () => {
1718
1739
  expect(backwardsPage2.edges[19].node.c).toBe("39");
1719
1740
  const backwardsPage1 = yield C.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
1720
1741
  KeyConditionExpression: "PK = :pk",
1721
- ExpressionAttributeValues: { ":pk": "PK" }
1742
+ ExpressionAttributeValues: { ":pk": "PK" },
1722
1743
  });
1723
1744
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1724
1745
  Object {
@@ -1738,7 +1759,7 @@ describe("paginate", () => {
1738
1759
  // Forwards
1739
1760
  const page = yield C.paginate({ first: 10 }, {
1740
1761
  KeyConditionExpression: "PK = :pk",
1741
- ExpressionAttributeValues: { ":pk": "PK" }
1762
+ ExpressionAttributeValues: { ":pk": "PK" },
1742
1763
  });
1743
1764
  expect(page.pageInfo).toMatchInlineSnapshot(`
1744
1765
  Object {
@@ -1758,7 +1779,7 @@ describe("paginate", () => {
1758
1779
  // Forwards
1759
1780
  const page1 = yield C.paginate({ first: 60 }, {
1760
1781
  KeyConditionExpression: "PK = :pk",
1761
- ExpressionAttributeValues: { ":pk": "PK" }
1782
+ ExpressionAttributeValues: { ":pk": "PK" },
1762
1783
  });
1763
1784
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1764
1785
  Object {
@@ -1782,7 +1803,7 @@ describe("paginate", () => {
1782
1803
  // Forwards
1783
1804
  const page1 = yield Union.paginate({}, {
1784
1805
  KeyConditionExpression: "PK = :pk",
1785
- ExpressionAttributeValues: { ":pk": "PK" }
1806
+ ExpressionAttributeValues: { ":pk": "PK" },
1786
1807
  });
1787
1808
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1788
1809
  Object {
@@ -1797,7 +1818,7 @@ describe("paginate", () => {
1797
1818
  expect(page1.edges[19].node.SK).toBe("019");
1798
1819
  const page2 = yield Union.paginate({ after: page1.pageInfo.endCursor }, {
1799
1820
  KeyConditionExpression: "PK = :pk",
1800
- ExpressionAttributeValues: { ":pk": "PK" }
1821
+ ExpressionAttributeValues: { ":pk": "PK" },
1801
1822
  });
1802
1823
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1803
1824
  Object {
@@ -1812,7 +1833,7 @@ describe("paginate", () => {
1812
1833
  expect(page2.edges[19].node.SK).toBe("039");
1813
1834
  const page3 = yield Union.paginate({ after: page2.pageInfo.endCursor }, {
1814
1835
  KeyConditionExpression: "PK = :pk",
1815
- ExpressionAttributeValues: { ":pk": "PK" }
1836
+ ExpressionAttributeValues: { ":pk": "PK" },
1816
1837
  });
1817
1838
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1818
1839
  Object {
@@ -1828,7 +1849,7 @@ describe("paginate", () => {
1828
1849
  // Backwards
1829
1850
  const backwardsPage2 = yield Union.paginate({ before: page3.pageInfo.startCursor }, {
1830
1851
  KeyConditionExpression: "PK = :pk",
1831
- ExpressionAttributeValues: { ":pk": "PK" }
1852
+ ExpressionAttributeValues: { ":pk": "PK" },
1832
1853
  });
1833
1854
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1834
1855
  Object {
@@ -1843,7 +1864,7 @@ describe("paginate", () => {
1843
1864
  expect(backwardsPage2.edges[19].node.SK).toBe("039");
1844
1865
  const backwardsPage1 = yield Union.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
1845
1866
  KeyConditionExpression: "PK = :pk",
1846
- ExpressionAttributeValues: { ":pk": "PK" }
1867
+ ExpressionAttributeValues: { ":pk": "PK" },
1847
1868
  });
1848
1869
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1849
1870
  Object {
@@ -1865,7 +1886,7 @@ describe("paginate", () => {
1865
1886
  // Forwards
1866
1887
  const page = yield Union.paginate({ first: 10 }, {
1867
1888
  KeyConditionExpression: "PK = :pk",
1868
- ExpressionAttributeValues: { ":pk": "PK" }
1889
+ ExpressionAttributeValues: { ":pk": "PK" },
1869
1890
  });
1870
1891
  expect(page.pageInfo).toMatchInlineSnapshot(`
1871
1892
  Object {
@@ -1887,7 +1908,7 @@ describe("paginate", () => {
1887
1908
  // Forwards
1888
1909
  const page1 = yield Union.paginate({ first: 60 }, {
1889
1910
  KeyConditionExpression: "PK = :pk",
1890
- ExpressionAttributeValues: { ":pk": "PK" }
1911
+ ExpressionAttributeValues: { ":pk": "PK" },
1891
1912
  });
1892
1913
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1893
1914
  Object {