@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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"}
@@ -11,7 +11,7 @@ const client = new client_1.Client({ tableName: "table" });
11
11
  const provider = provider_1.getProvider(client);
12
12
  const SIMPLE_CODEC = t.type({
13
13
  foo: t.string,
14
- bar: t.number
14
+ bar: t.number,
15
15
  });
16
16
  class Simple extends core_1.model("Simple", SIMPLE_CODEC, provider) {
17
17
  get PK() {
@@ -270,7 +270,7 @@ describe("put", () => {
270
270
  test("it overwrites item if `ignoreExistence` is set", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
271
271
  yield MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }));
272
272
  yield expect(MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }), {
273
- IgnoreExistence: true
273
+ IgnoreExistence: true,
274
274
  })).resolves.toBeInstanceOf(MultiGSI);
275
275
  }));
276
276
  });
@@ -284,7 +284,7 @@ describe("get", () => {
284
284
  const item = yield new Simple({ foo: "hi", bar: 432 }).put();
285
285
  const result = yield Simple.get({
286
286
  PK: item.keys().PK,
287
- SK: item.keys().SK
287
+ SK: item.keys().SK,
288
288
  });
289
289
  expect(result.values()).toMatchInlineSnapshot(`
290
290
  Object {
@@ -331,8 +331,8 @@ describe("delete", () => {
331
331
  _model: Simple,
332
332
  key: {
333
333
  PK: item.keys().PK,
334
- SK: item.keys().SK
335
- }
334
+ SK: item.keys().SK,
335
+ },
336
336
  });
337
337
  expect(result).toBeNull();
338
338
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
@@ -360,7 +360,7 @@ describe("delete", () => {
360
360
  const before = yield sandbox.snapshot();
361
361
  const result = yield Simple.delete({
362
362
  PK: item.keys().PK,
363
- SK: item.keys().SK
363
+ SK: item.keys().SK,
364
364
  });
365
365
  expect(result).toBeNull();
366
366
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
@@ -672,7 +672,7 @@ describe("query", () => {
672
672
  test("it returns empty results", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
673
673
  expect(yield client.query({
674
674
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
675
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
675
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" },
676
676
  }, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
677
677
  Object {
678
678
  "_unknown": Array [],
@@ -689,7 +689,7 @@ describe("query", () => {
689
689
  yield sandbox.seed({ PK: "abc", SK: "SORT#1", doesnt: "match" });
690
690
  expect(yield client.query({
691
691
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
692
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
692
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
693
693
  }, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
694
694
  Object {
695
695
  "_unknown": Array [
@@ -712,14 +712,14 @@ describe("query", () => {
712
712
  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" }));
713
713
  const { a, b, union, _unknown, meta } = yield client.query({
714
714
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
715
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
715
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
716
716
  }, { a: A, b: B, union: Union });
717
717
  expect({
718
718
  meta: meta,
719
719
  _unknown: _unknown,
720
- a: a.map(item => item.values()),
721
- b: b.map(item => item.values()),
722
- union: union.map(item => item.values())
720
+ a: a.map((item) => item.values()),
721
+ b: b.map((item) => item.values()),
722
+ union: union.map((item) => item.values()),
723
723
  }).toMatchInlineSnapshot(`
724
724
  Object {
725
725
  "_unknown": Array [
@@ -771,7 +771,7 @@ describe("query", () => {
771
771
  const firstPage = yield client.query({
772
772
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
773
773
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
774
- Limit: 30
774
+ Limit: 30,
775
775
  }, { a: A, b: B });
776
776
  expect(firstPage.a.length).toBe(20);
777
777
  expect(firstPage.b.length).toBe(10);
@@ -781,7 +781,7 @@ describe("query", () => {
781
781
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
782
782
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
783
783
  Limit: 30,
784
- ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
784
+ ExclusiveStartKey: firstPage.meta.lastEvaluatedKey,
785
785
  }, { a: A, b: B });
786
786
  expect(secondPage.a.length).toBe(0);
787
787
  expect(secondPage.b.length).toBe(10);
@@ -795,7 +795,7 @@ describe("query", () => {
795
795
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
796
796
  FetchAllPages: true,
797
797
  // You wouldn't set a limit in a real-world use case here to optimize fetching all items.
798
- Limit: 10
798
+ Limit: 10,
799
799
  }, { a: A, b: B });
800
800
  expect(a.length).toBe(20);
801
801
  expect(b.length).toBe(20);
@@ -819,16 +819,16 @@ describe("bulk", () => {
819
819
  new B({
820
820
  pk: "PK#UPDATE",
821
821
  sk: "SK#UPDATE",
822
- b: "bar"
822
+ b: "bar",
823
823
  }).operation("update", { b: "baz" }),
824
824
  new B({
825
825
  pk: "PK#COND",
826
826
  sk: "SK#COND",
827
- b: "cond"
827
+ b: "cond",
828
828
  }).operation("condition", {
829
829
  ConditionExpression: "b = :cond",
830
- ExpressionAttributeValues: { ":cond": "cond" }
831
- })
830
+ ExpressionAttributeValues: { ":cond": "cond" },
831
+ }),
832
832
  ]);
833
833
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
834
834
  Snapshot Diff:
@@ -932,7 +932,7 @@ describe("bulk", () => {
932
932
  A.operation("put", new A({ pk: "PK5", sk: "PK5", a: 5 })),
933
933
  new B({ pk: "PK#6", sk: "SK#6", b: "baz" }).operation("put"),
934
934
  // Fails
935
- A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 })
935
+ A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 }),
936
936
  ])).rejects.toBeInstanceOf(errors_1.BulkWriteTransactionError);
