@model-ts/dynamodb 3.0.0 → 3.0.2

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 (36) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/__test__/client-with-cursor-encryption.test.js +696 -21
  3. package/dist/cjs/__test__/client-with-cursor-encryption.test.js.map +1 -1
  4. package/dist/cjs/__test__/client.test.js +775 -95
  5. package/dist/cjs/__test__/client.test.js.map +1 -1
  6. package/dist/cjs/__test__/pagination.test.d.ts +1 -0
  7. package/dist/cjs/__test__/pagination.test.js +241 -0
  8. package/dist/cjs/__test__/pagination.test.js.map +1 -0
  9. package/dist/cjs/client.js +1 -1
  10. package/dist/cjs/client.js.map +1 -1
  11. package/dist/cjs/pagination.d.ts +1 -1
  12. package/dist/cjs/pagination.js +4 -6
  13. package/dist/cjs/pagination.js.map +1 -1
  14. package/dist/cjs/sandbox.js +3 -3
  15. package/dist/cjs/sandbox.js.map +1 -1
  16. package/dist/esm/__test__/client-with-cursor-encryption.test.js +696 -21
  17. package/dist/esm/__test__/client-with-cursor-encryption.test.js.map +1 -1
  18. package/dist/esm/__test__/client.test.js +776 -96
  19. package/dist/esm/__test__/client.test.js.map +1 -1
  20. package/dist/esm/__test__/pagination.test.d.ts +1 -0
  21. package/dist/esm/__test__/pagination.test.js +238 -0
  22. package/dist/esm/__test__/pagination.test.js.map +1 -0
  23. package/dist/esm/client.js +1 -1
  24. package/dist/esm/client.js.map +1 -1
  25. package/dist/esm/pagination.d.ts +1 -1
  26. package/dist/esm/pagination.js +4 -6
  27. package/dist/esm/pagination.js.map +1 -1
  28. package/dist/esm/sandbox.js +3 -3
  29. package/dist/esm/sandbox.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/__test__/client-with-cursor-encryption.test.ts +696 -21
  32. package/src/__test__/client.test.ts +782 -97
  33. package/src/__test__/pagination.test.ts +300 -0
  34. package/src/client.ts +1 -1
  35. package/src/pagination.ts +5 -9
  36. package/src/sandbox.ts +19 -17
@@ -8,7 +8,7 @@ import {
8
8
  ItemNotFoundError,
9
9
  ConditionalCheckFailedError,
10
10
  RaceConditionError,
11
- BulkWriteTransactionError,
11
+ BulkWriteTransactionError
12
12
  } from "../errors"
13
13
 
14
14
  const client = new Client({ tableName: "table" })
@@ -16,7 +16,7 @@ const provider = getProvider(client)
16
16
 
17
17
  const SIMPLE_CODEC = t.type({
18
18
  foo: t.string,
19
- bar: t.number,
19
+ bar: t.number
20
20
  })
21
21
 
22
22
  class Simple extends model("Simple", SIMPLE_CODEC, provider) {
@@ -335,7 +335,7 @@ describe("put", () => {
335
335
 
336
336
  await expect(
337
337
  MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }), {
338
- IgnoreExistence: true,
338
+ IgnoreExistence: true
339
339
  })
340
340
  ).resolves.toBeInstanceOf(MultiGSI)
341
341
  })