937
937
  expect(yield sandbox.snapshot()).toEqual(before);
938
938
  }));
@@ -951,9 +951,9 @@ describe("bulk", () => {
951
951
  new B({
952
952
  pk: "PK#UPDATE",
953
953
  sk: "SK#UPDATE",
954
- b: "bar"
954
+ b: "bar",
955
955
  }).operation("update", { b: "baz" }),
956
- ...Array.from({ length: 25 }).map((_, i) => new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put"))
956
+ ...Array.from({ length: 25 }).map((_, i) => new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put")),
957
957
  ]);
958
958
  //#region snapshot
959
959
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
@@ -1254,7 +1254,7 @@ describe("bulk", () => {
1254
1254
  // Succeeds
1255
1255
  ...Array.from({ length: 40 }).map((_, i) => new A({ pk: `PK#${i}`, sk: `SK#${i}`, a: i }).operation("put")),
1256
1256
  // Fails
1257
- A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" })
1257
+ A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" }),
1258
1258
  ])).rejects.toBeInstanceOf(errors_1.BulkWriteTransactionError);
1259
1259
  expect(yield sandbox.snapshot()).toEqual(before);
1260
1260
  }));
@@ -1278,7 +1278,7 @@ describe("batchGet", () => {
1278
1278
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1279
1279
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
1280
1280
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
1281
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
1281
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1282
1282
  })).rejects.toBeInstanceOf(errors_1.ItemNotFoundError);
1283
1283
  }));
1284
1284
  test("it returns individual errors", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -1288,7 +1288,7 @@ describe("batchGet", () => {
1288
1288
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1289
1289
  duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1290
1290
  error: A.operation("get", { PK: "PK#error", SK: "SK#error" }),
1291
- error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
1291
+ error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" }),
1292
1292
  }, { individualErrors: true });
1293
1293
  expect(result.one).toBeInstanceOf(A);
1294
1294
  expect(result.two).toBeInstanceOf(A);
@@ -1302,7 +1302,7 @@ describe("batchGet", () => {
1302
1302
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1303
1303
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
1304
1304
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
1305
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
1305
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1306
1306
  });
1307
1307
  expect(Object.fromEntries(Object.entries(results).map(([key, val]) => [key, val.values()]))).toMatchInlineSnapshot(`
1308
1308
  Object {
@@ -1343,6 +1343,27 @@ describe("load", () => {
1343
1343
  test("it returns null instead of throwing if item doesn't exist", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1344
1344
  yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), { null: true })).resolves.toBeNull();
1345
1345
  }));
1346
+ test("it recovers a soft deleted item", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1347
+ const item = new A({ pk: "PK#1", sk: "SK#1", a: 1 });
1348
+ yield sandbox.seed(item);
1349
+ yield item.softDelete();
1350
+ const recovered = yield client.load(A.operation("get", { PK: "PK#1", SK: "SK#1" }), {
1351
+ recover: true,
1352
+ });
1353
+ expect(recovered).toBeInstanceOf(A);
1354
+ expect(recovered.isDeleted).toBe(true);
1355
+ }));
1356
+ test("it throws if no item or soft deleted item exists", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1357
+ yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
1358
+ recover: true,
1359
+ })).rejects.toBeInstanceOf(errors_1.ItemNotFoundError);
1360
+ }));
1361
+ test("it returns null instead of throwing if no item or soft deleted item exists", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1362
+ yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
1363
+ recover: true,
1364
+ null: true,
1365
+ })).resolves.toBeNull();
1366
+ }));
1346
1367
  test("it fetches >100 items", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1347
1368
  const items = Array.from({ length: 234 }).map((_, i) => i < 100
1348
1369
  ? new A({ pk: String(i), sk: String(i), a: i })
@@ -1391,8 +1412,8 @@ describe("load", () => {
1391
1412
  yield sandbox.seed(...items);
1392
1413
  const results = yield Promise.all(items.map(({ PK, SK }, i) => Union.load({ PK, SK })));
1393
1414
  expect(results.length).toBe(234);
1394
- expect(results.filter(item => item instanceof C).length).toBe(123);
1395
- expect(results.filter(item => item instanceof D).length).toBe(111);
1415
+ expect(results.filter((item) => item instanceof C).length).toBe(123);
1416
+ expect(results.filter((item) => item instanceof D).length).toBe(111);
1396
1417
  expect(spy).toHaveBeenCalledTimes(3);
1397
1418
  spy.mockReset();
1398
1419
  spy.mockRestore();
@@ -1437,8 +1458,8 @@ describe("loadMany", () => {
1437
1458
  yield sandbox.seed(...items);
1438
1459
  const results = yield Union.loadMany(items.map(({ PK, SK }) => ({ PK, SK })));
1439
1460
  expect(results.length).toBe(234);
1440
- expect(results.filter(item => item instanceof C).length).toBe(123);
1441
- expect(results.filter(item => item instanceof D).length).toBe(111);
1461
+ expect(results.filter((item) => item instanceof C).length).toBe(123);
1462
+ expect(results.filter((item) => item instanceof D).length).toBe(111);
1442
1463
  expect(spy).toHaveBeenCalledTimes(3);
1443
1464
  spy.mockReset();
1444
1465
  spy.mockRestore();
@@ -1453,7 +1474,7 @@ describe("paginate", () => {
1453
1474
  // Forwards
1454
1475
  const page1 = yield client.paginate(C, {}, {
1455
1476
  KeyConditionExpression: "PK = :pk",
1456
- ExpressionAttributeValues: { ":pk": "PK" }
1477
+ ExpressionAttributeValues: { ":pk": "PK" },
1457
1478
  });
1458
1479
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1459
1480
  Object {
@@ -1468,7 +1489,7 @@ describe("paginate", () => {
1468
1489
  expect(page1.edges[19].node.c).toBe("19");
1469
1490
  const page2 = yield client.paginate(C, { after: page1.pageInfo.endCursor }, {
1470
1491
  KeyConditionExpression: "PK = :pk",
1471
- ExpressionAttributeValues: { ":pk": "PK" }
1492
+ ExpressionAttributeValues: { ":pk": "PK" },
1472
1493
  });
1473
1494
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1474
1495
  Object {
@@ -1483,7 +1504,7 @@ describe("paginate", () => {
1483
1504
  expect(page2.edges[19].node.c).toBe("39");
1484
1505
  const page3 = yield client.paginate(C, { after: page2.pageInfo.endCursor }, {
1485
1506
  KeyConditionExpression: "PK = :pk",
1486
- ExpressionAttributeValues: { ":pk": "PK" }
1507
+ ExpressionAttributeValues: { ":pk": "PK" },
1487
1508
  });
1488
1509
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1489
1510
  Object {
@@ -1499,7 +1520,7 @@ describe("paginate", () => {
1499
1520
  // Backwards
1500
1521
  const backwardsPage2 = yield client.paginate(C, { before: page3.pageInfo.startCursor }, {
1501
1522
  KeyConditionExpression: "PK = :pk",
1502
- ExpressionAttributeValues: { ":pk": "PK" }
1523
+ ExpressionAttributeValues: { ":pk": "PK" },
1503
1524
  });
1504
1525
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1505
1526
  Object {
@@ -1514,7 +1535,7 @@ describe("paginate", () => {
1514
1535
  expect(backwardsPage2.edges[19].node.c).toBe("39");
1515
1536
  const backwardsPage1 = yield client.paginate(C, { before: backwardsPage2.pageInfo.startCursor }, {
1516
1537
  KeyConditionExpression: "PK = :pk",
1517
- ExpressionAttributeValues: { ":pk": "PK" }
1538
+ ExpressionAttributeValues: { ":pk": "PK" },
1518
1539
  });
1519
1540
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1520
1541
  Object {
@@ -1536,7 +1557,7 @@ describe("paginate", () => {
1536
1557
  // Forwards
1537
1558
  const page1 = yield client.paginate(Union, {}, {
1538
1559
  KeyConditionExpression: "PK = :pk",
1539
- ExpressionAttributeValues: { ":pk": "PK" }
1560
+ ExpressionAttributeValues: { ":pk": "PK" },
1540
1561
  });
1541
1562
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1542
1563
  Object {
@@ -1551,7 +1572,7 @@ describe("paginate", () => {
1551
1572
  expect(page1.edges[19].node.SK).toBe("019");
1552
1573
  const page2 = yield client.paginate(Union, { after: page1.pageInfo.endCursor }, {
1553
1574
  KeyConditionExpression: "PK = :pk",
1554
- ExpressionAttributeValues: { ":pk": "PK" }
1575
+ ExpressionAttributeValues: { ":pk": "PK" },
1555
1576
  });
1556
1577
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1557
1578
  Object {
@@ -1566,7 +1587,7 @@ describe("paginate", () => {
1566
1587
  expect(page2.edges[19].node.SK).toBe("039");
1567
1588
  const page3 = yield client.paginate(Union, { after: page2.pageInfo.endCursor }, {
1568
1589
  KeyConditionExpression: "PK = :pk",
1569
- ExpressionAttributeValues: { ":pk": "PK" }
1590
+ ExpressionAttributeValues: { ":pk": "PK" },
1570
1591
  });
1571
1592
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1572
1593
  Object {
@@ -1582,7 +1603,7 @@ describe("paginate", () => {
1582
1603
  // Backwards
1583
1604
  const backwardsPage2 = yield client.paginate(Union, { before: page3.pageInfo.startCursor }, {
1584
1605
  KeyConditionExpression: "PK = :pk",
1585
- ExpressionAttributeValues: { ":pk": "PK" }
1606
+ ExpressionAttributeValues: { ":pk": "PK" },
1586
1607
  });
1587
1608
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1588
1609
  Object {
@@ -1597,7 +1618,7 @@ describe("paginate", () => {
1597
1618
  expect(backwardsPage2.edges[19].node.SK).toBe("039");
1598
1619
  const backwardsPage1 = yield client.paginate(Union, { before: backwardsPage2.pageInfo.startCursor }, {
1599
1620
  KeyConditionExpression: "PK = :pk",
1600
- ExpressionAttributeValues: { ":pk": "PK" }
1621
+ ExpressionAttributeValues: { ":pk": "PK" },
1601
1622
  });
1602
1623
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1603
1624
  Object {
@@ -1617,7 +1638,7 @@ describe("paginate", () => {
1617
1638
  // Forwards
1618
1639
  const page = yield client.paginate(C, { first: 10 }, {
1619
1640
  KeyConditionExpression: "PK = :pk",
1620
- ExpressionAttributeValues: { ":pk": "PK" }
1641
+ ExpressionAttributeValues: { ":pk": "PK" },
1621
1642
  });
1622
1643
  expect(page.pageInfo).toMatchInlineSnapshot(`
1623
1644
  Object {
@@ -1637,7 +1658,7 @@ describe("paginate", () => {
1637
1658
  // Forwards
1638
1659
  const page1 = yield client.paginate(C, { first: 60 }, {
1639
1660
  KeyConditionExpression: "PK = :pk",
1640
- ExpressionAttributeValues: { ":pk": "PK" }
1661
+ ExpressionAttributeValues: { ":pk": "PK" },
1641
1662
  });
1642
1663
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1643
1664
  Object {
@@ -1659,7 +1680,7 @@ describe("paginate", () => {
1659
1680
  // Forwards
1660
1681
  const page1 = yield C.paginate({}, {
1661
1682
  KeyConditionExpression: "PK = :pk",
1662
- ExpressionAttributeValues: { ":pk": "PK" }
1683
+ ExpressionAttributeValues: { ":pk": "PK" },
1663
1684
  });
1664
1685
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1665
1686
  Object {
@@ -1674,7 +1695,7 @@ describe("paginate", () => {
1674
1695
  expect(page1.edges[19].node.c).toBe("19");
1675
1696
  const page2 = yield C.paginate({ after: page1.pageInfo.endCursor }, {
1676
1697
  KeyConditionExpression: "PK = :pk",
1677
- ExpressionAttributeValues: { ":pk": "PK" }
1698
+ ExpressionAttributeValues: { ":pk": "PK" },
1678
1699
  });
1679
1700
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1680
1701
  Object {
@@ -1689,7 +1710,7 @@ describe("paginate", () => {
1689
1710
  expect(page2.edges[19].node.c).toBe("39");
1690
1711
  const page3 = yield C.paginate({ after: page2.pageInfo.endCursor }, {
1691
1712
  KeyConditionExpression: "PK = :pk",
1692
- ExpressionAttributeValues: { ":pk": "PK" }
1713
+ ExpressionAttributeValues: { ":pk": "PK" },
1693
1714
  });
1694
1715
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1695
1716
  Object {
@@ -1705,7 +1726,7 @@ describe("paginate", () => {
1705
1726
  // Backwards
1706
1727
  const backwardsPage2 = yield C.paginate({ before: page3.pageInfo.startCursor }, {
1707
1728
  KeyConditionExpression: "PK = :pk",
1708
- ExpressionAttributeValues: { ":pk": "PK" }
1729
+ ExpressionAttributeValues: { ":pk": "PK" },
1709
1730
  });
1710
1731
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1711
1732
  Object {
@@ -1720,7 +1741,7 @@ describe("paginate", () => {
1720
1741
  expect(backwardsPage2.edges[19].node.c).toBe("39");
1721
1742
  const backwardsPage1 = yield C.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
1722
1743
  KeyConditionExpression: "PK = :pk",
1723
- ExpressionAttributeValues: { ":pk": "PK" }
1744
+ ExpressionAttributeValues: { ":pk": "PK" },
1724
1745
  });
1725
1746
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1726
1747
  Object {
@@ -1740,7 +1761,7 @@ describe("paginate", () => {
1740
1761
  // Forwards
1741
1762
  const page = yield C.paginate({ first: 10 }, {
1742
1763
  KeyConditionExpression: "PK = :pk",
1743
- ExpressionAttributeValues: { ":pk": "PK" }
1764
+ ExpressionAttributeValues: { ":pk": "PK" },
1744
1765
  });
1745
1766
  expect(page.pageInfo).toMatchInlineSnapshot(`
1746
1767
  Object {
@@ -1760,7 +1781,7 @@ describe("paginate", () => {
1760
1781
  // Forwards
1761
1782
  const page1 = yield C.paginate({ first: 60 }, {
1762
1783
  KeyConditionExpression: "PK = :pk",
1763
- ExpressionAttributeValues: { ":pk": "PK" }
1784
+ ExpressionAttributeValues: { ":pk": "PK" },
1764
1785
  });
1765
1786
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1766
1787
  Object {
@@ -1784,7 +1805,7 @@ describe("paginate", () => {
1784
1805
  // Forwards
1785
1806
  const page1 = yield Union.paginate({}, {
1786
1807
  KeyConditionExpression: "PK = :pk",
1787
- ExpressionAttributeValues: { ":pk": "PK" }
1808
+ ExpressionAttributeValues: { ":pk": "PK" },
1788
1809
  });
1789
1810
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1790
1811
  Object {
@@ -1799,7 +1820,7 @@ describe("paginate", () => {
1799
1820
  expect(page1.edges[19].node.SK).toBe("019");
1800
1821
  const page2 = yield Union.paginate({ after: page1.pageInfo.endCursor }, {
1801
1822
  KeyConditionExpression: "PK = :pk",
1802
- ExpressionAttributeValues: { ":pk": "PK" }
1823
+ ExpressionAttributeValues: { ":pk": "PK" },
1803
1824
  });
1804
1825
  expect(page2.pageInfo).toMatchInlineSnapshot(`
1805
1826
  Object {
@@ -1814,7 +1835,7 @@ describe("paginate", () => {
1814
1835
  expect(page2.edges[19].node.SK).toBe("039");
1815
1836
  const page3 = yield Union.paginate({ after: page2.pageInfo.endCursor }, {
1816
1837
  KeyConditionExpression: "PK = :pk",
1817
- ExpressionAttributeValues: { ":pk": "PK" }
1838
+ ExpressionAttributeValues: { ":pk": "PK" },
1818
1839
  });
1819
1840
  expect(page3.pageInfo).toMatchInlineSnapshot(`
1820
1841
  Object {
@@ -1830,7 +1851,7 @@ describe("paginate", () => {
1830
1851
  // Backwards
1831
1852
  const backwardsPage2 = yield Union.paginate({ before: page3.pageInfo.startCursor }, {
1832
1853
  KeyConditionExpression: "PK = :pk",
1833
- ExpressionAttributeValues: { ":pk": "PK" }
1854
+ ExpressionAttributeValues: { ":pk": "PK" },
1834
1855
  });
1835
1856
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
1836
1857
  Object {
@@ -1845,7 +1866,7 @@ describe("paginate", () => {
1845
1866
  expect(backwardsPage2.edges[19].node.SK).toBe("039");
1846
1867
  const backwardsPage1 = yield Union.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
1847
1868
  KeyConditionExpression: "PK = :pk",
1848
- ExpressionAttributeValues: { ":pk": "PK" }
1869
+ ExpressionAttributeValues: { ":pk": "PK" },
1849
1870
  });
1850
1871
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
1851
1872
  Object {
@@ -1867,7 +1888,7 @@ describe("paginate", () => {
1867
1888
  // Forwards
1868
1889
  const page = yield Union.paginate({ first: 10 }, {
1869
1890
  KeyConditionExpression: "PK = :pk",
1870
- ExpressionAttributeValues: { ":pk": "PK" }
1891
+ ExpressionAttributeValues: { ":pk": "PK" },
1871
1892
  });
1872
1893
  expect(page.pageInfo).toMatchInlineSnapshot(`
1873
1894
  Object {
@@ -1889,7 +1910,7 @@ describe("paginate", () => {
1889
1910
  // Forwards
1890
1911
  const page1 = yield Union.paginate({ first: 60 }, {
1891
1912
  KeyConditionExpression: "PK = :pk",
1892
- ExpressionAttributeValues: { ":pk": "PK" }
1913
+ ExpressionAttributeValues: { ":pk": "PK" },
1893
1914
  });
1894
1915
  expect(page1.pageInfo).toMatchInlineSnapshot(`
1895
1916
  Object {