@@ -355,7 +355,7 @@ describe("get", () => {
355
355
 
356
356
  const result = await Simple.get({
357
357
  PK: item.keys().PK,
358
- SK: item.keys().SK,
358
+ SK: item.keys().SK
359
359
  })
360
360
 
361
361
  expect(result.values()).toMatchInlineSnapshot(`
@@ -421,8 +421,8 @@ describe("delete", () => {
421
421
  _model: Simple,
422
422
  key: {
423
423
  PK: item.keys().PK,
424
- SK: item.keys().SK,
425
- },
424
+ SK: item.keys().SK
425
+ }
426
426
  })
427
427
 
428
428
  expect(result).toBeNull()
@@ -455,7 +455,7 @@ describe("delete", () => {
455
455
 
456
456
  const result = await Simple.delete({
457
457
  PK: item.keys().PK,
458
- SK: item.keys().SK,
458
+ SK: item.keys().SK
459
459
  })
460
460
 
461
461
  expect(result).toBeNull()
@@ -830,7 +830,7 @@ describe("query", () => {
830
830
  await client.query(
831
831
  {
832
832
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
833
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" },
833
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
834
834
  },
835
835
  { a: A, b: B, union: Union }
836
836
  )
@@ -854,7 +854,7 @@ describe("query", () => {
854
854
  await client.query(
855
855
  {
856
856
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
857
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
857
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
858
858
  },
859
859
  { a: A, b: B, union: Union }
860
860
  )
@@ -890,7 +890,7 @@ describe("query", () => {
890
890
  const { a, b, union, _unknown, meta } = await client.query(
891
891
  {
892
892
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
893
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
893
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
894
894
  },
895
895
  { a: A, b: B, union: Union }
896
896
  )
@@ -898,9 +898,9 @@ describe("query", () => {
898
898
  expect({
899
899
  meta: meta,
900
900
  _unknown: _unknown,
901
- a: a.map((item) => item.values()),
902
- b: b.map((item) => item.values()),
903
- union: union.map((item) => item.values()),
901
+ a: a.map(item => item.values()),
902
+ b: b.map(item => item.values()),
903
+ union: union.map(item => item.values())
904
904
  }).toMatchInlineSnapshot(`
905
905
  Object {
906
906
  "_unknown": Array [
@@ -963,7 +963,7 @@ describe("query", () => {
963
963
  {
964
964
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
965
965
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
966
- Limit: 30,
966
+ Limit: 30
967
967
  },
968
968
  { a: A, b: B }
969
969
  )
@@ -978,7 +978,7 @@ describe("query", () => {
978
978
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
979
979
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
980
980
  Limit: 30,
981
- ExclusiveStartKey: firstPage.meta.lastEvaluatedKey,
981
+ ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
982
982
  },
983
983
  { a: A, b: B }
984
984
  )
@@ -1006,7 +1006,7 @@ describe("query", () => {
1006
1006
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
1007
1007
  FetchAllPages: true,
1008
1008
  // You wouldn't set a limit in a real-world use case here to optimize fetching all items.
1009
- Limit: 10,
1009
+ Limit: 10
1010
1010
  },
1011
1011
  { a: A, b: B }
1012
1012
  )
@@ -1019,7 +1019,7 @@ describe("query", () => {
1019
1019
  })
1020
1020
 
1021
1021
  describe("bulk", () => {
1022
- describe("< 25 elements (true transaction)", () => {
1022
+ describe("< 100 elements (true transaction)", () => {
1023
1023
  test("it succeeds", async () => {
1024
1024
  const softDeleteTarget = new B({ pk: "PK#3", sk: "SK#3", b: "bar" })
1025
1025
 
@@ -1043,16 +1043,16 @@ describe("bulk", () => {
1043
1043
  new B({
1044
1044
  pk: "PK#UPDATE",
1045
1045
  sk: "SK#UPDATE",
1046
- b: "bar",
1046
+ b: "bar"
1047
1047
  }).operation("update", { b: "baz" }),
1048
1048
  new B({
1049
1049
  pk: "PK#COND",
1050
1050
  sk: "SK#COND",
1051
- b: "cond",
1051
+ b: "cond"
1052
1052
  }).operation("condition", {
1053
1053
  ConditionExpression: "b = :cond",
1054
- ExpressionAttributeValues: { ":cond": "cond" },
1055
- }),
1054
+ ExpressionAttributeValues: { ":cond": "cond" }
1055
+ })
1056
1056
  ])
1057
1057
 
1058
1058
  expect(await sandbox.diff(before)).toMatchInlineSnapshot(`
@@ -1172,7 +1172,7 @@ describe("bulk", () => {
1172
1172
  "updateRaw",
1173
1173
  { PK: "PK#nicetry", SK: "SK#nope" },
1174
1174
  { a: 234 }
1175
- ),
1175
+ )
1176
1176
  ])
1177
1177
  ).rejects.toBeInstanceOf(BulkWriteTransactionError)
1178
1178
 
@@ -1180,7 +1180,7 @@ describe("bulk", () => {
1180
1180
  })
1181
1181
  })
1182
1182
 
1183
- describe("> 25 items (pseudo transaction)", () => {
1183
+ describe("> 100 items (pseudo transaction)", () => {
1184
1184
  test("it succeeds", async () => {
1185
1185
  await sandbox.seed(
1186
1186
  new A({ pk: "PK#1", sk: "SK#1", a: 1 }),
@@ -1200,11 +1200,11 @@ describe("bulk", () => {
1200
1200
  new B({
1201
1201
  pk: "PK#UPDATE",
1202
1202
  sk: "SK#UPDATE",
1203
- b: "bar",
1203
+ b: "bar"
1204
1204
  }).operation("update", { b: "baz" }),
1205
- ...Array.from({ length: 25 }).map((_, i) =>
1205
+ ...Array.from({ length: 100 }).map((_, i) =>
1206
1206
  new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put")
1207
- ),
1207
+ )
1208
1208
  ])
1209
1209
 
1210
1210
  //#region snapshot
@@ -1213,7 +1213,7 @@ describe("bulk", () => {
1213
1213
  - First value
1214
1214
  + Second value
1215
1215
 
1216
- @@ -2,28 +2,271 @@
1216
+ @@ -2,28 +2,946 @@
1217
1217
  "PK#1__SK#1": Object {
1218
1218
  "PK": "PK#1",
1219
1219
  "SK": "SK#1",
@@ -1268,7 +1268,10 @@ describe("bulk", () => {
1268
1268
  + "a": 13,
1269
1269
  + "pk": "PK#A13",
1270
1270
  + "sk": "SK#A13",
1271
- + },
1271
+ },
1272
+ - "PK#2__SK#2": Object {
1273
+ - "PK": "PK#2",
1274
+ - "SK": "SK#2",
1272
1275
  + "PK#A14__SK#A14": Object {
1273
1276
  + "PK": "PK#A14",
1274
1277
  + "SK": "SK#A14",
@@ -1277,10 +1280,7 @@ describe("bulk", () => {
1277
1280
  + "a": 14,
1278
1281
  + "pk": "PK#A14",
1279
1282
  + "sk": "SK#A14",
1280
- },
1281
- - "PK#2__SK#2": Object {
1282
- - "PK": "PK#2",
1283
- - "SK": "SK#2",
1283
+ + },
1284
1284
  + "PK#A15__SK#A15": Object {
1285
1285
  + "PK": "PK#A15",
1286
1286
  + "SK": "SK#A15",
@@ -1380,6 +1380,51 @@ describe("bulk", () => {
1380
1380
  + "pk": "PK#A24",
1381
1381
  + "sk": "SK#A24",
1382
1382
  + },
1383
+ + "PK#A25__SK#A25": Object {
1384
+ + "PK": "PK#A25",
1385
+ + "SK": "SK#A25",
1386
+ + "_docVersion": 0,
1387
+ + "_tag": "A",
1388
+ + "a": 25,
1389
+ + "pk": "PK#A25",
1390
+ + "sk": "SK#A25",
1391
+ + },
1392
+ + "PK#A26__SK#A26": Object {
1393
+ + "PK": "PK#A26",
1394
+ + "SK": "SK#A26",
1395
+ + "_docVersion": 0,
1396
+ + "_tag": "A",
1397
+ + "a": 26,
1398
+ + "pk": "PK#A26",
1399
+ + "sk": "SK#A26",
1400
+ + },
1401
+ + "PK#A27__SK#A27": Object {
1402
+ + "PK": "PK#A27",
1403
+ + "SK": "SK#A27",
1404
+ + "_docVersion": 0,
1405
+ + "_tag": "A",
1406
+ + "a": 27,
1407
+ + "pk": "PK#A27",
1408
+ + "sk": "SK#A27",
1409
+ + },
1410
+ + "PK#A28__SK#A28": Object {
1411
+ + "PK": "PK#A28",
1412
+ + "SK": "SK#A28",
1413
+ + "_docVersion": 0,
1414
+ + "_tag": "A",
1415
+ + "a": 28,
1416
+ + "pk": "PK#A28",
1417
+ + "sk": "SK#A28",
1418
+ + },
1419
+ + "PK#A29__SK#A29": Object {
1420
+ + "PK": "PK#A29",
1421
+ + "SK": "SK#A29",
1422
+ + "_docVersion": 0,
1423
+ + "_tag": "A",
1424
+ + "a": 29,
1425
+ + "pk": "PK#A29",
1426
+ + "sk": "SK#A29",
1427
+ + },
1383
1428
  + "PK#A2__SK#A2": Object {
1384
1429
  + "PK": "PK#A2",
1385
1430
  + "SK": "SK#A2",
@@ -1391,6 +1436,96 @@ describe("bulk", () => {
1391
1436
  + "pk": "PK#A2",
1392
1437
  + "sk": "SK#A2",
1393
1438
  + },
1439
+ + "PK#A30__SK#A30": Object {
1440
+ + "PK": "PK#A30",
1441
+ + "SK": "SK#A30",
1442
+ + "_docVersion": 0,
1443
+ + "_tag": "A",
1444
+ + "a": 30,
1445
+ + "pk": "PK#A30",
1446
+ + "sk": "SK#A30",
1447
+ + },
1448
+ + "PK#A31__SK#A31": Object {
1449
+ + "PK": "PK#A31",
1450
+ + "SK": "SK#A31",
1451
+ + "_docVersion": 0,
1452
+ + "_tag": "A",
1453
+ + "a": 31,
1454
+ + "pk": "PK#A31",
1455
+ + "sk": "SK#A31",
1456
+ + },
1457
+ + "PK#A32__SK#A32": Object {
1458
+ + "PK": "PK#A32",
1459
+ + "SK": "SK#A32",
1460
+ + "_docVersion": 0,
1461
+ + "_tag": "A",
1462
+ + "a": 32,
1463
+ + "pk": "PK#A32",
1464
+ + "sk": "SK#A32",
1465
+ + },
1466
+ + "PK#A33__SK#A33": Object {
1467
+ + "PK": "PK#A33",
1468
+ + "SK": "SK#A33",
1469
+ + "_docVersion": 0,
1470
+ + "_tag": "A",
1471
+ + "a": 33,
1472
+ + "pk": "PK#A33",
1473
+ + "sk": "SK#A33",
1474
+ + },
1475
+ + "PK#A34__SK#A34": Object {
1476
+ + "PK": "PK#A34",
1477
+ + "SK": "SK#A34",
1478
+ + "_docVersion": 0,
1479
+ + "_tag": "A",
1480
+ + "a": 34,
1481
+ + "pk": "PK#A34",
1482
+ + "sk": "SK#A34",
1483
+ + },
1484
+ + "PK#A35__SK#A35": Object {
1485
+ + "PK": "PK#A35",
1486
+ + "SK": "SK#A35",
1487
+ + "_docVersion": 0,
1488
+ + "_tag": "A",
1489
+ + "a": 35,
1490
+ + "pk": "PK#A35",
1491
+ + "sk": "SK#A35",
1492
+ + },
1493
+ + "PK#A36__SK#A36": Object {
1494
+ + "PK": "PK#A36",
1495
+ + "SK": "SK#A36",
1496
+ + "_docVersion": 0,
1497
+ + "_tag": "A",
1498
+ + "a": 36,
1499
+ + "pk": "PK#A36",
1500
+ + "sk": "SK#A36",
1501
+ + },
1502
+ + "PK#A37__SK#A37": Object {
1503
+ + "PK": "PK#A37",
1504
+ + "SK": "SK#A37",
1505
+ + "_docVersion": 0,
1506
+ + "_tag": "A",
1507
+ + "a": 37,
1508
+ + "pk": "PK#A37",
1509
+ + "sk": "SK#A37",
1510
+ + },
1511
+ + "PK#A38__SK#A38": Object {
1512
+ + "PK": "PK#A38",
1513
+ + "SK": "SK#A38",
1514
+ + "_docVersion": 0,
1515
+ + "_tag": "A",
1516
+ + "a": 38,
1517
+ + "pk": "PK#A38",
1518
+ + "sk": "SK#A38",
1519
+ + },
1520
+ + "PK#A39__SK#A39": Object {
1521
+ + "PK": "PK#A39",
1522
+ + "SK": "SK#A39",
1523
+ + "_docVersion": 0,
1524
+ + "_tag": "A",
1525
+ + "a": 39,
1526
+ + "pk": "PK#A39",
1527
+ + "sk": "SK#A39",
1528
+ + },
1394
1529
  + "PK#A3__SK#A3": Object {
1395
1530
  + "PK": "PK#A3",
1396
1531
  + "SK": "SK#A3",
@@ -1400,6 +1535,96 @@ describe("bulk", () => {
1400
1535
  + "pk": "PK#A3",
1401
1536
  + "sk": "SK#A3",
1402
1537
  + },
1538
+ + "PK#A40__SK#A40": Object {
1539
+ + "PK": "PK#A40",
1540
+ + "SK": "SK#A40",
1541
+ + "_docVersion": 0,
1542
+ + "_tag": "A",
1543
+ + "a": 40,
1544
+ + "pk": "PK#A40",
1545
+ + "sk": "SK#A40",
1546
+ + },
1547
+ + "PK#A41__SK#A41": Object {
1548
+ + "PK": "PK#A41",
1549
+ + "SK": "SK#A41",
1550
+ + "_docVersion": 0,
1551
+ + "_tag": "A",
1552
+ + "a": 41,
1553
+ + "pk": "PK#A41",
1554
+ + "sk": "SK#A41",
1555
+ + },
1556
+ + "PK#A42__SK#A42": Object {
1557
+ + "PK": "PK#A42",
1558
+ + "SK": "SK#A42",
1559
+ + "_docVersion": 0,
1560
+ + "_tag": "A",
1561
+ + "a": 42,
1562
+ + "pk": "PK#A42",
1563
+ + "sk": "SK#A42",
1564
+ + },
1565
+ + "PK#A43__SK#A43": Object {
1566
+ + "PK": "PK#A43",
1567
+ + "SK": "SK#A43",
1568
+ + "_docVersion": 0,
1569
+ + "_tag": "A",
1570
+ + "a": 43,
1571
+ + "pk": "PK#A43",
1572
+ + "sk": "SK#A43",
1573
+ + },
1574
+ + "PK#A44__SK#A44": Object {
1575
+ + "PK": "PK#A44",
1576
+ + "SK": "SK#A44",
1577
+ + "_docVersion": 0,
1578
+ + "_tag": "A",
1579
+ + "a": 44,
1580
+ + "pk": "PK#A44",
1581
+ + "sk": "SK#A44",
1582
+ + },
1583
+ + "PK#A45__SK#A45": Object {
1584
+ + "PK": "PK#A45",
1585
+ + "SK": "SK#A45",
1586
+ + "_docVersion": 0,
1587
+ + "_tag": "A",
1588
+ + "a": 45,
1589
+ + "pk": "PK#A45",
1590
+ + "sk": "SK#A45",
1591
+ + },
1592
+ + "PK#A46__SK#A46": Object {
1593
+ + "PK": "PK#A46",
1594
+ + "SK": "SK#A46",
1595
+ + "_docVersion": 0,
1596
+ + "_tag": "A",
1597
+ + "a": 46,
1598
+ + "pk": "PK#A46",
1599
+ + "sk": "SK#A46",
1600
+ + },
1601
+ + "PK#A47__SK#A47": Object {
1602
+ + "PK": "PK#A47",
1603
+ + "SK": "SK#A47",
1604
+ + "_docVersion": 0,
1605
+ + "_tag": "A",
1606
+ + "a": 47,
1607
+ + "pk": "PK#A47",
1608
+ + "sk": "SK#A47",
1609
+ + },
1610
+ + "PK#A48__SK#A48": Object {
1611
+ + "PK": "PK#A48",
1612
+ + "SK": "SK#A48",
1613
+ + "_docVersion": 0,
1614
+ + "_tag": "A",
1615
+ + "a": 48,
1616
+ + "pk": "PK#A48",
1617
+ + "sk": "SK#A48",
1618
+ + },
1619
+ + "PK#A49__SK#A49": Object {
1620
+ + "PK": "PK#A49",
1621
+ + "SK": "SK#A49",
1622
+ + "_docVersion": 0,
1623
+ + "_tag": "A",
1624
+ + "a": 49,
1625
+ + "pk": "PK#A49",
1626
+ + "sk": "SK#A49",
1627
+ + },
1403
1628
  + "PK#A4__SK#A4": Object {
1404
1629
  + "PK": "PK#A4",
1405
1630
  + "SK": "SK#A4",
@@ -1409,6 +1634,99 @@ describe("bulk", () => {
1409
1634
  + "pk": "PK#A4",
1410
1635
  + "sk": "SK#A4",
1411
1636
  + },
1637
+ + "PK#A50__SK#A50": Object {
1638
+ + "PK": "PK#A50",
1639
+ + "SK": "SK#A50",
1640
+ + "_docVersion": 0,
1641
+ + "_tag": "A",
1642
+ + "a": 50,
1643
+ + "pk": "PK#A50",
1644
+ + "sk": "SK#A50",
1645
+ + },
1646
+ + "PK#A51__SK#A51": Object {
1647
+ + "PK": "PK#A51",
1648
+ + "SK": "SK#A51",
1649
+ + "_docVersion": 0,
1650
+ + "_tag": "A",
1651
+ + "a": 51,
1652
+ + "pk": "PK#A51",
1653
+ + "sk": "SK#A51",
1654
+ + },
1655
+ + "PK#A52__SK#A52": Object {
1656
+ + "PK": "PK#A52",
1657
+ + "SK": "SK#A52",
1658
+ + "_docVersion": 0,
1659
+ + "_tag": "A",
1660
+ + "a": 52,
1661
+ + "pk": "PK#A52",
1662
+ + "sk": "SK#A52",
1663
+ },
1664
+ - "PK#3__SK#3": Object {
1665
+ - "PK": "PK#3",
1666
+ - "SK": "SK#3",
1667
+ + "PK#A53__SK#A53": Object {
1668
+ + "PK": "PK#A53",
1669
+ + "SK": "SK#A53",
1670
+ + "_docVersion": 0,
1671
+ + "_tag": "A",
1672
+ + "a": 53,
1673
+ + "pk": "PK#A53",
1674
+ + "sk": "SK#A53",
1675
+ + },
1676
+ + "PK#A54__SK#A54": Object {
1677
+ + "PK": "PK#A54",
1678
+ + "SK": "SK#A54",
1679
+ + "_docVersion": 0,
1680
+ + "_tag": "A",
1681
+ + "a": 54,
1682
+ + "pk": "PK#A54",
1683
+ + "sk": "SK#A54",
1684
+ + },
1685
+ + "PK#A55__SK#A55": Object {
1686
+ + "PK": "PK#A55",
1687
+ + "SK": "SK#A55",
1688
+ + "_docVersion": 0,
1689
+ + "_tag": "A",
1690
+ + "a": 55,
1691
+ + "pk": "PK#A55",
1692
+ + "sk": "SK#A55",
1693
+ + },
1694
+ + "PK#A56__SK#A56": Object {
1695
+ + "PK": "PK#A56",
1696
+ + "SK": "SK#A56",
1697
+ + "_docVersion": 0,
1698
+ + "_tag": "A",
1699
+ + "a": 56,
1700
+ + "pk": "PK#A56",
1701
+ + "sk": "SK#A56",
1702
+ + },
1703
+ + "PK#A57__SK#A57": Object {
1704
+ + "PK": "PK#A57",
1705
+ + "SK": "SK#A57",
1706
+ + "_docVersion": 0,
1707
+ + "_tag": "A",
1708
+ + "a": 57,
1709
+ + "pk": "PK#A57",
1710
+ + "sk": "SK#A57",
1711
+ + },
1712
+ + "PK#A58__SK#A58": Object {
1713
+ + "PK": "PK#A58",
1714
+ + "SK": "SK#A58",
1715
+ + "_docVersion": 0,
1716
+ + "_tag": "A",
1717
+ + "a": 58,
1718
+ + "pk": "PK#A58",
1719
+ + "sk": "SK#A58",
1720
+ + },
1721
+ + "PK#A59__SK#A59": Object {
1722
+ + "PK": "PK#A59",
1723
+ + "SK": "SK#A59",
1724
+ + "_docVersion": 0,
1725
+ + "_tag": "A",
1726
+ + "a": 59,
1727
+ + "pk": "PK#A59",
1728
+ + "sk": "SK#A59",
1729
+ + },
1412
1730
  + "PK#A5__SK#A5": Object {
1413
1731
  + "PK": "PK#A5",
1414
1732
  + "SK": "SK#A5",
@@ -1418,6 +1736,96 @@ describe("bulk", () => {
1418
1736
  + "pk": "PK#A5",
1419
1737
  + "sk": "SK#A5",
1420
1738
  + },
1739
+ + "PK#A60__SK#A60": Object {
1740
+ + "PK": "PK#A60",
1741
+ + "SK": "SK#A60",
1742
+ + "_docVersion": 0,
1743
+ + "_tag": "A",
1744
+ + "a": 60,
1745
+ + "pk": "PK#A60",
1746
+ + "sk": "SK#A60",
1747
+ + },
1748
+ + "PK#A61__SK#A61": Object {
1749
+ + "PK": "PK#A61",
1750
+ + "SK": "SK#A61",
1751
+ + "_docVersion": 0,
1752
+ + "_tag": "A",
1753
+ + "a": 61,
1754
+ + "pk": "PK#A61",
1755
+ + "sk": "SK#A61",
1756
+ + },
1757
+ + "PK#A62__SK#A62": Object {
1758
+ + "PK": "PK#A62",
1759
+ + "SK": "SK#A62",
1760
+ + "_docVersion": 0,
1761
+ + "_tag": "A",
1762
+ + "a": 62,
1763
+ + "pk": "PK#A62",
1764
+ + "sk": "SK#A62",
1765
+ + },
1766
+ + "PK#A63__SK#A63": Object {
1767
+ + "PK": "PK#A63",
1768
+ + "SK": "SK#A63",
1769
+ + "_docVersion": 0,
1770
+ + "_tag": "A",
1771
+ + "a": 63,
1772
+ + "pk": "PK#A63",
1773
+ + "sk": "SK#A63",
1774
+ + },
1775
+ + "PK#A64__SK#A64": Object {
1776
+ + "PK": "PK#A64",
1777
+ + "SK": "SK#A64",
1778
+ + "_docVersion": 0,
1779
+ + "_tag": "A",
1780
+ + "a": 64,
1781
+ + "pk": "PK#A64",
1782
+ + "sk": "SK#A64",
1783
+ + },
1784
+ + "PK#A65__SK#A65": Object {
1785
+ + "PK": "PK#A65",
1786
+ + "SK": "SK#A65",
1787
+ + "_docVersion": 0,
1788
+ + "_tag": "A",
1789
+ + "a": 65,
1790
+ + "pk": "PK#A65",
1791
+ + "sk": "SK#A65",
1792
+ + },
1793
+ + "PK#A66__SK#A66": Object {
1794
+ + "PK": "PK#A66",
1795
+ + "SK": "SK#A66",
1796
+ + "_docVersion": 0,
1797
+ + "_tag": "A",
1798
+ + "a": 66,
1799
+ + "pk": "PK#A66",
1800
+ + "sk": "SK#A66",
1801
+ + },
1802
+ + "PK#A67__SK#A67": Object {
1803
+ + "PK": "PK#A67",
1804
+ + "SK": "SK#A67",
1805
+ + "_docVersion": 0,
1806
+ + "_tag": "A",
1807
+ + "a": 67,
1808
+ + "pk": "PK#A67",
1809
+ + "sk": "SK#A67",
1810
+ + },
1811
+ + "PK#A68__SK#A68": Object {
1812
+ + "PK": "PK#A68",
1813
+ + "SK": "SK#A68",
1814
+ + "_docVersion": 0,
1815
+ + "_tag": "A",
1816
+ + "a": 68,
1817
+ + "pk": "PK#A68",
1818
+ + "sk": "SK#A68",
1819
+ + },
1820
+ + "PK#A69__SK#A69": Object {
1821
+ + "PK": "PK#A69",
1822
+ + "SK": "SK#A69",
1823
+ + "_docVersion": 0,
1824
+ + "_tag": "A",
1825
+ + "a": 69,
1826
+ + "pk": "PK#A69",
1827
+ + "sk": "SK#A69",
1828
+ + },
1421
1829
  + "PK#A6__SK#A6": Object {
1422
1830
  + "PK": "PK#A6",
1423
1831
  + "SK": "SK#A6",
@@ -1427,6 +1835,96 @@ describe("bulk", () => {
1427
1835
  + "pk": "PK#A6",
1428
1836
  + "sk": "SK#A6",
1429
1837
  + },
1838
+ + "PK#A70__SK#A70": Object {
1839
+ + "PK": "PK#A70",
1840
+ + "SK": "SK#A70",
1841
+ + "_docVersion": 0,
1842
+ + "_tag": "A",
1843
+ + "a": 70,
1844
+ + "pk": "PK#A70",
1845
+ + "sk": "SK#A70",
1846
+ + },
1847
+ + "PK#A71__SK#A71": Object {
1848
+ + "PK": "PK#A71",
1849
+ + "SK": "SK#A71",
1850
+ + "_docVersion": 0,
1851
+ + "_tag": "A",
1852
+ + "a": 71,
1853
+ + "pk": "PK#A71",
1854
+ + "sk": "SK#A71",
1855
+ + },
1856
+ + "PK#A72__SK#A72": Object {
1857
+ + "PK": "PK#A72",
1858
+ + "SK": "SK#A72",
1859
+ + "_docVersion": 0,
1860
+ + "_tag": "A",
1861
+ + "a": 72,
1862
+ + "pk": "PK#A72",
1863
+ + "sk": "SK#A72",
1864
+ + },
1865
+ + "PK#A73__SK#A73": Object {
1866
+ + "PK": "PK#A73",
1867
+ + "SK": "SK#A73",
1868
+ + "_docVersion": 0,
1869
+ + "_tag": "A",
1870
+ + "a": 73,
1871
+ + "pk": "PK#A73",
1872
+ + "sk": "SK#A73",
1873
+ + },
1874
+ + "PK#A74__SK#A74": Object {
1875
+ + "PK": "PK#A74",
1876
+ + "SK": "SK#A74",
1877
+ + "_docVersion": 0,
1878
+ + "_tag": "A",
1879
+ + "a": 74,
1880
+ + "pk": "PK#A74",
1881
+ + "sk": "SK#A74",
1882
+ + },
1883
+ + "PK#A75__SK#A75": Object {
1884
+ + "PK": "PK#A75",
1885
+ + "SK": "SK#A75",
1886
+ + "_docVersion": 0,
1887
+ + "_tag": "A",
1888
+ + "a": 75,
1889
+ + "pk": "PK#A75",
1890
+ + "sk": "SK#A75",
1891
+ + },
1892
+ + "PK#A76__SK#A76": Object {
1893
+ + "PK": "PK#A76",
1894
+ + "SK": "SK#A76",
1895
+ + "_docVersion": 0,
1896
+ + "_tag": "A",
1897
+ + "a": 76,
1898
+ + "pk": "PK#A76",
1899
+ + "sk": "SK#A76",
1900
+ + },
1901
+ + "PK#A77__SK#A77": Object {
1902
+ + "PK": "PK#A77",
1903
+ + "SK": "SK#A77",
1904
+ + "_docVersion": 0,
1905
+ + "_tag": "A",
1906
+ + "a": 77,
1907
+ + "pk": "PK#A77",
1908
+ + "sk": "SK#A77",
1909
+ + },
1910
+ + "PK#A78__SK#A78": Object {
1911
+ + "PK": "PK#A78",
1912
+ + "SK": "SK#A78",
1913
+ + "_docVersion": 0,
1914
+ + "_tag": "A",
1915
+ + "a": 78,
1916
+ + "pk": "PK#A78",
1917
+ + "sk": "SK#A78",
1918
+ + },
1919
+ + "PK#A79__SK#A79": Object {
1920
+ + "PK": "PK#A79",
1921
+ + "SK": "SK#A79",
1922
+ + "_docVersion": 0,
1923
+ + "_tag": "A",
1924
+ + "a": 79,
1925
+ + "pk": "PK#A79",
1926
+ + "sk": "SK#A79",
1927
+ + },
1430
1928
  + "PK#A7__SK#A7": Object {
1431
1929
  + "PK": "PK#A7",
1432
1930
  + "SK": "SK#A7",
@@ -1436,6 +1934,96 @@ describe("bulk", () => {
1436
1934
  + "pk": "PK#A7",
1437
1935
  + "sk": "SK#A7",
1438
1936
  + },
1937
+ + "PK#A80__SK#A80": Object {
1938
+ + "PK": "PK#A80",
1939
+ + "SK": "SK#A80",
1940
+ + "_docVersion": 0,
1941
+ + "_tag": "A",
1942
+ + "a": 80,
1943
+ + "pk": "PK#A80",
1944
+ + "sk": "SK#A80",
1945
+ + },
1946
+ + "PK#A81__SK#A81": Object {
1947
+ + "PK": "PK#A81",
1948
+ + "SK": "SK#A81",
1949
+ + "_docVersion": 0,
1950
+ + "_tag": "A",
1951
+ + "a": 81,
1952
+ + "pk": "PK#A81",
1953
+ + "sk": "SK#A81",
1954
+ + },
1955
+ + "PK#A82__SK#A82": Object {
1956
+ + "PK": "PK#A82",
1957
+ + "SK": "SK#A82",
1958
+ + "_docVersion": 0,
1959
+ + "_tag": "A",
1960
+ + "a": 82,
1961
+ + "pk": "PK#A82",
1962
+ + "sk": "SK#A82",
1963
+ + },
1964
+ + "PK#A83__SK#A83": Object {
1965
+ + "PK": "PK#A83",
1966
+ + "SK": "SK#A83",
1967
+ + "_docVersion": 0,
1968
+ + "_tag": "A",
1969
+ + "a": 83,
1970
+ + "pk": "PK#A83",
1971
+ + "sk": "SK#A83",
1972
+ + },
1973
+ + "PK#A84__SK#A84": Object {
1974
+ + "PK": "PK#A84",
1975
+ + "SK": "SK#A84",
1976
+ + "_docVersion": 0,
1977
+ + "_tag": "A",
1978
+ + "a": 84,
1979
+ + "pk": "PK#A84",
1980
+ + "sk": "SK#A84",
1981
+ + },
1982
+ + "PK#A85__SK#A85": Object {
1983
+ + "PK": "PK#A85",
1984
+ + "SK": "SK#A85",
1985
+ + "_docVersion": 0,
1986
+ + "_tag": "A",
1987
+ + "a": 85,
1988
+ + "pk": "PK#A85",
1989
+ + "sk": "SK#A85",
1990
+ + },
1991
+ + "PK#A86__SK#A86": Object {
1992
+ + "PK": "PK#A86",
1993
+ + "SK": "SK#A86",
1994
+ + "_docVersion": 0,
1995
+ + "_tag": "A",
1996
+ + "a": 86,
1997
+ + "pk": "PK#A86",
1998
+ + "sk": "SK#A86",
1999
+ + },
2000
+ + "PK#A87__SK#A87": Object {
2001
+ + "PK": "PK#A87",
2002
+ + "SK": "SK#A87",
2003
+ + "_docVersion": 0,
2004
+ + "_tag": "A",
2005
+ + "a": 87,
2006
+ + "pk": "PK#A87",
2007
+ + "sk": "SK#A87",
2008
+ + },
2009
+ + "PK#A88__SK#A88": Object {
2010
+ + "PK": "PK#A88",
2011
+ + "SK": "SK#A88",
2012
+ + "_docVersion": 0,
2013
+ + "_tag": "A",
2014
+ + "a": 88,
2015
+ + "pk": "PK#A88",
2016
+ + "sk": "SK#A88",
2017
+ + },
2018
+ + "PK#A89__SK#A89": Object {
2019
+ + "PK": "PK#A89",
2020
+ + "SK": "SK#A89",
2021
+ + "_docVersion": 0,
2022
+ + "_tag": "A",
2023
+ + "a": 89,
2024
+ + "pk": "PK#A89",
2025
+ + "sk": "SK#A89",
2026
+ + },
1439
2027
  + "PK#A8__SK#A8": Object {
1440
2028
  + "PK": "PK#A8",
1441
2029
  + "SK": "SK#A8",
@@ -1445,23 +2033,113 @@ describe("bulk", () => {
1445
2033
  + "pk": "PK#A8",
1446
2034
  + "sk": "SK#A8",
1447
2035
  + },
2036
+ + "PK#A90__SK#A90": Object {
2037
+ + "PK": "PK#A90",
2038
+ + "SK": "SK#A90",
2039
+ + "_docVersion": 0,
2040
+ + "_tag": "A",
2041
+ + "a": 90,
2042
+ + "pk": "PK#A90",
2043
+ + "sk": "SK#A90",
2044
+ + },
2045
+ + "PK#A91__SK#A91": Object {
2046
+ + "PK": "PK#A91",
2047
+ + "SK": "SK#A91",
2048
+ + "_docVersion": 0,
2049
+ + "_tag": "A",
2050
+ + "a": 91,
2051
+ + "pk": "PK#A91",
2052
+ + "sk": "SK#A91",
2053
+ + },
2054
+ + "PK#A92__SK#A92": Object {
2055
+ + "PK": "PK#A92",
2056
+ + "SK": "SK#A92",
2057
+ + "_docVersion": 0,
2058
+ + "_tag": "A",
2059
+ + "a": 92,
2060
+ + "pk": "PK#A92",
2061
+ + "sk": "SK#A92",
2062
+ + },
2063
+ + "PK#A93__SK#A93": Object {
2064
+ + "PK": "PK#A93",
2065
+ + "SK": "SK#A93",
2066
+ + "_docVersion": 0,
2067
+ + "_tag": "A",
2068
+ + "a": 93,
2069
+ + "pk": "PK#A93",
2070
+ + "sk": "SK#A93",
2071
+ + },
2072
+ + "PK#A94__SK#A94": Object {
2073
+ + "PK": "PK#A94",
2074
+ + "SK": "SK#A94",
2075
+ + "_docVersion": 0,
2076
+ + "_tag": "A",
2077
+ + "a": 94,
2078
+ + "pk": "PK#A94",
2079
+ + "sk": "SK#A94",
2080
+ + },
2081
+ + "PK#A95__SK#A95": Object {
2082
+ + "PK": "PK#A95",
2083
+ + "SK": "SK#A95",
2084
+ + "_docVersion": 0,
2085
+ + "_tag": "A",
2086
+ + "a": 95,
2087
+ + "pk": "PK#A95",
2088
+ + "sk": "SK#A95",
2089
+ + },
2090
+ + "PK#A96__SK#A96": Object {
2091
+ + "PK": "PK#A96",
2092
+ + "SK": "SK#A96",
2093
+ + "_docVersion": 0,
2094
+ + "_tag": "A",
2095
+ + "a": 96,
2096
+ + "pk": "PK#A96",
2097
+ + "sk": "SK#A96",
2098
+ + },
2099
+ + "PK#A97__SK#A97": Object {
2100
+ + "PK": "PK#A97",
2101
+ + "SK": "SK#A97",
2102
+ + "_docVersion": 0,
2103
+ + "_tag": "A",
2104
+ + "a": 97,
2105
+ + "pk": "PK#A97",
2106
+ + "sk": "SK#A97",
2107
+ + },
2108
+ + "PK#A98__SK#A98": Object {
2109
+ + "PK": "PK#A98",
2110
+ + "SK": "SK#A98",
2111
+ + "_docVersion": 0,
2112
+ + "_tag": "A",
2113
+ + "a": 98,
2114
+ + "pk": "PK#A98",
2115
+ + "sk": "SK#A98",
2116
+ + },
2117
+ + "PK#A99__SK#A99": Object {
2118
+ + "PK": "PK#A99",
2119
+ + "SK": "SK#A99",
2120
+ + "_docVersion": 0,
2121
+ + "_tag": "A",
2122
+ + "a": 99,
2123
+ + "pk": "PK#A99",
2124
+ + "sk": "SK#A99",
2125
+ + },
1448
2126
  + "PK#A9__SK#A9": Object {
1449
2127
  + "PK": "PK#A9",
1450
2128
  + "SK": "SK#A9",
1451
- + "_docVersion": 0,
2129
+ "_docVersion": 0,
1452
2130
  + "_tag": "A",
1453
2131
  + "a": 9,
1454
2132
  + "pk": "PK#A9",
1455
2133
  + "sk": "SK#A9",
1456
- },
1457
- - "PK#3__SK#3": Object {
1458
- - "PK": "PK#3",
1459
- - "SK": "SK#3",
2134
+ + },
1460
2135
  + "PK#UPDATE__SK#UPDATE": Object {
1461
2136
  + "PK": "PK#UPDATE",
1462
2137
  + "SK": "SK#UPDATE",
1463
2138
  + "_docVersion": 1,
1464
- + "_tag": "B",
2139
+ "_tag": "B",
2140
+ - "b": "bar",
2141
+ - "pk": "PK#3",
2142
+ - "sk": "SK#3",
1465
2143
  + "b": "baz",
1466
2144
  + "pk": "PK#UPDATE",
1467
2145
  + "sk": "SK#UPDATE",
@@ -1478,7 +2156,7 @@ describe("bulk", () => {
1478
2156
  + "PK5__PK5": Object {
1479
2157
  + "PK": "PK5",
1480
2158
  + "SK": "PK5",
1481
- "_docVersion": 0,
2159
+ + "_docVersion": 0,
1482
2160
  + "_tag": "A",
1483
2161
  + "a": 5,
1484
2162
  + "pk": "PK5",
@@ -1488,10 +2166,7 @@ describe("bulk", () => {
1488
2166
  + "PK": "PK6",
1489
2167
  + "SK": "SK6",
1490
2168
  + "_docVersion": 0,
1491
- "_tag": "B",
1492
- - "b": "bar",
1493
- - "pk": "PK#3",
1494
- - "sk": "SK#3",
2169
+ + "_tag": "B",
1495
2170
  + "b": "baz",
1496
2171
  + "pk": "PK6",
1497
2172
  + "sk": "SK6",
@@ -1507,7 +2182,7 @@ describe("bulk", () => {
1507
2182
  await expect(
1508
2183
  client.bulk([
1509
2184
  // Succeeds
1510
- ...Array.from({ length: 40 }).map((_, i) =>
2185
+ ...Array.from({ length: 110 }).map((_, i) =>
1511
2186
  new A({ pk: `PK#${i}`, sk: `SK#${i}`, a: i }).operation("put")
1512
2187
  ),
1513
2188
 
@@ -1516,7 +2191,7 @@ describe("bulk", () => {
1516
2191
  "condition",
1517
2192
  { PK: "nicetry", SK: "nope" },
1518
2193
  { ConditionExpression: "attribute_exists(PK)" }
1519
- ),
2194
+ )
1520
2195
  ])
1521
2196
  ).rejects.toBeInstanceOf(BulkWriteTransactionError)
1522
2197
 
@@ -1550,7 +2225,7 @@ describe("batchGet", () => {
1550
2225
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1551
2226
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
1552
2227
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
1553
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
2228
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
1554
2229
  })
1555
2230
  ).rejects.toBeInstanceOf(ItemNotFoundError)
1556
2231
  })
@@ -1567,7 +2242,7 @@ describe("batchGet", () => {
1567
2242
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1568
2243
  duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1569
2244
  error: A.operation("get", { PK: "PK#error", SK: "SK#error" }),
1570
- error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" }),
2245
+ error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
1571
2246
  },
1572
2247
  { individualErrors: true }
1573
2248
  )
@@ -1591,7 +2266,7 @@ describe("batchGet", () => {
1591
2266
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
1592
2267
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
1593
2268
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
1594
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
2269
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
1595
2270
  })
1596
2271
 
1597
2272
  expect(
@@ -1654,7 +2329,7 @@ describe("load", () => {
1654
2329
  const recovered = await client.load(
1655
2330
  A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1656
2331
  {
1657
- recover: true,
2332
+ recover: true
1658
2333
  }
1659
2334
  )
1660
2335
 
@@ -1665,7 +2340,7 @@ describe("load", () => {
1665
2340
  test("it throws if no item or soft deleted item exists", async () => {
1666
2341
  await expect(
1667
2342
  client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
1668
- recover: true,
2343
+ recover: true
1669
2344
  })
1670
2345
  ).rejects.toBeInstanceOf(ItemNotFoundError)
1671
2346
  })
@@ -1674,7 +2349,7 @@ describe("load", () => {
1674
2349
  await expect(
1675
2350
  client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
1676
2351
  recover: true,
1677
- null: true,
2352
+ null: true
1678
2353
  })
1679
2354
  ).resolves.toBeNull()
1680
2355
  })
@@ -1769,8 +2444,8 @@ describe("load", () => {
1769
2444
  )
1770
2445
 
1771
2446
  expect(results.length).toBe(234)
1772
- expect(results.filter((item) => item instanceof C).length).toBe(123)
1773
- expect(results.filter((item) => item instanceof D).length).toBe(111)
2447
+ expect(results.filter(item => item instanceof C).length).toBe(123)
2448
+ expect(results.filter(item => item instanceof D).length).toBe(111)
1774
2449
  expect(spy).toHaveBeenCalledTimes(3)
1775
2450
 
1776
2451
  spy.mockReset()
@@ -1845,8 +2520,8 @@ describe("loadMany", () => {
1845
2520
  )
1846
2521
 
1847
2522
  expect(results.length).toBe(234)
1848
- expect(results.filter((item) => item instanceof C).length).toBe(123)
1849
- expect(results.filter((item) => item instanceof D).length).toBe(111)
2523
+ expect(results.filter(item => item instanceof C).length).toBe(123)
2524
+ expect(results.filter(item => item instanceof D).length).toBe(111)
1850
2525
  expect(spy).toHaveBeenCalledTimes(3)
1851
2526
 
1852
2527
  spy.mockReset()
@@ -1871,7 +2546,7 @@ describe("paginate", () => {
1871
2546
  {},
1872
2547
  {
1873
2548
  KeyConditionExpression: "PK = :pk",
1874
- ExpressionAttributeValues: { ":pk": "PK" },
2549
+ ExpressionAttributeValues: { ":pk": "PK" }
1875
2550
  }
1876
2551
  )
1877
2552
  expect(page1.pageInfo).toMatchInlineSnapshot(`
@@ -1891,7 +2566,7 @@ describe("paginate", () => {
1891
2566
  { after: page1.pageInfo.endCursor },
1892
2567
  {
1893
2568
  KeyConditionExpression: "PK = :pk",
1894
- ExpressionAttributeValues: { ":pk": "PK" },
2569
+ ExpressionAttributeValues: { ":pk": "PK" }
1895
2570
  }
1896
2571
  )
1897
2572
  expect(page2.pageInfo).toMatchInlineSnapshot(`
@@ -1911,7 +2586,7 @@ describe("paginate", () => {
1911
2586
  { after: page2.pageInfo.endCursor },
1912
2587
  {
1913
2588
  KeyConditionExpression: "PK = :pk",
1914
- ExpressionAttributeValues: { ":pk": "PK" },
2589
+ ExpressionAttributeValues: { ":pk": "PK" }
1915
2590
  }
1916
2591
  )
1917
2592
  expect(page3.pageInfo).toMatchInlineSnapshot(`
@@ -1932,7 +2607,7 @@ describe("paginate", () => {
1932
2607
  { before: page3.pageInfo.startCursor },
1933
2608
  {
1934
2609
  KeyConditionExpression: "PK = :pk",
1935
- ExpressionAttributeValues: { ":pk": "PK" },
2610
+ ExpressionAttributeValues: { ":pk": "PK" }
1936
2611
  }
1937
2612
  )
1938
2613
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
@@ -1952,7 +2627,7 @@ describe("paginate", () => {
1952
2627
  { before: backwardsPage2.pageInfo.startCursor },
1953
2628
  {
1954
2629
  KeyConditionExpression: "PK = :pk",
1955
- ExpressionAttributeValues: { ":pk": "PK" },
2630
+ ExpressionAttributeValues: { ":pk": "PK" }
1956
2631
  }
1957
2632
  )
1958
2633
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
@@ -1983,7 +2658,7 @@ describe("paginate", () => {
1983
2658
  {},
1984
2659
  {
1985
2660
  KeyConditionExpression: "PK = :pk",
1986
- ExpressionAttributeValues: { ":pk": "PK" },
2661
+ ExpressionAttributeValues: { ":pk": "PK" }
1987
2662
  }
1988
2663
  )
1989
2664
  expect(page1.pageInfo).toMatchInlineSnapshot(`
@@ -2003,7 +2678,7 @@ describe("paginate", () => {
2003
2678
  { after: page1.pageInfo.endCursor },
2004
2679
  {
2005
2680
  KeyConditionExpression: "PK = :pk",
2006
- ExpressionAttributeValues: { ":pk": "PK" },
2681
+ ExpressionAttributeValues: { ":pk": "PK" }
2007
2682
  }
2008
2683
  )
2009
2684
  expect(page2.pageInfo).toMatchInlineSnapshot(`
@@ -2023,7 +2698,7 @@ describe("paginate", () => {
2023
2698
  { after: page2.pageInfo.endCursor },
2024
2699
  {
2025
2700
  KeyConditionExpression: "PK = :pk",
2026
- ExpressionAttributeValues: { ":pk": "PK" },
2701
+ ExpressionAttributeValues: { ":pk": "PK" }
2027
2702
  }
2028
2703
  )
2029
2704
  expect(page3.pageInfo).toMatchInlineSnapshot(`
@@ -2044,7 +2719,7 @@ describe("paginate", () => {
2044
2719
  { before: page3.pageInfo.startCursor },
2045
2720
  {
2046
2721
  KeyConditionExpression: "PK = :pk",
2047
- ExpressionAttributeValues: { ":pk": "PK" },
2722
+ ExpressionAttributeValues: { ":pk": "PK" }
2048
2723
  }
2049
2724
  )
2050
2725
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
@@ -2064,7 +2739,7 @@ describe("paginate", () => {
2064
2739
  { before: backwardsPage2.pageInfo.startCursor },
2065
2740
  {
2066
2741
  KeyConditionExpression: "PK = :pk",
2067
- ExpressionAttributeValues: { ":pk": "PK" },
2742
+ ExpressionAttributeValues: { ":pk": "PK" }
2068
2743
  }
2069
2744
  )
2070
2745
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
@@ -2094,7 +2769,7 @@ describe("paginate", () => {
2094
2769
  { first: 10 },
2095
2770
  {
2096
2771
  KeyConditionExpression: "PK = :pk",
2097
- ExpressionAttributeValues: { ":pk": "PK" },
2772
+ ExpressionAttributeValues: { ":pk": "PK" }
2098
2773
  }
2099
2774
  )
2100
2775
  expect(page.pageInfo).toMatchInlineSnapshot(`
@@ -2124,7 +2799,7 @@ describe("paginate", () => {
2124
2799
  { first: 60 },
2125
2800
  {
2126
2801
  KeyConditionExpression: "PK = :pk",
2127
- ExpressionAttributeValues: { ":pk": "PK" },
2802
+ ExpressionAttributeValues: { ":pk": "PK" }
2128
2803
  }
2129
2804
  )
2130
2805
  expect(page1.pageInfo).toMatchInlineSnapshot(`
@@ -2142,7 +2817,7 @@ describe("paginate", () => {
2142
2817
 
2143
2818
  test("it respects custom pagination default", async () => {
2144
2819
  client.paginationOptions = {
2145
- default: 40,
2820
+ default: 40
2146
2821
  }
2147
2822
 
2148
2823
  const items = Array.from({ length: 50 }).map(
@@ -2157,7 +2832,7 @@ describe("paginate", () => {
2157
2832
  {},
2158
2833
  {
2159
2834
  KeyConditionExpression: "PK = :pk",
2160
- ExpressionAttributeValues: { ":pk": "PK" },
2835
+ ExpressionAttributeValues: { ":pk": "PK" }
2161
2836
  }
2162
2837
  )
2163
2838
  expect(page.edges.length).toBe(40)
@@ -2167,7 +2842,7 @@ describe("paginate", () => {
2167
2842
 
2168
2843
  test("it respects custom pagination limit", async () => {
2169
2844
  client.paginationOptions = {
2170
- limit: 100,
2845
+ limit: 100
2171
2846
  }
2172
2847
 
2173
2848
  const items = Array.from({ length: 120 }).map(
@@ -2182,7 +2857,7 @@ describe("paginate", () => {
2182
2857
  { first: 110 },
2183
2858
  {
2184
2859
  KeyConditionExpression: "PK = :pk",
2185
- ExpressionAttributeValues: { ":pk": "PK" },
2860
+ ExpressionAttributeValues: { ":pk": "PK" }
2186
2861
  }
2187
2862
  )
2188
2863
  expect(page.edges.length).toBe(100)
@@ -2205,7 +2880,7 @@ describe("paginate", () => {
2205
2880
  {},
2206
2881
  {
2207
2882
  KeyConditionExpression: "PK = :pk",
2208
- ExpressionAttributeValues: { ":pk": "PK" },
2883
+ ExpressionAttributeValues: { ":pk": "PK" }
2209
2884
  }
2210
2885
  )
2211
2886
  expect(page1.pageInfo).toMatchInlineSnapshot(`
@@ -2224,7 +2899,7 @@ describe("paginate", () => {
2224
2899
  { after: page1.pageInfo.endCursor },
2225
2900
  {
2226
2901
  KeyConditionExpression: "PK = :pk",
2227
- ExpressionAttributeValues: { ":pk": "PK" },
2902
+ ExpressionAttributeValues: { ":pk": "PK" }
2228
2903
  }
2229
2904
  )
2230
2905
  expect(page2.pageInfo).toMatchInlineSnapshot(`
@@ -2243,7 +2918,7 @@ describe("paginate", () => {
2243
2918
  { after: page2.pageInfo.endCursor },
2244
2919
  {
2245
2920
  KeyConditionExpression: "PK = :pk",
2246
- ExpressionAttributeValues: { ":pk": "PK" },
2921
+ ExpressionAttributeValues: { ":pk": "PK" }
2247
2922
  }
2248
2923
  )
2249
2924
  expect(page3.pageInfo).toMatchInlineSnapshot(`
@@ -2263,7 +2938,7 @@ describe("paginate", () => {
2263
2938
  { before: page3.pageInfo.startCursor },
2264
2939
  {
2265
2940
  KeyConditionExpression: "PK = :pk",
2266
- ExpressionAttributeValues: { ":pk": "PK" },
2941
+ ExpressionAttributeValues: { ":pk": "PK" }
2267
2942
  }
2268
2943
  )
2269
2944
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
@@ -2282,7 +2957,7 @@ describe("paginate", () => {
2282
2957
  { before: backwardsPage2.pageInfo.startCursor },
2283
2958
  {
2284
2959
  KeyConditionExpression: "PK = :pk",
2285
- ExpressionAttributeValues: { ":pk": "PK" },
2960
+ ExpressionAttributeValues: { ":pk": "PK" }
2286
2961
  }
2287
2962
  )
2288
2963
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
@@ -2311,7 +2986,7 @@ describe("paginate", () => {
2311
2986
  { first: 10 },
2312
2987
  {
2313
2988
  KeyConditionExpression: "PK = :pk",
2314
- ExpressionAttributeValues: { ":pk": "PK" },
2989
+ ExpressionAttributeValues: { ":pk": "PK" }
2315
2990
  }
2316
2991
  )
2317
2992
  expect(page.pageInfo).toMatchInlineSnapshot(`
@@ -2340,7 +3015,7 @@ describe("paginate", () => {
2340
3015
  { first: 60 },
2341
3016
  {
2342
3017
  KeyConditionExpression: "PK = :pk",
2343
- ExpressionAttributeValues: { ":pk": "PK" },
3018
+ ExpressionAttributeValues: { ":pk": "PK" }
2344
3019
  }
2345
3020
  )
2346
3021
  expect(page1.pageInfo).toMatchInlineSnapshot(`
@@ -2358,7 +3033,7 @@ describe("paginate", () => {
2358
3033
 
2359
3034
  test("it respects custom pagination default", async () => {
2360
3035
  client.paginationOptions = {
2361
- default: 40,
3036
+ default: 40
2362
3037
  }
2363
3038
 
2364
3039
  const items = Array.from({ length: 50 }).map(
@@ -2372,7 +3047,7 @@ describe("paginate", () => {
2372
3047
  {},
2373
3048
  {
2374
3049
  KeyConditionExpression: "PK = :pk",
2375
- ExpressionAttributeValues: { ":pk": "PK" },
3050
+ ExpressionAttributeValues: { ":pk": "PK" }
2376
3051
  }
2377
3052
  )
2378
3053
  expect(page.edges.length).toBe(40)
@@ -2382,7 +3057,7 @@ describe("paginate", () => {
2382
3057
 
2383
3058
  test("it respects custom pagination limit", async () => {
2384
3059
  client.paginationOptions = {
2385
- limit: 100,
3060
+ limit: 100
2386
3061
  }
2387
3062
 
2388
3063
  const items = Array.from({ length: 120 }).map(
@@ -2396,7 +3071,7 @@ describe("paginate", () => {
2396
3071
  { first: 110 },
2397
3072
  {
2398
3073
  KeyConditionExpression: "PK = :pk",
2399
- ExpressionAttributeValues: { ":pk": "PK" },
3074
+ ExpressionAttributeValues: { ":pk": "PK" }
2400
3075
  }
2401
3076
  )
2402
3077
  expect(page.edges.length).toBe(100)
@@ -2420,7 +3095,7 @@ describe("paginate", () => {
2420
3095
  {},
2421
3096
  {
2422
3097
  KeyConditionExpression: "PK = :pk",
2423
- ExpressionAttributeValues: { ":pk": "PK" },
3098
+ ExpressionAttributeValues: { ":pk": "PK" }
2424
3099
  }
2425
3100
  )
2426
3101
  expect(page1.pageInfo).toMatchInlineSnapshot(`
@@ -2439,7 +3114,7 @@ describe("paginate", () => {
2439
3114
  { after: page1.pageInfo.endCursor },
2440
3115
  {
2441
3116
  KeyConditionExpression: "PK = :pk",
2442
- ExpressionAttributeValues: { ":pk": "PK" },
3117
+ ExpressionAttributeValues: { ":pk": "PK" }
2443
3118
  }
2444
3119
  )
2445
3120
  expect(page2.pageInfo).toMatchInlineSnapshot(`
@@ -2458,7 +3133,7 @@ describe("paginate", () => {
2458
3133
  { after: page2.pageInfo.endCursor },
2459
3134
  {
2460
3135
  KeyConditionExpression: "PK = :pk",
2461
- ExpressionAttributeValues: { ":pk": "PK" },
3136
+ ExpressionAttributeValues: { ":pk": "PK" }
2462
3137
  }
2463
3138
  )
2464
3139
  expect(page3.pageInfo).toMatchInlineSnapshot(`
@@ -2478,7 +3153,7 @@ describe("paginate", () => {
2478
3153
  { before: page3.pageInfo.startCursor },
2479
3154
  {
2480
3155
  KeyConditionExpression: "PK = :pk",
2481
- ExpressionAttributeValues: { ":pk": "PK" },
3156
+ ExpressionAttributeValues: { ":pk": "PK" }
2482
3157
  }
2483
3158
  )
2484
3159
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
@@ -2497,7 +3172,7 @@ describe("paginate", () => {
2497
3172
  { before: backwardsPage2.pageInfo.startCursor },
2498
3173
  {
2499
3174
  KeyConditionExpression: "PK = :pk",
2500
- ExpressionAttributeValues: { ":pk": "PK" },
3175
+ ExpressionAttributeValues: { ":pk": "PK" }
2501
3176
  }
2502
3177
  )
2503
3178
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
@@ -2527,7 +3202,7 @@ describe("paginate", () => {
2527
3202
  { first: 10 },
2528
3203
  {
2529
3204
  KeyConditionExpression: "PK = :pk",
2530
- ExpressionAttributeValues: { ":pk": "PK" },
3205
+ ExpressionAttributeValues: { ":pk": "PK" }
2531
3206
  }
2532
3207
  )
2533
3208
  expect(page.pageInfo).toMatchInlineSnapshot(`
@@ -2557,7 +3232,7 @@ describe("paginate", () => {
2557
3232
  { first: 60 },
2558
3233
  {
2559
3234
  KeyConditionExpression: "PK = :pk",
2560
- ExpressionAttributeValues: { ":pk": "PK" },
3235
+ ExpressionAttributeValues: { ":pk": "PK" }
2561
3236
  }
2562
3237
  )
2563
3238
  expect(page1.pageInfo).toMatchInlineSnapshot(`
@@ -2575,7 +3250,7 @@ describe("paginate", () => {
2575
3250
 
2576
3251
  test("it respects custom pagination default", async () => {
2577
3252
  client.paginationOptions = {
2578
- default: 40,
3253
+ default: 40
2579
3254
  }
2580
3255
 
2581
3256
  const items = Array.from({ length: 50 }).map((_, i) =>
@@ -2583,12 +3258,12 @@ describe("paginate", () => {
2583
3258
  ? new C({
2584
3259
  pk: "PK",
2585
3260
  sk: String(i).padStart(3, "0"),
2586
- c: String(i),
3261
+ c: String(i)
2587
3262
  })
2588
3263
  : new D({
2589
3264
  pk: "PK",
2590
3265
  sk: String(i).padStart(3, "0"),
2591
- d: String(i),
3266
+ d: String(i)
2592
3267
  })
2593
3268
  )
2594
3269
 
@@ -2598,7 +3273,7 @@ describe("paginate", () => {
2598
3273
  {},
2599
3274
  {
2600
3275
  KeyConditionExpression: "PK = :pk",
2601
- ExpressionAttributeValues: { ":pk": "PK" },
3276
+ ExpressionAttributeValues: { ":pk": "PK" }
2602
3277
  }
2603
3278
  )
2604
3279
  expect(page.edges.length).toBe(40)
@@ -2608,7 +3283,7 @@ describe("paginate", () => {
2608
3283
 
2609
3284
  test("it respects custom pagination limit", async () => {
2610
3285
  client.paginationOptions = {
2611
- limit: 100,
3286
+ limit: 100
2612
3287
  }
2613
3288
 
2614
3289
  const items = Array.from({ length: 110 }).map((_, i) =>
@@ -2616,12 +3291,12 @@ describe("paginate", () => {
2616
3291
  ? new C({
2617
3292
  pk: "PK",
2618
3293
  sk: String(i).padStart(3, "0"),
2619
- c: String(i),
3294
+ c: String(i)
2620
3295
  })
2621
3296
  : new D({
2622
3297
  pk: "PK",
2623
3298
  sk: String(i).padStart(3, "0"),
2624
- d: String(i),
3299
+ d: String(i)
2625
3300
  })
2626
3301
  )
2627
3302
 
@@ -2631,7 +3306,7 @@ describe("paginate", () => {
2631
3306
  { first: 110 },
2632
3307
  {
2633
3308
  KeyConditionExpression: "PK = :pk",
2634
- ExpressionAttributeValues: { ":pk": "PK" },
3309
+ ExpressionAttributeValues: { ":pk": "PK" }
2635
3310
  }
2636
3311
  )
2637
3312
  expect(page.edges.length).toBe(100)
@@ -2640,3 +3315,13 @@ describe("paginate", () => {
2640
3315
  })
2641
3316
  })
2642
3317
  })
3318
+
3319
+ describe("sandbox", () => {
3320
+ test("it seeds a lot of items", async () => {
3321
+ await sandbox.seed(
3322
+ ...Array.from({ length: 3000 }).map(
3323
+ (_, i) => new A({ pk: "PK", sk: String(i).padStart(3, "0"), a: i })
3324
+ )
3325
+ )
3326
+ })
3327
+ })