@model-ts/dynamodb 3.1.0 → 4.1.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 (47) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/__test__/client-with-cursor-encryption.test.js +1241 -1343
  3. package/dist/cjs/__test__/client-with-cursor-encryption.test.js.map +1 -1
  4. package/dist/cjs/__test__/client.test.js +1395 -1497
  5. package/dist/cjs/__test__/client.test.js.map +1 -1
  6. package/dist/cjs/__test__/diff.test.d.ts +1 -0
  7. package/dist/cjs/__test__/diff.test.js +160 -0
  8. package/dist/cjs/__test__/diff.test.js.map +1 -0
  9. package/dist/cjs/__test__/rollback.test.d.ts +1 -0
  10. package/dist/cjs/__test__/rollback.test.js +196 -0
  11. package/dist/cjs/__test__/rollback.test.js.map +1 -0
  12. package/dist/cjs/diff.d.ts +3 -0
  13. package/dist/cjs/diff.js +339 -0
  14. package/dist/cjs/diff.js.map +1 -0
  15. package/dist/cjs/sandbox.d.ts +2 -0
  16. package/dist/cjs/sandbox.js +130 -3
  17. package/dist/cjs/sandbox.js.map +1 -1
  18. package/dist/cjs/test-utils/setup.d.ts +1 -1
  19. package/dist/cjs/test-utils/setup.js +11 -5
  20. package/dist/cjs/test-utils/setup.js.map +1 -1
  21. package/dist/esm/__test__/client-with-cursor-encryption.test.js +1241 -1343
  22. package/dist/esm/__test__/client-with-cursor-encryption.test.js.map +1 -1
  23. package/dist/esm/__test__/client.test.js +1396 -1498
  24. package/dist/esm/__test__/client.test.js.map +1 -1
  25. package/dist/esm/__test__/diff.test.d.ts +1 -0
  26. package/dist/esm/__test__/diff.test.js +158 -0
  27. package/dist/esm/__test__/diff.test.js.map +1 -0
  28. package/dist/esm/__test__/rollback.test.d.ts +1 -0
  29. package/dist/esm/__test__/rollback.test.js +194 -0
  30. package/dist/esm/__test__/rollback.test.js.map +1 -0
  31. package/dist/esm/diff.d.ts +3 -0
  32. package/dist/esm/diff.js +335 -0
  33. package/dist/esm/diff.js.map +1 -0
  34. package/dist/esm/sandbox.d.ts +2 -0
  35. package/dist/esm/sandbox.js +130 -3
  36. package/dist/esm/sandbox.js.map +1 -1
  37. package/dist/esm/test-utils/setup.d.ts +1 -1
  38. package/dist/esm/test-utils/setup.js +11 -5
  39. package/dist/esm/test-utils/setup.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/__test__/client-with-cursor-encryption.test.ts +1245 -1347
  42. package/src/__test__/client.test.ts +1400 -1502
  43. package/src/__test__/diff.test.ts +165 -0
  44. package/src/__test__/rollback.test.ts +279 -0
  45. package/src/diff.ts +443 -0
  46. package/src/sandbox.ts +173 -3
  47. package/src/test-utils/setup.ts +9 -5
@@ -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() {
@@ -114,74 +114,50 @@ describe("put", () => {
114
114
  const before = yield sandbox.snapshot();
115
115
  yield new Simple({ foo: "hi", bar: 42 }).put();
116
116
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
117
- Snapshot Diff:
118
- - First value
119
- + Second value
120
-
121
- - Object {}
122
- + Object {
123
- + "PK#hi__SK#42": Object {
124
- + "PK": "PK#hi",
125
- + "SK": "SK#42",
126
- + "_docVersion": 0,
127
- + "_tag": "Simple",
128
- + "bar": 42,
129
- + "foo": "hi",
130
- + },
131
- + }
132
- `);
117
+ + [PK#hi / SK#42]
118
+ + PK: "PK#hi"
119
+ + SK: "SK#42"
120
+ + _docVersion: 0
121
+ + _tag: "Simple"
122
+ + bar: 42
123
+ + foo: "hi"
124
+ `);
133
125
  }));
134
126
  test("it inserts a model with single gsi", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
135
127
  const before = yield sandbox.snapshot();
136
128
  yield new SingleGSI({ foo: "yes", bar: 42 }).put();
137
129
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
138
- Snapshot Diff:
139
- - First value
140
- + Second value
141
-
142
- - Object {}
143
- + Object {
144
- + "PK#yes__SK#42": Object {
145
- + "GSI2PK": "GSI2PK#yesyes",
146
- + "GSI2SK": "GSI2SK#FIXED",
147
- + "PK": "PK#yes",
148
- + "SK": "SK#42",
149
- + "_docVersion": 0,
150
- + "_tag": "SingleGSI",
151
- + "bar": 42,
152
- + "foo": "yes",
153
- + },
154
- + }
155
- `);
130
+ + [PK#yes / SK#42]
131
+ + PK: "PK#yes"
132
+ + SK: "SK#42"
133
+ + GSI2PK: "GSI2PK#yesyes"
134
+ + GSI2SK: "GSI2SK#FIXED"
135
+ + _docVersion: 0
136
+ + _tag: "SingleGSI"
137
+ + bar: 42
138
+ + foo: "yes"
139
+ `);
156
140
  }));
157
141
  test("it inserts a model with multiple gsi", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
158
142
  const before = yield sandbox.snapshot();
159
143
  yield new MultiGSI({ foo: "yes", bar: 42 }).put();
160
144
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
161
- Snapshot Diff:
162
- - First value
163
- + Second value
164
-
165
- - Object {}
166
- + Object {
167
- + "PK#yes__SK#42": Object {
168
- + "GSI2PK": "GSI2PK#yesyes",
169
- + "GSI2SK": "GSI2SK#FIXED",
170
- + "GSI3PK": "GSI3PK#FIXED",
171
- + "GSI3SK": "GSI3SK#4242",
172
- + "GSI4PK": "GSI4PK#FIXED",
173
- + "GSI4SK": "GSI4SK#4242",
174
- + "GSI5PK": "GSI5PK#FIXED",
175
- + "GSI5SK": "GSI5SK#4242",
176
- + "PK": "PK#yes",
177
- + "SK": "SK#42",
178
- + "_docVersion": 0,
179
- + "_tag": "MultiGSI",
180
- + "bar": 42,
181
- + "foo": "yes",
182
- + },
183
- + }
184
- `);
145
+ + [PK#yes / SK#42]
146
+ + PK: "PK#yes"
147
+ + SK: "SK#42"
148
+ + GSI2PK: "GSI2PK#yesyes"
149
+ + GSI2SK: "GSI2SK#FIXED"
150
+ + GSI3PK: "GSI3PK#FIXED"
151
+ + GSI3SK: "GSI3SK#4242"
152
+ + GSI4PK: "GSI4PK#FIXED"
153
+ + GSI4SK: "GSI4SK#4242"
154
+ + GSI5PK: "GSI5PK#FIXED"
155
+ + GSI5SK: "GSI5SK#4242"
156
+ + _docVersion: 0
157
+ + _tag: "MultiGSI"
158
+ + bar: 42
159
+ + foo: "yes"
160
+ `);
185
161
  }));
186
162
  test("it throws KeyExistsError if item exists", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
187
163
  yield new MultiGSI({ foo: "yes", bar: 42 }).put();
@@ -197,74 +173,50 @@ describe("put", () => {
197
173
  const before = yield sandbox.snapshot();
198
174
  yield Simple.put(new Simple({ foo: "hi", bar: 42 }));
199
175
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
200
- Snapshot Diff:
201
- - First value
202
- + Second value
203
-
204
- - Object {}
205
- + Object {
206
- + "PK#hi__SK#42": Object {
207
- + "PK": "PK#hi",
208
- + "SK": "SK#42",
209
- + "_docVersion": 0,
210
- + "_tag": "Simple",
211
- + "bar": 42,
212
- + "foo": "hi",
213
- + },
214
- + }
215
- `);
176
+ + [PK#hi / SK#42]
177
+ + PK: "PK#hi"
178
+ + SK: "SK#42"
179
+ + _docVersion: 0
180
+ + _tag: "Simple"
181
+ + bar: 42
182
+ + foo: "hi"
183
+ `);
216
184
  }));
217
185
  test("it inserts a model with single gsi", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
218
186
  const before = yield sandbox.snapshot();
219
187
  yield SingleGSI.put(new SingleGSI({ foo: "yes", bar: 42 }));
220
188
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
221
- Snapshot Diff:
222
- - First value
223
- + Second value
224
-
225
- - Object {}
226
- + Object {
227
- + "PK#yes__SK#42": Object {
228
- + "GSI2PK": "GSI2PK#yesyes",
229
- + "GSI2SK": "GSI2SK#FIXED",
230
- + "PK": "PK#yes",
231
- + "SK": "SK#42",
232
- + "_docVersion": 0,
233
- + "_tag": "SingleGSI",
234
- + "bar": 42,
235
- + "foo": "yes",
236
- + },
237
- + }
238
- `);
189
+ + [PK#yes / SK#42]
190
+ + PK: "PK#yes"
191
+ + SK: "SK#42"
192
+ + GSI2PK: "GSI2PK#yesyes"
193
+ + GSI2SK: "GSI2SK#FIXED"
194
+ + _docVersion: 0
195
+ + _tag: "SingleGSI"
196
+ + bar: 42
197
+ + foo: "yes"
198
+ `);
239
199
  }));
240
200
  test("it inserts a model with multiple gsi", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
241
201
  const before = yield sandbox.snapshot();
242
202
  yield MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }));
243
203
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
244
- Snapshot Diff:
245
- - First value
246
- + Second value
247
-
248
- - Object {}
249
- + Object {
250
- + "PK#yes__SK#42": Object {
251
- + "GSI2PK": "GSI2PK#yesyes",
252
- + "GSI2SK": "GSI2SK#FIXED",
253
- + "GSI3PK": "GSI3PK#FIXED",
254
- + "GSI3SK": "GSI3SK#4242",
255
- + "GSI4PK": "GSI4PK#FIXED",
256
- + "GSI4SK": "GSI4SK#4242",
257
- + "GSI5PK": "GSI5PK#FIXED",
258
- + "GSI5SK": "GSI5SK#4242",
259
- + "PK": "PK#yes",
260
- + "SK": "SK#42",
261
- + "_docVersion": 0,
262
- + "_tag": "MultiGSI",
263
- + "bar": 42,
264
- + "foo": "yes",
265
- + },
266
- + }
267
- `);
204
+ + [PK#yes / SK#42]
205
+ + PK: "PK#yes"
206
+ + SK: "SK#42"
207
+ + GSI2PK: "GSI2PK#yesyes"
208
+ + GSI2SK: "GSI2SK#FIXED"
209
+ + GSI3PK: "GSI3PK#FIXED"
210
+ + GSI3SK: "GSI3SK#4242"
211
+ + GSI4PK: "GSI4PK#FIXED"
212
+ + GSI4SK: "GSI4SK#4242"
213
+ + GSI5PK: "GSI5PK#FIXED"
214
+ + GSI5SK: "GSI5SK#4242"
215
+ + _docVersion: 0
216
+ + _tag: "MultiGSI"
217
+ + bar: 42
218
+ + foo: "yes"
219
+ `);
268
220
  }));
269
221
  test("it throws KeyExistsError if item exists", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
270
222
  yield MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }));
@@ -273,7 +225,7 @@ describe("put", () => {
273
225
  test("it overwrites item if `ignoreExistence` is set", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
274
226
  yield MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }));
275
227
  yield expect(MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }), {
276
- IgnoreExistence: true,
228
+ IgnoreExistence: true
277
229
  })).resolves.toBeInstanceOf(MultiGSI);
278
230
  }));
279
231
  });
@@ -287,7 +239,7 @@ describe("get", () => {
287
239
  const item = yield new Simple({ foo: "hi", bar: 432 }).put();
288
240
  const result = yield Simple.get({
289
241
  PK: item.keys().PK,
290
- SK: item.keys().SK,
242
+ SK: item.keys().SK
291
243
  });
292
244
  expect(result.values()).toMatchInlineSnapshot(`
293
245
  Object {
@@ -334,27 +286,19 @@ describe("delete", () => {
334
286
  _model: Simple,
335
287
  key: {
336
288
  PK: item.keys().PK,
337
- SK: item.keys().SK,
338
- },
289
+ SK: item.keys().SK
290
+ }
339
291
  });
340
292
  expect(result).toBeNull();
341
293
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
342
- Snapshot Diff:
343
- - First value
344
- + Second value
345
-
346
- - Object {
347
- - "PK#hi__SK#432": Object {
348
- - "PK": "PK#hi",
349
- - "SK": "SK#432",
350
- - "_docVersion": 0,
351
- - "_tag": "Simple",
352
- - "bar": 432,
353
- - "foo": "hi",
354
- - },
355
- - }
356
- + Object {}
357
- `);
294
+ - [PK#hi / SK#432]
295
+ - PK: "PK#hi"
296
+ - SK: "SK#432"
297
+ - _docVersion: 0
298
+ - _tag: "Simple"
299
+ - bar: 432
300
+ - foo: "hi"
301
+ `);
358
302
  }));
359
303
  });
360
304
  describe("via model", () => {
@@ -363,26 +307,18 @@ describe("delete", () => {
363
307
  const before = yield sandbox.snapshot();
364
308
  const result = yield Simple.delete({
365
309
  PK: item.keys().PK,
366
- SK: item.keys().SK,
310
+ SK: item.keys().SK
367
311
  });
368
312
  expect(result).toBeNull();
369
313
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
370
- Snapshot Diff:
371
- - First value
372
- + Second value
373
-
374
- - Object {
375
- - "PK#hi__SK#432": Object {
376
- - "PK": "PK#hi",
377
- - "SK": "SK#432",
378
- - "_docVersion": 0,
379
- - "_tag": "Simple",
380
- - "bar": 432,
381
- - "foo": "hi",
382
- - },
383
- - }
384
- + Object {}
385
- `);
314
+ - [PK#hi / SK#432]
315
+ - PK: "PK#hi"
316
+ - SK: "SK#432"
317
+ - _docVersion: 0
318
+ - _tag: "Simple"
319
+ - bar: 432
320
+ - foo: "hi"
321
+ `);
386
322
  }));
387
323
  });
388
324
  describe("via instance", () => {
@@ -392,22 +328,14 @@ describe("delete", () => {
392
328
  const result = yield item.delete();
393
329
  expect(result).toBeNull();
394
330
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
395
- Snapshot Diff:
396
- - First value
397
- + Second value
398
-
399
- - Object {
400
- - "PK#hi__SK#432": Object {
401
- - "PK": "PK#hi",
402
- - "SK": "SK#432",
403
- - "_docVersion": 0,
404
- - "_tag": "Simple",
405
- - "bar": 432,
406
- - "foo": "hi",
407
- - },
408
- - }
409
- + Object {}
410
- `);
331
+ - [PK#hi / SK#432]
332
+ - PK: "PK#hi"
333
+ - SK: "SK#432"
334
+ - _docVersion: 0
335
+ - _tag: "Simple"
336
+ - bar: 432
337
+ - foo: "hi"
338
+ `);
411
339
  }));
412
340
  });
413
341
  });
@@ -432,53 +360,56 @@ describe("softDelete", () => {
432
360
  }
433
361
  `);
434
362
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
435
- Snapshot Diff:
436
- - First value
437
- + Second value
363
+ + [$$DELETED$$PK#hello / $$DELETED$$SK#42]
364
+ + PK: "$$DELETED$$PK#hello"
365
+ + SK: "$$DELETED$$SK#42"
366
+ + GSI2PK: "$$DELETED$$GSI2PK#hellohello"
367
+ + GSI2SK: "$$DELETED$$GSI2SK#FIXED"
368
+ + GSI3PK: "$$DELETED$$GSI3PK#FIXED"
369
+ + GSI3SK: "$$DELETED$$GSI3SK#4242"
370
+ + GSI4PK: "$$DELETED$$GSI4PK#FIXED"
371
+ + GSI4SK: "$$DELETED$$GSI4SK#4242"
372
+ + GSI5PK: "$$DELETED$$GSI5PK#FIXED"
373
+ + GSI5SK: "$$DELETED$$GSI5SK#4242"
374
+ + _deletedAt: "2021-05-01T08:00:00.000Z"
375
+ + _docVersion: 0
376
+ + _tag: "MultiGSI"
377
+ + bar: 42
378
+ + foo: "hello"
438
379
 
439
- @@ -1,25 +1,27 @@
440
- Object {
441
- - "PK#hello__SK#42": Object {
442
- - "GSI2PK": "GSI2PK#hellohello",
443
- - "GSI2SK": "GSI2SK#FIXED",
444
- - "GSI3PK": "GSI3PK#FIXED",
445
- - "GSI3SK": "GSI3SK#4242",
446
- - "GSI4PK": "GSI4PK#FIXED",
447
- - "GSI4SK": "GSI4SK#4242",
448
- - "GSI5PK": "GSI5PK#FIXED",
449
- - "GSI5SK": "GSI5SK#4242",
450
- - "PK": "PK#hello",
451
- - "SK": "SK#42",
452
- + "$$DELETED$$PK#hello__$$DELETED$$SK#42": Object {
453
- + "GSI2PK": "$$DELETED$$GSI2PK#hellohello",
454
- + "GSI2SK": "$$DELETED$$GSI2SK#FIXED",
455
- + "GSI3PK": "$$DELETED$$GSI3PK#FIXED",
456
- + "GSI3SK": "$$DELETED$$GSI3SK#4242",
457
- + "GSI4PK": "$$DELETED$$GSI4PK#FIXED",
458
- + "GSI4SK": "$$DELETED$$GSI4SK#4242",
459
- + "GSI5PK": "$$DELETED$$GSI5PK#FIXED",
460
- + "GSI5SK": "$$DELETED$$GSI5SK#4242",
461
- + "PK": "$$DELETED$$PK#hello",
462
- + "SK": "$$DELETED$$SK#42",
463
- + "_deletedAt": "2021-05-01T08:00:00.000Z",
464
- "_docVersion": 0,
465
- "_tag": "MultiGSI",
466
- "bar": 42,
467
- "foo": "hello",
468
- },
469
- - "PK#hi__SK#432": Object {
470
- - "PK": "PK#hi",
471
- - "SK": "SK#432",
472
- + "$$DELETED$$PK#hi__$$DELETED$$SK#432": Object {
473
- + "PK": "$$DELETED$$PK#hi",
474
- + "SK": "$$DELETED$$SK#432",
475
- + "_deletedAt": "2021-05-01T08:00:00.000Z",
476
- "_docVersion": 0,
477
- "_tag": "Simple",
478
- "bar": 432,
479
- "foo": "hi",
480
- },
481
- `);
380
+ + [$$DELETED$$PK#hi / $$DELETED$$SK#432]
381
+ + PK: "$$DELETED$$PK#hi"
382
+ + SK: "$$DELETED$$SK#432"
383
+ + _deletedAt: "2021-05-01T08:00:00.000Z"
384
+ + _docVersion: 0
385
+ + _tag: "Simple"
386
+ + bar: 432
387
+ + foo: "hi"
388
+
389
+ - [PK#hello / SK#42]
390
+ - PK: "PK#hello"
391
+ - SK: "SK#42"
392
+ - GSI2PK: "GSI2PK#hellohello"
393
+ - GSI2SK: "GSI2SK#FIXED"
394
+ - GSI3PK: "GSI3PK#FIXED"
395
+ - GSI3SK: "GSI3SK#4242"
396
+ - GSI4PK: "GSI4PK#FIXED"
397
+ - GSI4SK: "GSI4SK#4242"
398
+ - GSI5PK: "GSI5PK#FIXED"
399
+ - GSI5SK: "GSI5SK#4242"
400
+ - _docVersion: 0
401
+ - _tag: "MultiGSI"
402
+ - bar: 42
403
+ - foo: "hello"
404
+
405
+ - [PK#hi / SK#432]
406
+ - PK: "PK#hi"
407
+ - SK: "SK#432"
408
+ - _docVersion: 0
409
+ - _tag: "Simple"
410
+ - bar: 432
411
+ - foo: "hi"
412
+ `);
482
413
  }));
483
414
  });
484
415
  describe("via model", () => {
@@ -493,25 +424,23 @@ describe("softDelete", () => {
493
424
  }
494
425
  `);
495
426
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
496
- Snapshot Diff:
497
- - First value
498
- + Second value
427
+ + [$$DELETED$$PK#hi / $$DELETED$$SK#432]
428
+ + PK: "$$DELETED$$PK#hi"
429
+ + SK: "$$DELETED$$SK#432"
430
+ + _deletedAt: "2021-05-01T08:00:00.000Z"
431
+ + _docVersion: 0
432
+ + _tag: "Simple"
433
+ + bar: 432
434
+ + foo: "hi"
499
435
 
500
- @@ -1,9 +1,10 @@
501
- Object {
502
- - "PK#hi__SK#432": Object {
503
- - "PK": "PK#hi",
504
- - "SK": "SK#432",
505
- + "$$DELETED$$PK#hi__$$DELETED$$SK#432": Object {
506
- + "PK": "$$DELETED$$PK#hi",
507
- + "SK": "$$DELETED$$SK#432",
508
- + "_deletedAt": "2021-05-01T08:00:00.000Z",
509
- "_docVersion": 0,
510
- "_tag": "Simple",
511
- "bar": 432,
512
- "foo": "hi",
513
- },
514
- `);
436
+ - [PK#hi / SK#432]
437
+ - PK: "PK#hi"
438
+ - SK: "SK#432"
439
+ - _docVersion: 0
440
+ - _tag: "Simple"
441
+ - bar: 432
442
+ - foo: "hi"
443
+ `);
515
444
  }));
516
445
  });
517
446
  describe("via instance", () => {
@@ -526,25 +455,23 @@ describe("softDelete", () => {
526
455
  }
527
456
  `);
528
457
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
529
- Snapshot Diff:
530
- - First value
531
- + Second value
458
+ + [$$DELETED$$PK#hi / $$DELETED$$SK#432]
459
+ + PK: "$$DELETED$$PK#hi"
460
+ + SK: "$$DELETED$$SK#432"
461
+ + _deletedAt: "2021-05-01T08:00:00.000Z"
462
+ + _docVersion: 0
463
+ + _tag: "Simple"
464
+ + bar: 432
465
+ + foo: "hi"
532
466
 
533
- @@ -1,9 +1,10 @@
534
- Object {
535
- - "PK#hi__SK#432": Object {
536
- - "PK": "PK#hi",
537
- - "SK": "SK#432",
538
- + "$$DELETED$$PK#hi__$$DELETED$$SK#432": Object {
539
- + "PK": "$$DELETED$$PK#hi",
540
- + "SK": "$$DELETED$$SK#432",
541
- + "_deletedAt": "2021-05-01T08:00:00.000Z",
542
- "_docVersion": 0,
543
- "_tag": "Simple",
544
- "bar": 432,
545
- "foo": "hi",
546
- },
547
- `);
467
+ - [PK#hi / SK#432]
468
+ - PK: "PK#hi"
469
+ - SK: "SK#432"
470
+ - _docVersion: 0
471
+ - _tag: "Simple"
472
+ - bar: 432
473
+ - foo: "hi"
474
+ `);
548
475
  }));
549
476
  });
550
477
  });
@@ -617,23 +544,16 @@ describe("update", () => {
617
544
  }
618
545
  `);
619
546
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
620
- Snapshot Diff:
621
- - First value
622
- + Second value
623
-
624
- Object {
625
- "FIXEDPK__FIXEDSK": Object {
626
- "PK": "FIXEDPK",
627
- "SK": "FIXEDSK",
628
- - "_docVersion": 0,
629
- + "_docVersion": 1,
630
- "_tag": "InPlace",
631
- "bar": 1,
632
- - "foo": "hello",
633
- + "foo": "ciao",
634
- },
635
- }
636
- `);
547
+ [FIXEDPK / FIXEDSK]
548
+ PK: "FIXEDPK"
549
+ SK: "FIXEDSK"
550
+ - _docVersion: 0
551
+ + _docVersion: 1
552
+ _tag: "InPlace"
553
+ bar: 1
554
+ - foo: "hello"
555
+ + foo: "ciao"
556
+ `);
637
557
  }));
638
558
  });
639
559
  });
@@ -651,24 +571,17 @@ describe("applyUpdate", () => {
651
571
  `);
652
572
  yield client.bulk([updateOp]);
653
573
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
654
- Snapshot Diff:
655
- - First value
656
- + Second value
657
-
658
- Object {
659
- "PK__SK": Object {
660
- "PK": "PK",
661
- "SK": "SK",
662
- - "_docVersion": 0,
663
- + "_docVersion": 1,
664
- "_tag": "A",
665
- - "a": 1,
666
- + "a": 2,
667
- "pk": "PK",
668
- "sk": "SK",
669
- },
670
- }
671
- `);
574
+ [PK / SK]
575
+ PK: "PK"
576
+ SK: "SK"
577
+ - _docVersion: 0
578
+ + _docVersion: 1
579
+ _tag: "A"
580
+ - a: 1
581
+ + a: 2
582
+ pk: "PK"
583
+ sk: "SK"
584
+ `);
672
585
  }));
673
586
  });
674
587
  describe("query", () => {
@@ -676,106 +589,106 @@ describe("query", () => {
676
589
  test("it returns empty results", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
677
590
  expect(yield client.query({
678
591
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
679
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" },
592
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
680
593
  }, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
681
- Object {
682
- "_unknown": Array [],
683
- "a": Array [],
684
- "b": Array [],
685
- "meta": Object {
686
- "lastEvaluatedKey": undefined,
687
- },
688
- "union": Array [],
689
- }
690
- `);
594
+ Object {
595
+ "_unknown": Array [],
596
+ "a": Array [],
597
+ "b": Array [],
598
+ "meta": Object {
599
+ "lastEvaluatedKey": undefined,
600
+ },
601
+ "union": Array [],
602
+ }
603
+ `);
691
604
  }));
692
605
  test("it returns unknown results", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
693
606
  yield sandbox.seed({ PK: "abc", SK: "SORT#1", doesnt: "match" });
694
607
  expect(yield client.query({
695
608
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
696
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
609
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
697
610
  }, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
698
- Object {
699
- "_unknown": Array [
700
- Object {
701
- "PK": "abc",
702
- "SK": "SORT#1",
703
- "doesnt": "match",
704
- },
705
- ],
706
- "a": Array [],
707
- "b": Array [],
708
- "meta": Object {
709
- "lastEvaluatedKey": undefined,
710
- },
711
- "union": Array [],
712
- }
713
- `);
611
+ Object {
612
+ "_unknown": Array [
613
+ Object {
614
+ "PK": "abc",
615
+ "SK": "SORT#1",
616
+ "doesnt": "match",
617
+ },
618
+ ],
619
+ "a": Array [],
620
+ "b": Array [],
621
+ "meta": Object {
622
+ "lastEvaluatedKey": undefined,
623
+ },
624
+ "union": Array [],
625
+ }
626
+ `);
714
627
  }));
715
628
  test("it returns results", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
716
629
  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" }));
717
630
  const { a, b, union, _unknown, meta } = yield client.query({
718
631
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
719
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
632
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
720
633
  }, { a: A, b: B, union: Union });
721
634
  expect({
722
635
  meta: meta,
723
636
  _unknown: _unknown,
724
- a: a.map((item) => item.values()),
725
- b: b.map((item) => item.values()),
726
- union: union.map((item) => item.values()),
637
+ a: a.map(item => item.values()),
638
+ b: b.map(item => item.values()),
639
+ union: union.map(item => item.values())
727
640
  }).toMatchInlineSnapshot(`
728
- Object {
729
- "_unknown": Array [
730
- Object {
731
- "PK": "abc",
732
- "SK": "SORT#4",
733
- "probably": "unknown",
734
- },
735
- ],
736
- "a": Array [
737
- Object {
738
- "a": 1,
739
- "pk": "abc",
740
- "sk": "SORT#1",
741
- },
742
- Object {
743
- "a": 2,
744
- "pk": "abc",
745
- "sk": "SORT#2",
746
- },
747
- ],
748
- "b": Array [
749
- Object {
750
- "b": "hi",
751
- "pk": "abc",
752
- "sk": "SORT#3",
753
- },
754
- ],
755
- "meta": Object {
756
- "lastEvaluatedKey": undefined,
757
- },
758
- "union": Array [
759
- Object {
760
- "c": "hi",
761
- "pk": "abc",
762
- "sk": "SORT#5",
763
- },
764
- Object {
765
- "d": "hi",
766
- "pk": "abc",
767
- "sk": "SORT#6",
768
- },
769
- ],
770
- }
771
- `);
641
+ Object {
642
+ "_unknown": Array [
643
+ Object {
644
+ "PK": "abc",
645
+ "SK": "SORT#4",
646
+ "probably": "unknown",
647
+ },
648
+ ],
649
+ "a": Array [
650
+ Object {
651
+ "a": 1,
652
+ "pk": "abc",
653
+ "sk": "SORT#1",
654
+ },
655
+ Object {
656
+ "a": 2,
657
+ "pk": "abc",
658
+ "sk": "SORT#2",
659
+ },
660
+ ],
661
+ "b": Array [
662
+ Object {
663
+ "b": "hi",
664
+ "pk": "abc",
665
+ "sk": "SORT#3",
666
+ },
667
+ ],
668
+ "meta": Object {
669
+ "lastEvaluatedKey": undefined,
670
+ },
671
+ "union": Array [
672
+ Object {
673
+ "c": "hi",
674
+ "pk": "abc",
675
+ "sk": "SORT#5",
676
+ },
677
+ Object {
678
+ "d": "hi",
679
+ "pk": "abc",
680
+ "sk": "SORT#6",
681
+ },
682
+ ],
683
+ }
684
+ `);
772
685
  }));
773
686
  test("it paginates", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
774
687
  yield sandbox.seed(...Array.from({ length: 20 }).map((_, i) => new A({ pk: "abc", sk: `SORT#${String(i).padStart(2, "0")}`, a: i })), ...Array.from({ length: 20 }).map((_, i) => new B({ pk: "abc", sk: `SORT#${i + 20}`, b: "bar" })));
775
688
  const firstPage = yield client.query({
776
689
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
777
690
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
778
- Limit: 30,
691
+ Limit: 30
779
692
  }, { a: A, b: B });
780
693
  expect(firstPage.a.length).toBe(20);
781
694
  expect(firstPage.b.length).toBe(10);
@@ -785,7 +698,7 @@ describe("query", () => {
785
698
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
786
699
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
787
700
  Limit: 30,
788
- ExclusiveStartKey: firstPage.meta.lastEvaluatedKey,
701
+ ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
789
702
  }, { a: A, b: B });
790
703
  expect(secondPage.a.length).toBe(0);
791
704
  expect(secondPage.b.length).toBe(10);
@@ -799,7 +712,7 @@ describe("query", () => {
799
712
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
800
713
  FetchAllPages: true,
801
714
  // You wouldn't set a limit in a real-world use case here to optimize fetching all items.
802
- Limit: 10,
715
+ Limit: 10
803
716
  }, { a: A, b: B });
804
717
  expect(a.length).toBe(20);
805
718
  expect(b.length).toBe(20);
@@ -811,7 +724,7 @@ describe("query", () => {
811
724
  test("it returns empty results for specific model", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
812
725
  const result = yield A.query({
813
726
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
814
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" },
727
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
815
728
  });
816
729
  expect(result.length).toBe(0);
817
730
  expect(result.meta).toEqual({ lastEvaluatedKey: undefined });
@@ -820,10 +733,10 @@ describe("query", () => {
820
733
  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" }));
821
734
  const result = yield A.query({
822
735
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
823
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
736
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
824
737
  });
825
738
  expect(result.length).toBe(2);
826
- expect(result.map((item) => item.values())).toMatchInlineSnapshot(`
739
+ expect(result.map(item => item.values())).toMatchInlineSnapshot(`
827
740
  Array [
828
741
  Object {
829
742
  "a": 1,
@@ -844,7 +757,7 @@ describe("query", () => {
844
757
  const result = yield A.query({
845
758
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
846
759
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
847
- Limit: 2,
760
+ Limit: 2
848
761
  });
849
762
  expect(result.length).toBe(2);
850
763
  expect(result[0].a).toBe(1);
@@ -859,10 +772,10 @@ describe("query", () => {
859
772
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
860
773
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
861
774
  FetchAllPages: true,
862
- Limit: 5, // Force pagination
775
+ Limit: 5 // Force pagination
863
776
  });
864
777
  expect(result.length).toBe(15); // Only A items
865
- expect(result.map((item) => item.a)).toEqual(Array.from({ length: 15 }, (_, i) => i));
778
+ expect(result.map(item => item.a)).toEqual(Array.from({ length: 15 }, (_, i) => i));
866
779
  expect(result.meta.lastEvaluatedKey).toBeUndefined();
867
780
  }));
868
781
  test("it works with different query conditions", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -870,34 +783,34 @@ describe("query", () => {
870
783
  // Query for posts only
871
784
  const posts = yield A.query({
872
785
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
873
- ExpressionAttributeValues: { ":pk": "user1", ":sk": "post#" },
786
+ ExpressionAttributeValues: { ":pk": "user1", ":sk": "post#" }
874
787
  });
875
788
  expect(posts.length).toBe(2);
876
- expect(posts.map((item) => item.a).sort()).toEqual([1, 2]);
789
+ expect(posts.map(item => item.a).sort()).toEqual([1, 2]);
877
790
  // Query for all user1 items
878
791
  const allUser1 = yield A.query({
879
792
  KeyConditionExpression: `PK = :pk`,
880
- ExpressionAttributeValues: { ":pk": "user1" },
793
+ ExpressionAttributeValues: { ":pk": "user1" }
881
794
  });
882
795
  expect(allUser1.length).toBe(3);
883
- expect(allUser1.map((item) => item.a).sort()).toEqual([1, 2, 3]);
796
+ expect(allUser1.map(item => item.a).sort()).toEqual([1, 2, 3]);
884
797
  }));
885
798
  test("it works with FilterExpression", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
886
799
  yield sandbox.seed(new A({ pk: "test", sk: "item#1", a: 1 }), new A({ pk: "test", sk: "item#2", a: 2 }), new A({ pk: "test", sk: "item#3", a: 3 }), new A({ pk: "test", sk: "item#4", a: 4 }));
887
800
  const result = yield A.query({
888
801
  KeyConditionExpression: `PK = :pk`,
889
802
  FilterExpression: `a > :min`,
890
- ExpressionAttributeValues: { ":pk": "test", ":min": 2 },
803
+ ExpressionAttributeValues: { ":pk": "test", ":min": 2 }
891
804
  });
892
805
  expect(result.length).toBe(2);
893
- expect(result.map((item) => item.a).sort()).toEqual([3, 4]);
806
+ expect(result.map(item => item.a).sort()).toEqual([3, 4]);
894
807
  }));
895
808
  });
896
809
  describe("via union", () => {
897
810
  test("it returns empty results for union", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
898
811
  const result = yield Union.query({
899
812
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
900
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" },
813
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
901
814
  });
902
815
  expect(result.length).toBe(0);
903
816
  expect(result.meta).toEqual({ lastEvaluatedKey: undefined });
@@ -906,7 +819,7 @@ describe("query", () => {
906
819
  yield sandbox.seed(new A({ pk: "abc", sk: "SORT#1", a: 1 }), new B({ pk: "abc", sk: "SORT#2", b: "hi" }), new C({ pk: "abc", sk: "SORT#3", c: "c1" }), new D({ pk: "abc", sk: "SORT#4", d: "d1" }), { PK: "abc", SK: "SORT#5", unknown: "data" });
907
820
  const result = yield Union.query({
908
821
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
909
- ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
822
+ ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
910
823
  });
911
824
  expect(result.length).toBe(2); // Only C and D items (union members)
912
825
  expect(result[0]).toBeInstanceOf(C);
@@ -917,11 +830,11 @@ describe("query", () => {
917
830
  yield sandbox.seed(...Array.from({ length: 10 }).map((_, i) => new C({
918
831
  pk: "abc",
919
832
  sk: `SORT#${String(i).padStart(2, "0")}`,
920
- c: `c${i}`,
833
+ c: `c${i}`
921
834
  })), ...Array.from({ length: 10 }).map((_, i) => new D({
922
835
  pk: "abc",
923
836
  sk: `SORT#${String(i + 10).padStart(2, "0")}`,
924
- d: `d${i}`,
837
+ d: `d${i}`
925
838
  })),
926
839
  // Add some non-union items that should be ignored
927
840
  new A({ pk: "abc", sk: "SORT#30", a: 1 }), new B({ pk: "abc", sk: "SORT#31", b: "ignored" }));
@@ -929,7 +842,7 @@ describe("query", () => {
929
842
  KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
930
843
  ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
931
844
  FetchAllPages: true,
932
- Limit: 5, // Force pagination
845
+ Limit: 5 // Force pagination
933
846
  });
934
847
  expect(result.length).toBe(20); // Only union items (C and D)
935
848
  expect(result.filter((item) => item instanceof C).length).toBe(10);
@@ -954,109 +867,94 @@ describe("bulk", () => {
954
867
  new B({
955
868
  pk: "PK#UPDATE",
956
869
  sk: "SK#UPDATE",
957
- b: "bar",
870
+ b: "bar"
958
871
  }).operation("update", { b: "baz" }),
959
872
  new B({
960
873
  pk: "PK#COND",
961
874
  sk: "SK#COND",
962
- b: "cond",
875
+ b: "cond"
963
876
  }).operation("condition", {
964
877
  ConditionExpression: "b = :cond",
965
- ExpressionAttributeValues: { ":cond": "cond" },
966
- }),
878
+ ExpressionAttributeValues: { ":cond": "cond" }
879
+ })
967
880
  ]);
968
881
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
969
- Snapshot Diff:
970
- - First value
971
- + Second value
882
+ + [$$DELETED$$PK#3 / $$DELETED$$SK#3]
883
+ + PK: "$$DELETED$$PK#3"
884
+ + SK: "$$DELETED$$SK#3"
885
+ + _deletedAt: "2021-05-01T08:00:00.000Z"
886
+ + _docVersion: 0
887
+ + _tag: "B"
888
+ + b: "bar"
889
+ + pk: "PK#3"
890
+ + sk: "SK#3"
972
891
 
973
- @@ -1,32 +1,24 @@
974
- Object {
975
- + "$$DELETED$$PK#3__$$DELETED$$SK#3": Object {
976
- + "PK": "$$DELETED$$PK#3",
977
- + "SK": "$$DELETED$$SK#3",
978
- + "_deletedAt": "2021-05-01T08:00:00.000Z",
979
- + "_docVersion": 0,
980
- + "_tag": "B",
981
- + "b": "bar",
982
- + "pk": "PK#3",
983
- + "sk": "SK#3",
984
- + },
985
- "PK#1__SK#1": Object {
986
- "PK": "PK#1",
987
- "SK": "SK#1",
988
- "_docVersion": 0,
989
- "_tag": "A",
990
- - "a": 1,
991
- + "a": -1,
992
- "pk": "PK#1",
993
- "sk": "SK#1",
994
- - },
995
- - "PK#2__SK#2": Object {
996
- - "PK": "PK#2",
997
- - "SK": "SK#2",
998
- - "_docVersion": 0,
999
- - "_tag": "A",
1000
- - "a": 2,
1001
- - "pk": "PK#2",
1002
- - "sk": "SK#2",
1003
- - },
1004
- - "PK#3__SK#3": Object {
1005
- - "PK": "PK#3",
1006
- - "SK": "SK#3",
1007
- - "_docVersion": 0,
1008
- - "_tag": "B",
1009
- - "b": "bar",
1010
- - "pk": "PK#3",
1011
- - "sk": "SK#3",
1012
- },
1013
- "PK#COND__SK#COND": Object {
1014
- "PK": "PK#COND",
1015
- "SK": "SK#COND",
1016
- "_docVersion": 0,
1017
- @@ -36,12 +28,39 @@
1018
- "sk": "SK#COND",
1019
- },
1020
- "PK#UPDATE__SK#UPDATE": Object {
1021
- "PK": "PK#UPDATE",
1022
- "SK": "SK#UPDATE",
1023
- - "_docVersion": 0,
1024
- + "_docVersion": 1,
1025
- "_tag": "B",
1026
- - "b": "bar",
1027
- + "b": "baz",
1028
- "pk": "PK#UPDATE",
1029
- "sk": "SK#UPDATE",
1030
- + },
1031
- + "PK4__PK4": Object {
1032
- + "PK": "PK4",
1033
- + "SK": "PK4",
1034
- + "_docVersion": 0,
1035
- + "_tag": "A",
1036
- + "a": 4,
1037
- + "pk": "PK4",
1038
- + "sk": "PK4",
1039
- + },
1040
- + "PK5__PK5": Object {
1041
- + "PK": "PK5",
1042
- + "SK": "PK5",
1043
- + "_docVersion": 0,
1044
- + "_tag": "A",
1045
- + "a": 5,
1046
- + "pk": "PK5",
1047
- + "sk": "PK5",
1048
- + },
1049
- + "PK6__SK6": Object {
1050
- + "PK": "PK6",
1051
- + "SK": "SK6",
1052
- + "_docVersion": 0,
1053
- + "_tag": "B",
1054
- + "b": "baz",
1055
- + "pk": "PK6",
1056
- + "sk": "SK6",
1057
- },
1058
- }
1059
- `);
892
+ [PK#1 / SK#1]
893
+ PK: "PK#1"
894
+ SK: "SK#1"
895
+ _docVersion: 0
896
+ _tag: "A"
897
+ - a: 1
898
+ + a: -1
899
+ pk: "PK#1"
900
+ sk: "SK#1"
901
+
902
+ - [PK#2 / SK#2]
903
+ - PK: "PK#2"
904
+ - SK: "SK#2"
905
+ - _docVersion: 0
906
+ - _tag: "A"
907
+ - a: 2
908
+ - pk: "PK#2"
909
+ - sk: "SK#2"
910
+
911
+ - [PK#3 / SK#3]
912
+ - PK: "PK#3"
913
+ - SK: "SK#3"
914
+ - _docVersion: 0
915
+ - _tag: "B"
916
+ - b: "bar"
917
+ - pk: "PK#3"
918
+ - sk: "SK#3"
919
+
920
+ [PK#UPDATE / SK#UPDATE]
921
+ PK: "PK#UPDATE"
922
+ SK: "SK#UPDATE"
923
+ - _docVersion: 0
924
+ + _docVersion: 1
925
+ _tag: "B"
926
+ - b: "bar"
927
+ + b: "baz"
928
+ pk: "PK#UPDATE"
929
+ sk: "SK#UPDATE"
930
+
931
+ + [PK4 / PK4]
932
+ + PK: "PK4"
933
+ + SK: "PK4"
934
+ + _docVersion: 0
935
+ + _tag: "A"
936
+ + a: 4
937
+ + pk: "PK4"
938
+ + sk: "PK4"
939
+
940
+ + [PK5 / PK5]
941
+ + PK: "PK5"
942
+ + SK: "PK5"
943
+ + _docVersion: 0
944
+ + _tag: "A"
945
+ + a: 5
946
+ + pk: "PK5"
947
+ + sk: "PK5"
948
+
949
+ + [PK6 / SK6]
950
+ + PK: "PK6"
951
+ + SK: "SK6"
952
+ + _docVersion: 0
953
+ + _tag: "B"
954
+ + b: "baz"
955
+ + pk: "PK6"
956
+ + sk: "SK6"
957
+ `);
1060
958
  }));
1061
959
  test("it fails", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1062
960
  yield sandbox.seed(new A({ pk: "PK#1", sk: "SK#1", a: 1 }), new A({ pk: "PK#2", sk: "SK#2", a: 2 }), new B({ pk: "PK#3", sk: "SK#3", b: "bar" }), new B({ pk: "PK#UPDATE", sk: "SK#UPDATE", b: "bar" }), new B({ pk: "PK#COND", sk: "SK#COND", b: "cond" }));
@@ -1067,7 +965,7 @@ describe("bulk", () => {
1067
965
  A.operation("put", new A({ pk: "PK5", sk: "PK5", a: 5 })),
1068
966
  new B({ pk: "PK#6", sk: "SK#6", b: "baz" }).operation("put"),
1069
967
  // Fails
1070
- A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 }),
968
+ A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 })
1071
969
  ])).rejects.toBeInstanceOf(errors_1.BulkWriteTransactionError);
1072
970
  expect(yield sandbox.snapshot()).toEqual(before);
1073
971
  }));
@@ -1086,976 +984,976 @@ describe("bulk", () => {
1086
984
  new B({
1087
985
  pk: "PK#UPDATE",
1088
986
  sk: "SK#UPDATE",
1089
- b: "bar",
987
+ b: "bar"
1090
988
  }).operation("update", { b: "baz" }),
1091
- ...Array.from({ length: 100 }).map((_, i) => new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put")),
989
+ ...Array.from({ length: 100 }).map((_, i) => new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put"))
1092
990
  ]);
1093
991
  //#region snapshot
1094
992
  expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
1095
- Snapshot Diff:
1096
- - First value
1097
- + Second value
1098
-
1099
- @@ -2,28 +2,946 @@
1100
- "PK#1__SK#1": Object {
1101
- "PK": "PK#1",
1102
- "SK": "SK#1",
1103
- "_docVersion": 0,
1104
- "_tag": "A",
1105
- - "a": 1,
1106
- + "a": -1,
1107
- "pk": "PK#1",
1108
- "sk": "SK#1",
1109
- + },
1110
- + "PK#A0__SK#A0": Object {
1111
- + "PK": "PK#A0",
1112
- + "SK": "SK#A0",
1113
- + "_docVersion": 0,
1114
- + "_tag": "A",
1115
- + "a": 0,
1116
- + "pk": "PK#A0",
1117
- + "sk": "SK#A0",
1118
- + },
1119
- + "PK#A10__SK#A10": Object {
1120
- + "PK": "PK#A10",
1121
- + "SK": "SK#A10",
1122
- + "_docVersion": 0,
1123
- + "_tag": "A",
1124
- + "a": 10,
1125
- + "pk": "PK#A10",
1126
- + "sk": "SK#A10",
1127
- + },
1128
- + "PK#A11__SK#A11": Object {
1129
- + "PK": "PK#A11",
1130
- + "SK": "SK#A11",
1131
- + "_docVersion": 0,
1132
- + "_tag": "A",
1133
- + "a": 11,
1134
- + "pk": "PK#A11",
1135
- + "sk": "SK#A11",
1136
- + },
1137
- + "PK#A12__SK#A12": Object {
1138
- + "PK": "PK#A12",
1139
- + "SK": "SK#A12",
1140
- + "_docVersion": 0,
1141
- + "_tag": "A",
1142
- + "a": 12,
1143
- + "pk": "PK#A12",
1144
- + "sk": "SK#A12",
1145
- + },
1146
- + "PK#A13__SK#A13": Object {
1147
- + "PK": "PK#A13",
1148
- + "SK": "SK#A13",
1149
- + "_docVersion": 0,
1150
- + "_tag": "A",
1151
- + "a": 13,
1152
- + "pk": "PK#A13",
1153
- + "sk": "SK#A13",
1154
- },
1155
- - "PK#2__SK#2": Object {
1156
- - "PK": "PK#2",
1157
- - "SK": "SK#2",
1158
- + "PK#A14__SK#A14": Object {
1159
- + "PK": "PK#A14",
1160
- + "SK": "SK#A14",
1161
- + "_docVersion": 0,
1162
- + "_tag": "A",
1163
- + "a": 14,
1164
- + "pk": "PK#A14",
1165
- + "sk": "SK#A14",
1166
- + },
1167
- + "PK#A15__SK#A15": Object {
1168
- + "PK": "PK#A15",
1169
- + "SK": "SK#A15",
1170
- + "_docVersion": 0,
1171
- + "_tag": "A",
1172
- + "a": 15,
1173
- + "pk": "PK#A15",
1174
- + "sk": "SK#A15",
1175
- + },
1176
- + "PK#A16__SK#A16": Object {
1177
- + "PK": "PK#A16",
1178
- + "SK": "SK#A16",
1179
- + "_docVersion": 0,
1180
- + "_tag": "A",
1181
- + "a": 16,
1182
- + "pk": "PK#A16",
1183
- + "sk": "SK#A16",
1184
- + },
1185
- + "PK#A17__SK#A17": Object {
1186
- + "PK": "PK#A17",
1187
- + "SK": "SK#A17",
1188
- + "_docVersion": 0,
1189
- + "_tag": "A",
1190
- + "a": 17,
1191
- + "pk": "PK#A17",
1192
- + "sk": "SK#A17",
1193
- + },
1194
- + "PK#A18__SK#A18": Object {
1195
- + "PK": "PK#A18",
1196
- + "SK": "SK#A18",
1197
- + "_docVersion": 0,
1198
- + "_tag": "A",
1199
- + "a": 18,
1200
- + "pk": "PK#A18",
1201
- + "sk": "SK#A18",
1202
- + },
1203
- + "PK#A19__SK#A19": Object {
1204
- + "PK": "PK#A19",
1205
- + "SK": "SK#A19",
1206
- + "_docVersion": 0,
1207
- + "_tag": "A",
1208
- + "a": 19,
1209
- + "pk": "PK#A19",
1210
- + "sk": "SK#A19",
1211
- + },
1212
- + "PK#A1__SK#A1": Object {
1213
- + "PK": "PK#A1",
1214
- + "SK": "SK#A1",
1215
- + "_docVersion": 0,
1216
- + "_tag": "A",
1217
- + "a": 1,
1218
- + "pk": "PK#A1",
1219
- + "sk": "SK#A1",
1220
- + },
1221
- + "PK#A20__SK#A20": Object {
1222
- + "PK": "PK#A20",
1223
- + "SK": "SK#A20",
1224
- + "_docVersion": 0,
1225
- + "_tag": "A",
1226
- + "a": 20,
1227
- + "pk": "PK#A20",
1228
- + "sk": "SK#A20",
1229
- + },
1230
- + "PK#A21__SK#A21": Object {
1231
- + "PK": "PK#A21",
1232
- + "SK": "SK#A21",
1233
- + "_docVersion": 0,
1234
- + "_tag": "A",
1235
- + "a": 21,
1236
- + "pk": "PK#A21",
1237
- + "sk": "SK#A21",
1238
- + },
1239
- + "PK#A22__SK#A22": Object {
1240
- + "PK": "PK#A22",
1241
- + "SK": "SK#A22",
1242
- + "_docVersion": 0,
1243
- + "_tag": "A",
1244
- + "a": 22,
1245
- + "pk": "PK#A22",
1246
- + "sk": "SK#A22",
1247
- + },
1248
- + "PK#A23__SK#A23": Object {
1249
- + "PK": "PK#A23",
1250
- + "SK": "SK#A23",
1251
- + "_docVersion": 0,
1252
- + "_tag": "A",
1253
- + "a": 23,
1254
- + "pk": "PK#A23",
1255
- + "sk": "SK#A23",
1256
- + },
1257
- + "PK#A24__SK#A24": Object {
1258
- + "PK": "PK#A24",
1259
- + "SK": "SK#A24",
1260
- + "_docVersion": 0,
1261
- + "_tag": "A",
1262
- + "a": 24,
1263
- + "pk": "PK#A24",
1264
- + "sk": "SK#A24",
1265
- + },
1266
- + "PK#A25__SK#A25": Object {
1267
- + "PK": "PK#A25",
1268
- + "SK": "SK#A25",
1269
- + "_docVersion": 0,
1270
- + "_tag": "A",
1271
- + "a": 25,
1272
- + "pk": "PK#A25",
1273
- + "sk": "SK#A25",
1274
- + },
1275
- + "PK#A26__SK#A26": Object {
1276
- + "PK": "PK#A26",
1277
- + "SK": "SK#A26",
1278
- + "_docVersion": 0,
1279
- + "_tag": "A",
1280
- + "a": 26,
1281
- + "pk": "PK#A26",
1282
- + "sk": "SK#A26",
1283
- + },
1284
- + "PK#A27__SK#A27": Object {
1285
- + "PK": "PK#A27",
1286
- + "SK": "SK#A27",
1287
- + "_docVersion": 0,
1288
- + "_tag": "A",
1289
- + "a": 27,
1290
- + "pk": "PK#A27",
1291
- + "sk": "SK#A27",
1292
- + },
1293
- + "PK#A28__SK#A28": Object {
1294
- + "PK": "PK#A28",
1295
- + "SK": "SK#A28",
1296
- + "_docVersion": 0,
1297
- + "_tag": "A",
1298
- + "a": 28,
1299
- + "pk": "PK#A28",
1300
- + "sk": "SK#A28",
1301
- + },
1302
- + "PK#A29__SK#A29": Object {
1303
- + "PK": "PK#A29",
1304
- + "SK": "SK#A29",
1305
- + "_docVersion": 0,
1306
- + "_tag": "A",
1307
- + "a": 29,
1308
- + "pk": "PK#A29",
1309
- + "sk": "SK#A29",
1310
- + },
1311
- + "PK#A2__SK#A2": Object {
1312
- + "PK": "PK#A2",
1313
- + "SK": "SK#A2",
1314
- "_docVersion": 0,
1315
- "_tag": "A",
1316
- "a": 2,
1317
- - "pk": "PK#2",
1318
- - "sk": "SK#2",
1319
- + "pk": "PK#A2",
1320
- + "sk": "SK#A2",
1321
- + },
1322
- + "PK#A30__SK#A30": Object {
1323
- + "PK": "PK#A30",
1324
- + "SK": "SK#A30",
1325
- + "_docVersion": 0,
1326
- + "_tag": "A",
1327
- + "a": 30,
1328
- + "pk": "PK#A30",
1329
- + "sk": "SK#A30",
1330
- + },
1331
- + "PK#A31__SK#A31": Object {
1332
- + "PK": "PK#A31",
1333
- + "SK": "SK#A31",
1334
- + "_docVersion": 0,
1335
- + "_tag": "A",
1336
- + "a": 31,
1337
- + "pk": "PK#A31",
1338
- + "sk": "SK#A31",
1339
- + },
1340
- + "PK#A32__SK#A32": Object {
1341
- + "PK": "PK#A32",
1342
- + "SK": "SK#A32",
1343
- + "_docVersion": 0,
1344
- + "_tag": "A",
1345
- + "a": 32,
1346
- + "pk": "PK#A32",
1347
- + "sk": "SK#A32",
1348
- + },
1349
- + "PK#A33__SK#A33": Object {
1350
- + "PK": "PK#A33",
1351
- + "SK": "SK#A33",
1352
- + "_docVersion": 0,
1353
- + "_tag": "A",
1354
- + "a": 33,
1355
- + "pk": "PK#A33",
1356
- + "sk": "SK#A33",
1357
- + },
1358
- + "PK#A34__SK#A34": Object {
1359
- + "PK": "PK#A34",
1360
- + "SK": "SK#A34",
1361
- + "_docVersion": 0,
1362
- + "_tag": "A",
1363
- + "a": 34,
1364
- + "pk": "PK#A34",
1365
- + "sk": "SK#A34",
1366
- + },
1367
- + "PK#A35__SK#A35": Object {
1368
- + "PK": "PK#A35",
1369
- + "SK": "SK#A35",
1370
- + "_docVersion": 0,
1371
- + "_tag": "A",
1372
- + "a": 35,
1373
- + "pk": "PK#A35",
1374
- + "sk": "SK#A35",
1375
- + },
1376
- + "PK#A36__SK#A36": Object {
1377
- + "PK": "PK#A36",
1378
- + "SK": "SK#A36",
1379
- + "_docVersion": 0,
1380
- + "_tag": "A",
1381
- + "a": 36,
1382
- + "pk": "PK#A36",
1383
- + "sk": "SK#A36",
1384
- + },
1385
- + "PK#A37__SK#A37": Object {
1386
- + "PK": "PK#A37",
1387
- + "SK": "SK#A37",
1388
- + "_docVersion": 0,
1389
- + "_tag": "A",
1390
- + "a": 37,
1391
- + "pk": "PK#A37",
1392
- + "sk": "SK#A37",
1393
- + },
1394
- + "PK#A38__SK#A38": Object {
1395
- + "PK": "PK#A38",
1396
- + "SK": "SK#A38",
1397
- + "_docVersion": 0,
1398
- + "_tag": "A",
1399
- + "a": 38,
1400
- + "pk": "PK#A38",
1401
- + "sk": "SK#A38",
1402
- + },
1403
- + "PK#A39__SK#A39": Object {
1404
- + "PK": "PK#A39",
1405
- + "SK": "SK#A39",
1406
- + "_docVersion": 0,
1407
- + "_tag": "A",
1408
- + "a": 39,
1409
- + "pk": "PK#A39",
1410
- + "sk": "SK#A39",
1411
- + },
1412
- + "PK#A3__SK#A3": Object {
1413
- + "PK": "PK#A3",
1414
- + "SK": "SK#A3",
1415
- + "_docVersion": 0,
1416
- + "_tag": "A",
1417
- + "a": 3,
1418
- + "pk": "PK#A3",
1419
- + "sk": "SK#A3",
1420
- + },
1421
- + "PK#A40__SK#A40": Object {
1422
- + "PK": "PK#A40",
1423
- + "SK": "SK#A40",
1424
- + "_docVersion": 0,
1425
- + "_tag": "A",
1426
- + "a": 40,
1427
- + "pk": "PK#A40",
1428
- + "sk": "SK#A40",
1429
- + },
1430
- + "PK#A41__SK#A41": Object {
1431
- + "PK": "PK#A41",
1432
- + "SK": "SK#A41",
1433
- + "_docVersion": 0,
1434
- + "_tag": "A",
1435
- + "a": 41,
1436
- + "pk": "PK#A41",
1437
- + "sk": "SK#A41",
1438
- + },
1439
- + "PK#A42__SK#A42": Object {
1440
- + "PK": "PK#A42",
1441
- + "SK": "SK#A42",
1442
- + "_docVersion": 0,
1443
- + "_tag": "A",
1444
- + "a": 42,
1445
- + "pk": "PK#A42",
1446
- + "sk": "SK#A42",
1447
- + },
1448
- + "PK#A43__SK#A43": Object {
1449
- + "PK": "PK#A43",
1450
- + "SK": "SK#A43",
1451
- + "_docVersion": 0,
1452
- + "_tag": "A",
1453
- + "a": 43,
1454
- + "pk": "PK#A43",
1455
- + "sk": "SK#A43",
1456
- + },
1457
- + "PK#A44__SK#A44": Object {
1458
- + "PK": "PK#A44",
1459
- + "SK": "SK#A44",
1460
- + "_docVersion": 0,
1461
- + "_tag": "A",
1462
- + "a": 44,
1463
- + "pk": "PK#A44",
1464
- + "sk": "SK#A44",
1465
- + },
1466
- + "PK#A45__SK#A45": Object {
1467
- + "PK": "PK#A45",
1468
- + "SK": "SK#A45",
1469
- + "_docVersion": 0,
1470
- + "_tag": "A",
1471
- + "a": 45,
1472
- + "pk": "PK#A45",
1473
- + "sk": "SK#A45",
1474
- + },
1475
- + "PK#A46__SK#A46": Object {
1476
- + "PK": "PK#A46",
1477
- + "SK": "SK#A46",
1478
- + "_docVersion": 0,
1479
- + "_tag": "A",
1480
- + "a": 46,
1481
- + "pk": "PK#A46",
1482
- + "sk": "SK#A46",
1483
- + },
1484
- + "PK#A47__SK#A47": Object {
1485
- + "PK": "PK#A47",
1486
- + "SK": "SK#A47",
1487
- + "_docVersion": 0,
1488
- + "_tag": "A",
1489
- + "a": 47,
1490
- + "pk": "PK#A47",
1491
- + "sk": "SK#A47",
1492
- + },
1493
- + "PK#A48__SK#A48": Object {
1494
- + "PK": "PK#A48",
1495
- + "SK": "SK#A48",
1496
- + "_docVersion": 0,
1497
- + "_tag": "A",
1498
- + "a": 48,
1499
- + "pk": "PK#A48",
1500
- + "sk": "SK#A48",
1501
- + },
1502
- + "PK#A49__SK#A49": Object {
1503
- + "PK": "PK#A49",
1504
- + "SK": "SK#A49",
1505
- + "_docVersion": 0,
1506
- + "_tag": "A",
1507
- + "a": 49,
1508
- + "pk": "PK#A49",
1509
- + "sk": "SK#A49",
1510
- + },
1511
- + "PK#A4__SK#A4": Object {
1512
- + "PK": "PK#A4",
1513
- + "SK": "SK#A4",
1514
- + "_docVersion": 0,
1515
- + "_tag": "A",
1516
- + "a": 4,
1517
- + "pk": "PK#A4",
1518
- + "sk": "SK#A4",
1519
- + },
1520
- + "PK#A50__SK#A50": Object {
1521
- + "PK": "PK#A50",
1522
- + "SK": "SK#A50",
1523
- + "_docVersion": 0,
1524
- + "_tag": "A",
1525
- + "a": 50,
1526
- + "pk": "PK#A50",
1527
- + "sk": "SK#A50",
1528
- + },
1529
- + "PK#A51__SK#A51": Object {
1530
- + "PK": "PK#A51",
1531
- + "SK": "SK#A51",
1532
- + "_docVersion": 0,
1533
- + "_tag": "A",
1534
- + "a": 51,
1535
- + "pk": "PK#A51",
1536
- + "sk": "SK#A51",
1537
- + },
1538
- + "PK#A52__SK#A52": Object {
1539
- + "PK": "PK#A52",
1540
- + "SK": "SK#A52",
1541
- + "_docVersion": 0,
1542
- + "_tag": "A",
1543
- + "a": 52,
1544
- + "pk": "PK#A52",
1545
- + "sk": "SK#A52",
1546
- },
1547
- - "PK#3__SK#3": Object {
1548
- - "PK": "PK#3",
1549
- - "SK": "SK#3",
1550
- + "PK#A53__SK#A53": Object {
1551
- + "PK": "PK#A53",
1552
- + "SK": "SK#A53",
1553
- + "_docVersion": 0,
1554
- + "_tag": "A",
1555
- + "a": 53,
1556
- + "pk": "PK#A53",
1557
- + "sk": "SK#A53",
1558
- + },
1559
- + "PK#A54__SK#A54": Object {
1560
- + "PK": "PK#A54",
1561
- + "SK": "SK#A54",
1562
- + "_docVersion": 0,
1563
- + "_tag": "A",
1564
- + "a": 54,
1565
- + "pk": "PK#A54",
1566
- + "sk": "SK#A54",
1567
- + },
1568
- + "PK#A55__SK#A55": Object {
1569
- + "PK": "PK#A55",
1570
- + "SK": "SK#A55",
1571
- + "_docVersion": 0,
1572
- + "_tag": "A",
1573
- + "a": 55,
1574
- + "pk": "PK#A55",
1575
- + "sk": "SK#A55",
1576
- + },
1577
- + "PK#A56__SK#A56": Object {
1578
- + "PK": "PK#A56",
1579
- + "SK": "SK#A56",
1580
- + "_docVersion": 0,
1581
- + "_tag": "A",
1582
- + "a": 56,
1583
- + "pk": "PK#A56",
1584
- + "sk": "SK#A56",
1585
- + },
1586
- + "PK#A57__SK#A57": Object {
1587
- + "PK": "PK#A57",
1588
- + "SK": "SK#A57",
1589
- + "_docVersion": 0,
1590
- + "_tag": "A",
1591
- + "a": 57,
1592
- + "pk": "PK#A57",
1593
- + "sk": "SK#A57",
1594
- + },
1595
- + "PK#A58__SK#A58": Object {
1596
- + "PK": "PK#A58",
1597
- + "SK": "SK#A58",
1598
- + "_docVersion": 0,
1599
- + "_tag": "A",
1600
- + "a": 58,
1601
- + "pk": "PK#A58",
1602
- + "sk": "SK#A58",
1603
- + },
1604
- + "PK#A59__SK#A59": Object {
1605
- + "PK": "PK#A59",
1606
- + "SK": "SK#A59",
1607
- + "_docVersion": 0,
1608
- + "_tag": "A",
1609
- + "a": 59,
1610
- + "pk": "PK#A59",
1611
- + "sk": "SK#A59",
1612
- + },
1613
- + "PK#A5__SK#A5": Object {
1614
- + "PK": "PK#A5",
1615
- + "SK": "SK#A5",
1616
- + "_docVersion": 0,
1617
- + "_tag": "A",
1618
- + "a": 5,
1619
- + "pk": "PK#A5",
1620
- + "sk": "SK#A5",
1621
- + },
1622
- + "PK#A60__SK#A60": Object {
1623
- + "PK": "PK#A60",
1624
- + "SK": "SK#A60",
1625
- + "_docVersion": 0,
1626
- + "_tag": "A",
1627
- + "a": 60,
1628
- + "pk": "PK#A60",
1629
- + "sk": "SK#A60",
1630
- + },
1631
- + "PK#A61__SK#A61": Object {
1632
- + "PK": "PK#A61",
1633
- + "SK": "SK#A61",
1634
- + "_docVersion": 0,
1635
- + "_tag": "A",
1636
- + "a": 61,
1637
- + "pk": "PK#A61",
1638
- + "sk": "SK#A61",
1639
- + },
1640
- + "PK#A62__SK#A62": Object {
1641
- + "PK": "PK#A62",
1642
- + "SK": "SK#A62",
1643
- + "_docVersion": 0,
1644
- + "_tag": "A",
1645
- + "a": 62,
1646
- + "pk": "PK#A62",
1647
- + "sk": "SK#A62",
1648
- + },
1649
- + "PK#A63__SK#A63": Object {
1650
- + "PK": "PK#A63",
1651
- + "SK": "SK#A63",
1652
- + "_docVersion": 0,
1653
- + "_tag": "A",
1654
- + "a": 63,
1655
- + "pk": "PK#A63",
1656
- + "sk": "SK#A63",
1657
- + },
1658
- + "PK#A64__SK#A64": Object {
1659
- + "PK": "PK#A64",
1660
- + "SK": "SK#A64",
1661
- + "_docVersion": 0,
1662
- + "_tag": "A",
1663
- + "a": 64,
1664
- + "pk": "PK#A64",
1665
- + "sk": "SK#A64",
1666
- + },
1667
- + "PK#A65__SK#A65": Object {
1668
- + "PK": "PK#A65",
1669
- + "SK": "SK#A65",
1670
- + "_docVersion": 0,
1671
- + "_tag": "A",
1672
- + "a": 65,
1673
- + "pk": "PK#A65",
1674
- + "sk": "SK#A65",
1675
- + },
1676
- + "PK#A66__SK#A66": Object {
1677
- + "PK": "PK#A66",
1678
- + "SK": "SK#A66",
1679
- + "_docVersion": 0,
1680
- + "_tag": "A",
1681
- + "a": 66,
1682
- + "pk": "PK#A66",
1683
- + "sk": "SK#A66",
1684
- + },
1685
- + "PK#A67__SK#A67": Object {
1686
- + "PK": "PK#A67",
1687
- + "SK": "SK#A67",
1688
- + "_docVersion": 0,
1689
- + "_tag": "A",
1690
- + "a": 67,
1691
- + "pk": "PK#A67",
1692
- + "sk": "SK#A67",
1693
- + },
1694
- + "PK#A68__SK#A68": Object {
1695
- + "PK": "PK#A68",
1696
- + "SK": "SK#A68",
1697
- + "_docVersion": 0,
1698
- + "_tag": "A",
1699
- + "a": 68,
1700
- + "pk": "PK#A68",
1701
- + "sk": "SK#A68",
1702
- + },
1703
- + "PK#A69__SK#A69": Object {
1704
- + "PK": "PK#A69",
1705
- + "SK": "SK#A69",
1706
- + "_docVersion": 0,
1707
- + "_tag": "A",
1708
- + "a": 69,
1709
- + "pk": "PK#A69",
1710
- + "sk": "SK#A69",
1711
- + },
1712
- + "PK#A6__SK#A6": Object {
1713
- + "PK": "PK#A6",
1714
- + "SK": "SK#A6",
1715
- + "_docVersion": 0,
1716
- + "_tag": "A",
1717
- + "a": 6,
1718
- + "pk": "PK#A6",
1719
- + "sk": "SK#A6",
1720
- + },
1721
- + "PK#A70__SK#A70": Object {
1722
- + "PK": "PK#A70",
1723
- + "SK": "SK#A70",
1724
- + "_docVersion": 0,
1725
- + "_tag": "A",
1726
- + "a": 70,
1727
- + "pk": "PK#A70",
1728
- + "sk": "SK#A70",
1729
- + },
1730
- + "PK#A71__SK#A71": Object {
1731
- + "PK": "PK#A71",
1732
- + "SK": "SK#A71",
1733
- + "_docVersion": 0,
1734
- + "_tag": "A",
1735
- + "a": 71,
1736
- + "pk": "PK#A71",
1737
- + "sk": "SK#A71",
1738
- + },
1739
- + "PK#A72__SK#A72": Object {
1740
- + "PK": "PK#A72",
1741
- + "SK": "SK#A72",
1742
- + "_docVersion": 0,
1743
- + "_tag": "A",
1744
- + "a": 72,
1745
- + "pk": "PK#A72",
1746
- + "sk": "SK#A72",
1747
- + },
1748
- + "PK#A73__SK#A73": Object {
1749
- + "PK": "PK#A73",
1750
- + "SK": "SK#A73",
1751
- + "_docVersion": 0,
1752
- + "_tag": "A",
1753
- + "a": 73,
1754
- + "pk": "PK#A73",
1755
- + "sk": "SK#A73",
1756
- + },
1757
- + "PK#A74__SK#A74": Object {
1758
- + "PK": "PK#A74",
1759
- + "SK": "SK#A74",
1760
- + "_docVersion": 0,
1761
- + "_tag": "A",
1762
- + "a": 74,
1763
- + "pk": "PK#A74",
1764
- + "sk": "SK#A74",
1765
- + },
1766
- + "PK#A75__SK#A75": Object {
1767
- + "PK": "PK#A75",
1768
- + "SK": "SK#A75",
1769
- + "_docVersion": 0,
1770
- + "_tag": "A",
1771
- + "a": 75,
1772
- + "pk": "PK#A75",
1773
- + "sk": "SK#A75",
1774
- + },
1775
- + "PK#A76__SK#A76": Object {
1776
- + "PK": "PK#A76",
1777
- + "SK": "SK#A76",
1778
- + "_docVersion": 0,
1779
- + "_tag": "A",
1780
- + "a": 76,
1781
- + "pk": "PK#A76",
1782
- + "sk": "SK#A76",
1783
- + },
1784
- + "PK#A77__SK#A77": Object {
1785
- + "PK": "PK#A77",
1786
- + "SK": "SK#A77",
1787
- + "_docVersion": 0,
1788
- + "_tag": "A",
1789
- + "a": 77,
1790
- + "pk": "PK#A77",
1791
- + "sk": "SK#A77",
1792
- + },
1793
- + "PK#A78__SK#A78": Object {
1794
- + "PK": "PK#A78",
1795
- + "SK": "SK#A78",
1796
- + "_docVersion": 0,
1797
- + "_tag": "A",
1798
- + "a": 78,
1799
- + "pk": "PK#A78",
1800
- + "sk": "SK#A78",
1801
- + },
1802
- + "PK#A79__SK#A79": Object {
1803
- + "PK": "PK#A79",
1804
- + "SK": "SK#A79",
1805
- + "_docVersion": 0,
1806
- + "_tag": "A",
1807
- + "a": 79,
1808
- + "pk": "PK#A79",
1809
- + "sk": "SK#A79",
1810
- + },
1811
- + "PK#A7__SK#A7": Object {
1812
- + "PK": "PK#A7",
1813
- + "SK": "SK#A7",
1814
- + "_docVersion": 0,
1815
- + "_tag": "A",
1816
- + "a": 7,
1817
- + "pk": "PK#A7",
1818
- + "sk": "SK#A7",
1819
- + },
1820
- + "PK#A80__SK#A80": Object {
1821
- + "PK": "PK#A80",
1822
- + "SK": "SK#A80",
1823
- + "_docVersion": 0,
1824
- + "_tag": "A",
1825
- + "a": 80,
1826
- + "pk": "PK#A80",
1827
- + "sk": "SK#A80",
1828
- + },
1829
- + "PK#A81__SK#A81": Object {
1830
- + "PK": "PK#A81",
1831
- + "SK": "SK#A81",
1832
- + "_docVersion": 0,
1833
- + "_tag": "A",
1834
- + "a": 81,
1835
- + "pk": "PK#A81",
1836
- + "sk": "SK#A81",
1837
- + },
1838
- + "PK#A82__SK#A82": Object {
1839
- + "PK": "PK#A82",
1840
- + "SK": "SK#A82",
1841
- + "_docVersion": 0,
1842
- + "_tag": "A",
1843
- + "a": 82,
1844
- + "pk": "PK#A82",
1845
- + "sk": "SK#A82",
1846
- + },
1847
- + "PK#A83__SK#A83": Object {
1848
- + "PK": "PK#A83",
1849
- + "SK": "SK#A83",
1850
- + "_docVersion": 0,
1851
- + "_tag": "A",
1852
- + "a": 83,
1853
- + "pk": "PK#A83",
1854
- + "sk": "SK#A83",
1855
- + },
1856
- + "PK#A84__SK#A84": Object {
1857
- + "PK": "PK#A84",
1858
- + "SK": "SK#A84",
1859
- + "_docVersion": 0,
1860
- + "_tag": "A",
1861
- + "a": 84,
1862
- + "pk": "PK#A84",
1863
- + "sk": "SK#A84",
1864
- + },
1865
- + "PK#A85__SK#A85": Object {
1866
- + "PK": "PK#A85",
1867
- + "SK": "SK#A85",
1868
- + "_docVersion": 0,
1869
- + "_tag": "A",
1870
- + "a": 85,
1871
- + "pk": "PK#A85",
1872
- + "sk": "SK#A85",
1873
- + },
1874
- + "PK#A86__SK#A86": Object {
1875
- + "PK": "PK#A86",
1876
- + "SK": "SK#A86",
1877
- + "_docVersion": 0,
1878
- + "_tag": "A",
1879
- + "a": 86,
1880
- + "pk": "PK#A86",
1881
- + "sk": "SK#A86",
1882
- + },
1883
- + "PK#A87__SK#A87": Object {
1884
- + "PK": "PK#A87",
1885
- + "SK": "SK#A87",
1886
- + "_docVersion": 0,
1887
- + "_tag": "A",
1888
- + "a": 87,
1889
- + "pk": "PK#A87",
1890
- + "sk": "SK#A87",
1891
- + },
1892
- + "PK#A88__SK#A88": Object {
1893
- + "PK": "PK#A88",
1894
- + "SK": "SK#A88",
1895
- + "_docVersion": 0,
1896
- + "_tag": "A",
1897
- + "a": 88,
1898
- + "pk": "PK#A88",
1899
- + "sk": "SK#A88",
1900
- + },
1901
- + "PK#A89__SK#A89": Object {
1902
- + "PK": "PK#A89",
1903
- + "SK": "SK#A89",
1904
- + "_docVersion": 0,
1905
- + "_tag": "A",
1906
- + "a": 89,
1907
- + "pk": "PK#A89",
1908
- + "sk": "SK#A89",
1909
- + },
1910
- + "PK#A8__SK#A8": Object {
1911
- + "PK": "PK#A8",
1912
- + "SK": "SK#A8",
1913
- + "_docVersion": 0,
1914
- + "_tag": "A",
1915
- + "a": 8,
1916
- + "pk": "PK#A8",
1917
- + "sk": "SK#A8",
1918
- + },
1919
- + "PK#A90__SK#A90": Object {
1920
- + "PK": "PK#A90",
1921
- + "SK": "SK#A90",
1922
- + "_docVersion": 0,
1923
- + "_tag": "A",
1924
- + "a": 90,
1925
- + "pk": "PK#A90",
1926
- + "sk": "SK#A90",
1927
- + },
1928
- + "PK#A91__SK#A91": Object {
1929
- + "PK": "PK#A91",
1930
- + "SK": "SK#A91",
1931
- + "_docVersion": 0,
1932
- + "_tag": "A",
1933
- + "a": 91,
1934
- + "pk": "PK#A91",
1935
- + "sk": "SK#A91",
1936
- + },
1937
- + "PK#A92__SK#A92": Object {
1938
- + "PK": "PK#A92",
1939
- + "SK": "SK#A92",
1940
- + "_docVersion": 0,
1941
- + "_tag": "A",
1942
- + "a": 92,
1943
- + "pk": "PK#A92",
1944
- + "sk": "SK#A92",
1945
- + },
1946
- + "PK#A93__SK#A93": Object {
1947
- + "PK": "PK#A93",
1948
- + "SK": "SK#A93",
1949
- + "_docVersion": 0,
1950
- + "_tag": "A",
1951
- + "a": 93,
1952
- + "pk": "PK#A93",
1953
- + "sk": "SK#A93",
1954
- + },
1955
- + "PK#A94__SK#A94": Object {
1956
- + "PK": "PK#A94",
1957
- + "SK": "SK#A94",
1958
- + "_docVersion": 0,
1959
- + "_tag": "A",
1960
- + "a": 94,
1961
- + "pk": "PK#A94",
1962
- + "sk": "SK#A94",
1963
- + },
1964
- + "PK#A95__SK#A95": Object {
1965
- + "PK": "PK#A95",
1966
- + "SK": "SK#A95",
1967
- + "_docVersion": 0,
1968
- + "_tag": "A",
1969
- + "a": 95,
1970
- + "pk": "PK#A95",
1971
- + "sk": "SK#A95",
1972
- + },
1973
- + "PK#A96__SK#A96": Object {
1974
- + "PK": "PK#A96",
1975
- + "SK": "SK#A96",
1976
- + "_docVersion": 0,
1977
- + "_tag": "A",
1978
- + "a": 96,
1979
- + "pk": "PK#A96",
1980
- + "sk": "SK#A96",
1981
- + },
1982
- + "PK#A97__SK#A97": Object {
1983
- + "PK": "PK#A97",
1984
- + "SK": "SK#A97",
1985
- + "_docVersion": 0,
1986
- + "_tag": "A",
1987
- + "a": 97,
1988
- + "pk": "PK#A97",
1989
- + "sk": "SK#A97",
1990
- + },
1991
- + "PK#A98__SK#A98": Object {
1992
- + "PK": "PK#A98",
1993
- + "SK": "SK#A98",
1994
- + "_docVersion": 0,
1995
- + "_tag": "A",
1996
- + "a": 98,
1997
- + "pk": "PK#A98",
1998
- + "sk": "SK#A98",
1999
- + },
2000
- + "PK#A99__SK#A99": Object {
2001
- + "PK": "PK#A99",
2002
- + "SK": "SK#A99",
2003
- + "_docVersion": 0,
2004
- + "_tag": "A",
2005
- + "a": 99,
2006
- + "pk": "PK#A99",
2007
- + "sk": "SK#A99",
2008
- + },
2009
- + "PK#A9__SK#A9": Object {
2010
- + "PK": "PK#A9",
2011
- + "SK": "SK#A9",
2012
- "_docVersion": 0,
2013
- + "_tag": "A",
2014
- + "a": 9,
2015
- + "pk": "PK#A9",
2016
- + "sk": "SK#A9",
2017
- + },
2018
- + "PK#UPDATE__SK#UPDATE": Object {
2019
- + "PK": "PK#UPDATE",
2020
- + "SK": "SK#UPDATE",
2021
- + "_docVersion": 1,
2022
- "_tag": "B",
2023
- - "b": "bar",
2024
- - "pk": "PK#3",
2025
- - "sk": "SK#3",
2026
- + "b": "baz",
2027
- + "pk": "PK#UPDATE",
2028
- + "sk": "SK#UPDATE",
2029
- + },
2030
- + "PK4__PK4": Object {
2031
- + "PK": "PK4",
2032
- + "SK": "PK4",
2033
- + "_docVersion": 0,
2034
- + "_tag": "A",
2035
- + "a": 4,
2036
- + "pk": "PK4",
2037
- + "sk": "PK4",
2038
- + },
2039
- + "PK5__PK5": Object {
2040
- + "PK": "PK5",
2041
- + "SK": "PK5",
2042
- + "_docVersion": 0,
2043
- + "_tag": "A",
2044
- + "a": 5,
2045
- + "pk": "PK5",
2046
- + "sk": "PK5",
2047
- + },
2048
- + "PK6__SK6": Object {
2049
- + "PK": "PK6",
2050
- + "SK": "SK6",
2051
- + "_docVersion": 0,
2052
- + "_tag": "B",
2053
- + "b": "baz",
2054
- + "pk": "PK6",
2055
- + "sk": "SK6",
2056
- },
2057
- }
2058
- `);
993
+ [PK#1 / SK#1]
994
+ PK: "PK#1"
995
+ SK: "SK#1"
996
+ _docVersion: 0
997
+ _tag: "A"
998
+ - a: 1
999
+ + a: -1
1000
+ pk: "PK#1"
1001
+ sk: "SK#1"
1002
+
1003
+ - [PK#2 / SK#2]
1004
+ - PK: "PK#2"
1005
+ - SK: "SK#2"
1006
+ - _docVersion: 0
1007
+ - _tag: "A"
1008
+ - a: 2
1009
+ - pk: "PK#2"
1010
+ - sk: "SK#2"
1011
+
1012
+ - [PK#3 / SK#3]
1013
+ - PK: "PK#3"
1014
+ - SK: "SK#3"
1015
+ - _docVersion: 0
1016
+ - _tag: "B"
1017
+ - b: "bar"
1018
+ - pk: "PK#3"
1019
+ - sk: "SK#3"
1020
+
1021
+ + [PK#A0 / SK#A0]
1022
+ + PK: "PK#A0"
1023
+ + SK: "SK#A0"
1024
+ + _docVersion: 0
1025
+ + _tag: "A"
1026
+ + a: 0
1027
+ + pk: "PK#A0"
1028
+ + sk: "SK#A0"
1029
+
1030
+ + [PK#A1 / SK#A1]
1031
+ + PK: "PK#A1"
1032
+ + SK: "SK#A1"
1033
+ + _docVersion: 0
1034
+ + _tag: "A"
1035
+ + a: 1
1036
+ + pk: "PK#A1"
1037
+ + sk: "SK#A1"
1038
+
1039
+ + [PK#A10 / SK#A10]
1040
+ + PK: "PK#A10"
1041
+ + SK: "SK#A10"
1042
+ + _docVersion: 0
1043
+ + _tag: "A"
1044
+ + a: 10
1045
+ + pk: "PK#A10"
1046
+ + sk: "SK#A10"
1047
+
1048
+ + [PK#A11 / SK#A11]
1049
+ + PK: "PK#A11"
1050
+ + SK: "SK#A11"
1051
+ + _docVersion: 0
1052
+ + _tag: "A"
1053
+ + a: 11
1054
+ + pk: "PK#A11"
1055
+ + sk: "SK#A11"
1056
+
1057
+ + [PK#A12 / SK#A12]
1058
+ + PK: "PK#A12"
1059
+ + SK: "SK#A12"
1060
+ + _docVersion: 0
1061
+ + _tag: "A"
1062
+ + a: 12
1063
+ + pk: "PK#A12"
1064
+ + sk: "SK#A12"
1065
+
1066
+ + [PK#A13 / SK#A13]
1067
+ + PK: "PK#A13"
1068
+ + SK: "SK#A13"
1069
+ + _docVersion: 0
1070
+ + _tag: "A"
1071
+ + a: 13
1072
+ + pk: "PK#A13"
1073
+ + sk: "SK#A13"
1074
+
1075
+ + [PK#A14 / SK#A14]
1076
+ + PK: "PK#A14"
1077
+ + SK: "SK#A14"
1078
+ + _docVersion: 0
1079
+ + _tag: "A"
1080
+ + a: 14
1081
+ + pk: "PK#A14"
1082
+ + sk: "SK#A14"
1083
+
1084
+ + [PK#A15 / SK#A15]
1085
+ + PK: "PK#A15"
1086
+ + SK: "SK#A15"
1087
+ + _docVersion: 0
1088
+ + _tag: "A"
1089
+ + a: 15
1090
+ + pk: "PK#A15"
1091
+ + sk: "SK#A15"
1092
+
1093
+ + [PK#A16 / SK#A16]
1094
+ + PK: "PK#A16"
1095
+ + SK: "SK#A16"
1096
+ + _docVersion: 0
1097
+ + _tag: "A"
1098
+ + a: 16
1099
+ + pk: "PK#A16"
1100
+ + sk: "SK#A16"
1101
+
1102
+ + [PK#A17 / SK#A17]
1103
+ + PK: "PK#A17"
1104
+ + SK: "SK#A17"
1105
+ + _docVersion: 0
1106
+ + _tag: "A"
1107
+ + a: 17
1108
+ + pk: "PK#A17"
1109
+ + sk: "SK#A17"
1110
+
1111
+ + [PK#A18 / SK#A18]
1112
+ + PK: "PK#A18"
1113
+ + SK: "SK#A18"
1114
+ + _docVersion: 0
1115
+ + _tag: "A"
1116
+ + a: 18
1117
+ + pk: "PK#A18"
1118
+ + sk: "SK#A18"
1119
+
1120
+ + [PK#A19 / SK#A19]
1121
+ + PK: "PK#A19"
1122
+ + SK: "SK#A19"
1123
+ + _docVersion: 0
1124
+ + _tag: "A"
1125
+ + a: 19
1126
+ + pk: "PK#A19"
1127
+ + sk: "SK#A19"
1128
+
1129
+ + [PK#A2 / SK#A2]
1130
+ + PK: "PK#A2"
1131
+ + SK: "SK#A2"
1132
+ + _docVersion: 0
1133
+ + _tag: "A"
1134
+ + a: 2
1135
+ + pk: "PK#A2"
1136
+ + sk: "SK#A2"
1137
+
1138
+ + [PK#A20 / SK#A20]
1139
+ + PK: "PK#A20"
1140
+ + SK: "SK#A20"
1141
+ + _docVersion: 0
1142
+ + _tag: "A"
1143
+ + a: 20
1144
+ + pk: "PK#A20"
1145
+ + sk: "SK#A20"
1146
+
1147
+ + [PK#A21 / SK#A21]
1148
+ + PK: "PK#A21"
1149
+ + SK: "SK#A21"
1150
+ + _docVersion: 0
1151
+ + _tag: "A"
1152
+ + a: 21
1153
+ + pk: "PK#A21"
1154
+ + sk: "SK#A21"
1155
+
1156
+ + [PK#A22 / SK#A22]
1157
+ + PK: "PK#A22"
1158
+ + SK: "SK#A22"
1159
+ + _docVersion: 0
1160
+ + _tag: "A"
1161
+ + a: 22
1162
+ + pk: "PK#A22"
1163
+ + sk: "SK#A22"
1164
+
1165
+ + [PK#A23 / SK#A23]
1166
+ + PK: "PK#A23"
1167
+ + SK: "SK#A23"
1168
+ + _docVersion: 0
1169
+ + _tag: "A"
1170
+ + a: 23
1171
+ + pk: "PK#A23"
1172
+ + sk: "SK#A23"
1173
+
1174
+ + [PK#A24 / SK#A24]
1175
+ + PK: "PK#A24"
1176
+ + SK: "SK#A24"
1177
+ + _docVersion: 0
1178
+ + _tag: "A"
1179
+ + a: 24
1180
+ + pk: "PK#A24"
1181
+ + sk: "SK#A24"
1182
+
1183
+ + [PK#A25 / SK#A25]
1184
+ + PK: "PK#A25"
1185
+ + SK: "SK#A25"
1186
+ + _docVersion: 0
1187
+ + _tag: "A"
1188
+ + a: 25
1189
+ + pk: "PK#A25"
1190
+ + sk: "SK#A25"
1191
+
1192
+ + [PK#A26 / SK#A26]
1193
+ + PK: "PK#A26"
1194
+ + SK: "SK#A26"
1195
+ + _docVersion: 0
1196
+ + _tag: "A"
1197
+ + a: 26
1198
+ + pk: "PK#A26"
1199
+ + sk: "SK#A26"
1200
+
1201
+ + [PK#A27 / SK#A27]
1202
+ + PK: "PK#A27"
1203
+ + SK: "SK#A27"
1204
+ + _docVersion: 0
1205
+ + _tag: "A"
1206
+ + a: 27
1207
+ + pk: "PK#A27"
1208
+ + sk: "SK#A27"
1209
+
1210
+ + [PK#A28 / SK#A28]
1211
+ + PK: "PK#A28"
1212
+ + SK: "SK#A28"
1213
+ + _docVersion: 0
1214
+ + _tag: "A"
1215
+ + a: 28
1216
+ + pk: "PK#A28"
1217
+ + sk: "SK#A28"
1218
+
1219
+ + [PK#A29 / SK#A29]
1220
+ + PK: "PK#A29"
1221
+ + SK: "SK#A29"
1222
+ + _docVersion: 0
1223
+ + _tag: "A"
1224
+ + a: 29
1225
+ + pk: "PK#A29"
1226
+ + sk: "SK#A29"
1227
+
1228
+ + [PK#A3 / SK#A3]
1229
+ + PK: "PK#A3"
1230
+ + SK: "SK#A3"
1231
+ + _docVersion: 0
1232
+ + _tag: "A"
1233
+ + a: 3
1234
+ + pk: "PK#A3"
1235
+ + sk: "SK#A3"
1236
+
1237
+ + [PK#A30 / SK#A30]
1238
+ + PK: "PK#A30"
1239
+ + SK: "SK#A30"
1240
+ + _docVersion: 0
1241
+ + _tag: "A"
1242
+ + a: 30
1243
+ + pk: "PK#A30"
1244
+ + sk: "SK#A30"
1245
+
1246
+ + [PK#A31 / SK#A31]
1247
+ + PK: "PK#A31"
1248
+ + SK: "SK#A31"
1249
+ + _docVersion: 0
1250
+ + _tag: "A"
1251
+ + a: 31
1252
+ + pk: "PK#A31"
1253
+ + sk: "SK#A31"
1254
+
1255
+ + [PK#A32 / SK#A32]
1256
+ + PK: "PK#A32"
1257
+ + SK: "SK#A32"
1258
+ + _docVersion: 0
1259
+ + _tag: "A"
1260
+ + a: 32
1261
+ + pk: "PK#A32"
1262
+ + sk: "SK#A32"
1263
+
1264
+ + [PK#A33 / SK#A33]
1265
+ + PK: "PK#A33"
1266
+ + SK: "SK#A33"
1267
+ + _docVersion: 0
1268
+ + _tag: "A"
1269
+ + a: 33
1270
+ + pk: "PK#A33"
1271
+ + sk: "SK#A33"
1272
+
1273
+ + [PK#A34 / SK#A34]
1274
+ + PK: "PK#A34"
1275
+ + SK: "SK#A34"
1276
+ + _docVersion: 0
1277
+ + _tag: "A"
1278
+ + a: 34
1279
+ + pk: "PK#A34"
1280
+ + sk: "SK#A34"
1281
+
1282
+ + [PK#A35 / SK#A35]
1283
+ + PK: "PK#A35"
1284
+ + SK: "SK#A35"
1285
+ + _docVersion: 0
1286
+ + _tag: "A"
1287
+ + a: 35
1288
+ + pk: "PK#A35"
1289
+ + sk: "SK#A35"
1290
+
1291
+ + [PK#A36 / SK#A36]
1292
+ + PK: "PK#A36"
1293
+ + SK: "SK#A36"
1294
+ + _docVersion: 0
1295
+ + _tag: "A"
1296
+ + a: 36
1297
+ + pk: "PK#A36"
1298
+ + sk: "SK#A36"
1299
+
1300
+ + [PK#A37 / SK#A37]
1301
+ + PK: "PK#A37"
1302
+ + SK: "SK#A37"
1303
+ + _docVersion: 0
1304
+ + _tag: "A"
1305
+ + a: 37
1306
+ + pk: "PK#A37"
1307
+ + sk: "SK#A37"
1308
+
1309
+ + [PK#A38 / SK#A38]
1310
+ + PK: "PK#A38"
1311
+ + SK: "SK#A38"
1312
+ + _docVersion: 0
1313
+ + _tag: "A"
1314
+ + a: 38
1315
+ + pk: "PK#A38"
1316
+ + sk: "SK#A38"
1317
+
1318
+ + [PK#A39 / SK#A39]
1319
+ + PK: "PK#A39"
1320
+ + SK: "SK#A39"
1321
+ + _docVersion: 0
1322
+ + _tag: "A"
1323
+ + a: 39
1324
+ + pk: "PK#A39"
1325
+ + sk: "SK#A39"
1326
+
1327
+ + [PK#A4 / SK#A4]
1328
+ + PK: "PK#A4"
1329
+ + SK: "SK#A4"
1330
+ + _docVersion: 0
1331
+ + _tag: "A"
1332
+ + a: 4
1333
+ + pk: "PK#A4"
1334
+ + sk: "SK#A4"
1335
+
1336
+ + [PK#A40 / SK#A40]
1337
+ + PK: "PK#A40"
1338
+ + SK: "SK#A40"
1339
+ + _docVersion: 0
1340
+ + _tag: "A"
1341
+ + a: 40
1342
+ + pk: "PK#A40"
1343
+ + sk: "SK#A40"
1344
+
1345
+ + [PK#A41 / SK#A41]
1346
+ + PK: "PK#A41"
1347
+ + SK: "SK#A41"
1348
+ + _docVersion: 0
1349
+ + _tag: "A"
1350
+ + a: 41
1351
+ + pk: "PK#A41"
1352
+ + sk: "SK#A41"
1353
+
1354
+ + [PK#A42 / SK#A42]
1355
+ + PK: "PK#A42"
1356
+ + SK: "SK#A42"
1357
+ + _docVersion: 0
1358
+ + _tag: "A"
1359
+ + a: 42
1360
+ + pk: "PK#A42"
1361
+ + sk: "SK#A42"
1362
+
1363
+ + [PK#A43 / SK#A43]
1364
+ + PK: "PK#A43"
1365
+ + SK: "SK#A43"
1366
+ + _docVersion: 0
1367
+ + _tag: "A"
1368
+ + a: 43
1369
+ + pk: "PK#A43"
1370
+ + sk: "SK#A43"
1371
+
1372
+ + [PK#A44 / SK#A44]
1373
+ + PK: "PK#A44"
1374
+ + SK: "SK#A44"
1375
+ + _docVersion: 0
1376
+ + _tag: "A"
1377
+ + a: 44
1378
+ + pk: "PK#A44"
1379
+ + sk: "SK#A44"
1380
+
1381
+ + [PK#A45 / SK#A45]
1382
+ + PK: "PK#A45"
1383
+ + SK: "SK#A45"
1384
+ + _docVersion: 0
1385
+ + _tag: "A"
1386
+ + a: 45
1387
+ + pk: "PK#A45"
1388
+ + sk: "SK#A45"
1389
+
1390
+ + [PK#A46 / SK#A46]
1391
+ + PK: "PK#A46"
1392
+ + SK: "SK#A46"
1393
+ + _docVersion: 0
1394
+ + _tag: "A"
1395
+ + a: 46
1396
+ + pk: "PK#A46"
1397
+ + sk: "SK#A46"
1398
+
1399
+ + [PK#A47 / SK#A47]
1400
+ + PK: "PK#A47"
1401
+ + SK: "SK#A47"
1402
+ + _docVersion: 0
1403
+ + _tag: "A"
1404
+ + a: 47
1405
+ + pk: "PK#A47"
1406
+ + sk: "SK#A47"
1407
+
1408
+ + [PK#A48 / SK#A48]
1409
+ + PK: "PK#A48"
1410
+ + SK: "SK#A48"
1411
+ + _docVersion: 0
1412
+ + _tag: "A"
1413
+ + a: 48
1414
+ + pk: "PK#A48"
1415
+ + sk: "SK#A48"
1416
+
1417
+ + [PK#A49 / SK#A49]
1418
+ + PK: "PK#A49"
1419
+ + SK: "SK#A49"
1420
+ + _docVersion: 0
1421
+ + _tag: "A"
1422
+ + a: 49
1423
+ + pk: "PK#A49"
1424
+ + sk: "SK#A49"
1425
+
1426
+ + [PK#A5 / SK#A5]
1427
+ + PK: "PK#A5"
1428
+ + SK: "SK#A5"
1429
+ + _docVersion: 0
1430
+ + _tag: "A"
1431
+ + a: 5
1432
+ + pk: "PK#A5"
1433
+ + sk: "SK#A5"
1434
+
1435
+ + [PK#A50 / SK#A50]
1436
+ + PK: "PK#A50"
1437
+ + SK: "SK#A50"
1438
+ + _docVersion: 0
1439
+ + _tag: "A"
1440
+ + a: 50
1441
+ + pk: "PK#A50"
1442
+ + sk: "SK#A50"
1443
+
1444
+ + [PK#A51 / SK#A51]
1445
+ + PK: "PK#A51"
1446
+ + SK: "SK#A51"
1447
+ + _docVersion: 0
1448
+ + _tag: "A"
1449
+ + a: 51
1450
+ + pk: "PK#A51"
1451
+ + sk: "SK#A51"
1452
+
1453
+ + [PK#A52 / SK#A52]
1454
+ + PK: "PK#A52"
1455
+ + SK: "SK#A52"
1456
+ + _docVersion: 0
1457
+ + _tag: "A"
1458
+ + a: 52
1459
+ + pk: "PK#A52"
1460
+ + sk: "SK#A52"
1461
+
1462
+ + [PK#A53 / SK#A53]
1463
+ + PK: "PK#A53"
1464
+ + SK: "SK#A53"
1465
+ + _docVersion: 0
1466
+ + _tag: "A"
1467
+ + a: 53
1468
+ + pk: "PK#A53"
1469
+ + sk: "SK#A53"
1470
+
1471
+ + [PK#A54 / SK#A54]
1472
+ + PK: "PK#A54"
1473
+ + SK: "SK#A54"
1474
+ + _docVersion: 0
1475
+ + _tag: "A"
1476
+ + a: 54
1477
+ + pk: "PK#A54"
1478
+ + sk: "SK#A54"
1479
+
1480
+ + [PK#A55 / SK#A55]
1481
+ + PK: "PK#A55"
1482
+ + SK: "SK#A55"
1483
+ + _docVersion: 0
1484
+ + _tag: "A"
1485
+ + a: 55
1486
+ + pk: "PK#A55"
1487
+ + sk: "SK#A55"
1488
+
1489
+ + [PK#A56 / SK#A56]
1490
+ + PK: "PK#A56"
1491
+ + SK: "SK#A56"
1492
+ + _docVersion: 0
1493
+ + _tag: "A"
1494
+ + a: 56
1495
+ + pk: "PK#A56"
1496
+ + sk: "SK#A56"
1497
+
1498
+ + [PK#A57 / SK#A57]
1499
+ + PK: "PK#A57"
1500
+ + SK: "SK#A57"
1501
+ + _docVersion: 0
1502
+ + _tag: "A"
1503
+ + a: 57
1504
+ + pk: "PK#A57"
1505
+ + sk: "SK#A57"
1506
+
1507
+ + [PK#A58 / SK#A58]
1508
+ + PK: "PK#A58"
1509
+ + SK: "SK#A58"
1510
+ + _docVersion: 0
1511
+ + _tag: "A"
1512
+ + a: 58
1513
+ + pk: "PK#A58"
1514
+ + sk: "SK#A58"
1515
+
1516
+ + [PK#A59 / SK#A59]
1517
+ + PK: "PK#A59"
1518
+ + SK: "SK#A59"
1519
+ + _docVersion: 0
1520
+ + _tag: "A"
1521
+ + a: 59
1522
+ + pk: "PK#A59"
1523
+ + sk: "SK#A59"
1524
+
1525
+ + [PK#A6 / SK#A6]
1526
+ + PK: "PK#A6"
1527
+ + SK: "SK#A6"
1528
+ + _docVersion: 0
1529
+ + _tag: "A"
1530
+ + a: 6
1531
+ + pk: "PK#A6"
1532
+ + sk: "SK#A6"
1533
+
1534
+ + [PK#A60 / SK#A60]
1535
+ + PK: "PK#A60"
1536
+ + SK: "SK#A60"
1537
+ + _docVersion: 0
1538
+ + _tag: "A"
1539
+ + a: 60
1540
+ + pk: "PK#A60"
1541
+ + sk: "SK#A60"
1542
+
1543
+ + [PK#A61 / SK#A61]
1544
+ + PK: "PK#A61"
1545
+ + SK: "SK#A61"
1546
+ + _docVersion: 0
1547
+ + _tag: "A"
1548
+ + a: 61
1549
+ + pk: "PK#A61"
1550
+ + sk: "SK#A61"
1551
+
1552
+ + [PK#A62 / SK#A62]
1553
+ + PK: "PK#A62"
1554
+ + SK: "SK#A62"
1555
+ + _docVersion: 0
1556
+ + _tag: "A"
1557
+ + a: 62
1558
+ + pk: "PK#A62"
1559
+ + sk: "SK#A62"
1560
+
1561
+ + [PK#A63 / SK#A63]
1562
+ + PK: "PK#A63"
1563
+ + SK: "SK#A63"
1564
+ + _docVersion: 0
1565
+ + _tag: "A"
1566
+ + a: 63
1567
+ + pk: "PK#A63"
1568
+ + sk: "SK#A63"
1569
+
1570
+ + [PK#A64 / SK#A64]
1571
+ + PK: "PK#A64"
1572
+ + SK: "SK#A64"
1573
+ + _docVersion: 0
1574
+ + _tag: "A"
1575
+ + a: 64
1576
+ + pk: "PK#A64"
1577
+ + sk: "SK#A64"
1578
+
1579
+ + [PK#A65 / SK#A65]
1580
+ + PK: "PK#A65"
1581
+ + SK: "SK#A65"
1582
+ + _docVersion: 0
1583
+ + _tag: "A"
1584
+ + a: 65
1585
+ + pk: "PK#A65"
1586
+ + sk: "SK#A65"
1587
+
1588
+ + [PK#A66 / SK#A66]
1589
+ + PK: "PK#A66"
1590
+ + SK: "SK#A66"
1591
+ + _docVersion: 0
1592
+ + _tag: "A"
1593
+ + a: 66
1594
+ + pk: "PK#A66"
1595
+ + sk: "SK#A66"
1596
+
1597
+ + [PK#A67 / SK#A67]
1598
+ + PK: "PK#A67"
1599
+ + SK: "SK#A67"
1600
+ + _docVersion: 0
1601
+ + _tag: "A"
1602
+ + a: 67
1603
+ + pk: "PK#A67"
1604
+ + sk: "SK#A67"
1605
+
1606
+ + [PK#A68 / SK#A68]
1607
+ + PK: "PK#A68"
1608
+ + SK: "SK#A68"
1609
+ + _docVersion: 0
1610
+ + _tag: "A"
1611
+ + a: 68
1612
+ + pk: "PK#A68"
1613
+ + sk: "SK#A68"
1614
+
1615
+ + [PK#A69 / SK#A69]
1616
+ + PK: "PK#A69"
1617
+ + SK: "SK#A69"
1618
+ + _docVersion: 0
1619
+ + _tag: "A"
1620
+ + a: 69
1621
+ + pk: "PK#A69"
1622
+ + sk: "SK#A69"
1623
+
1624
+ + [PK#A7 / SK#A7]
1625
+ + PK: "PK#A7"
1626
+ + SK: "SK#A7"
1627
+ + _docVersion: 0
1628
+ + _tag: "A"
1629
+ + a: 7
1630
+ + pk: "PK#A7"
1631
+ + sk: "SK#A7"
1632
+
1633
+ + [PK#A70 / SK#A70]
1634
+ + PK: "PK#A70"
1635
+ + SK: "SK#A70"
1636
+ + _docVersion: 0
1637
+ + _tag: "A"
1638
+ + a: 70
1639
+ + pk: "PK#A70"
1640
+ + sk: "SK#A70"
1641
+
1642
+ + [PK#A71 / SK#A71]
1643
+ + PK: "PK#A71"
1644
+ + SK: "SK#A71"
1645
+ + _docVersion: 0
1646
+ + _tag: "A"
1647
+ + a: 71
1648
+ + pk: "PK#A71"
1649
+ + sk: "SK#A71"
1650
+
1651
+ + [PK#A72 / SK#A72]
1652
+ + PK: "PK#A72"
1653
+ + SK: "SK#A72"
1654
+ + _docVersion: 0
1655
+ + _tag: "A"
1656
+ + a: 72
1657
+ + pk: "PK#A72"
1658
+ + sk: "SK#A72"
1659
+
1660
+ + [PK#A73 / SK#A73]
1661
+ + PK: "PK#A73"
1662
+ + SK: "SK#A73"
1663
+ + _docVersion: 0
1664
+ + _tag: "A"
1665
+ + a: 73
1666
+ + pk: "PK#A73"
1667
+ + sk: "SK#A73"
1668
+
1669
+ + [PK#A74 / SK#A74]
1670
+ + PK: "PK#A74"
1671
+ + SK: "SK#A74"
1672
+ + _docVersion: 0
1673
+ + _tag: "A"
1674
+ + a: 74
1675
+ + pk: "PK#A74"
1676
+ + sk: "SK#A74"
1677
+
1678
+ + [PK#A75 / SK#A75]
1679
+ + PK: "PK#A75"
1680
+ + SK: "SK#A75"
1681
+ + _docVersion: 0
1682
+ + _tag: "A"
1683
+ + a: 75
1684
+ + pk: "PK#A75"
1685
+ + sk: "SK#A75"
1686
+
1687
+ + [PK#A76 / SK#A76]
1688
+ + PK: "PK#A76"
1689
+ + SK: "SK#A76"
1690
+ + _docVersion: 0
1691
+ + _tag: "A"
1692
+ + a: 76
1693
+ + pk: "PK#A76"
1694
+ + sk: "SK#A76"
1695
+
1696
+ + [PK#A77 / SK#A77]
1697
+ + PK: "PK#A77"
1698
+ + SK: "SK#A77"
1699
+ + _docVersion: 0
1700
+ + _tag: "A"
1701
+ + a: 77
1702
+ + pk: "PK#A77"
1703
+ + sk: "SK#A77"
1704
+
1705
+ + [PK#A78 / SK#A78]
1706
+ + PK: "PK#A78"
1707
+ + SK: "SK#A78"
1708
+ + _docVersion: 0
1709
+ + _tag: "A"
1710
+ + a: 78
1711
+ + pk: "PK#A78"
1712
+ + sk: "SK#A78"
1713
+
1714
+ + [PK#A79 / SK#A79]
1715
+ + PK: "PK#A79"
1716
+ + SK: "SK#A79"
1717
+ + _docVersion: 0
1718
+ + _tag: "A"
1719
+ + a: 79
1720
+ + pk: "PK#A79"
1721
+ + sk: "SK#A79"
1722
+
1723
+ + [PK#A8 / SK#A8]
1724
+ + PK: "PK#A8"
1725
+ + SK: "SK#A8"
1726
+ + _docVersion: 0
1727
+ + _tag: "A"
1728
+ + a: 8
1729
+ + pk: "PK#A8"
1730
+ + sk: "SK#A8"
1731
+
1732
+ + [PK#A80 / SK#A80]
1733
+ + PK: "PK#A80"
1734
+ + SK: "SK#A80"
1735
+ + _docVersion: 0
1736
+ + _tag: "A"
1737
+ + a: 80
1738
+ + pk: "PK#A80"
1739
+ + sk: "SK#A80"
1740
+
1741
+ + [PK#A81 / SK#A81]
1742
+ + PK: "PK#A81"
1743
+ + SK: "SK#A81"
1744
+ + _docVersion: 0
1745
+ + _tag: "A"
1746
+ + a: 81
1747
+ + pk: "PK#A81"
1748
+ + sk: "SK#A81"
1749
+
1750
+ + [PK#A82 / SK#A82]
1751
+ + PK: "PK#A82"
1752
+ + SK: "SK#A82"
1753
+ + _docVersion: 0
1754
+ + _tag: "A"
1755
+ + a: 82
1756
+ + pk: "PK#A82"
1757
+ + sk: "SK#A82"
1758
+
1759
+ + [PK#A83 / SK#A83]
1760
+ + PK: "PK#A83"
1761
+ + SK: "SK#A83"
1762
+ + _docVersion: 0
1763
+ + _tag: "A"
1764
+ + a: 83
1765
+ + pk: "PK#A83"
1766
+ + sk: "SK#A83"
1767
+
1768
+ + [PK#A84 / SK#A84]
1769
+ + PK: "PK#A84"
1770
+ + SK: "SK#A84"
1771
+ + _docVersion: 0
1772
+ + _tag: "A"
1773
+ + a: 84
1774
+ + pk: "PK#A84"
1775
+ + sk: "SK#A84"
1776
+
1777
+ + [PK#A85 / SK#A85]
1778
+ + PK: "PK#A85"
1779
+ + SK: "SK#A85"
1780
+ + _docVersion: 0
1781
+ + _tag: "A"
1782
+ + a: 85
1783
+ + pk: "PK#A85"
1784
+ + sk: "SK#A85"
1785
+
1786
+ + [PK#A86 / SK#A86]
1787
+ + PK: "PK#A86"
1788
+ + SK: "SK#A86"
1789
+ + _docVersion: 0
1790
+ + _tag: "A"
1791
+ + a: 86
1792
+ + pk: "PK#A86"
1793
+ + sk: "SK#A86"
1794
+
1795
+ + [PK#A87 / SK#A87]
1796
+ + PK: "PK#A87"
1797
+ + SK: "SK#A87"
1798
+ + _docVersion: 0
1799
+ + _tag: "A"
1800
+ + a: 87
1801
+ + pk: "PK#A87"
1802
+ + sk: "SK#A87"
1803
+
1804
+ + [PK#A88 / SK#A88]
1805
+ + PK: "PK#A88"
1806
+ + SK: "SK#A88"
1807
+ + _docVersion: 0
1808
+ + _tag: "A"
1809
+ + a: 88
1810
+ + pk: "PK#A88"
1811
+ + sk: "SK#A88"
1812
+
1813
+ + [PK#A89 / SK#A89]
1814
+ + PK: "PK#A89"
1815
+ + SK: "SK#A89"
1816
+ + _docVersion: 0
1817
+ + _tag: "A"
1818
+ + a: 89
1819
+ + pk: "PK#A89"
1820
+ + sk: "SK#A89"
1821
+
1822
+ + [PK#A9 / SK#A9]
1823
+ + PK: "PK#A9"
1824
+ + SK: "SK#A9"
1825
+ + _docVersion: 0
1826
+ + _tag: "A"
1827
+ + a: 9
1828
+ + pk: "PK#A9"
1829
+ + sk: "SK#A9"
1830
+
1831
+ + [PK#A90 / SK#A90]
1832
+ + PK: "PK#A90"
1833
+ + SK: "SK#A90"
1834
+ + _docVersion: 0
1835
+ + _tag: "A"
1836
+ + a: 90
1837
+ + pk: "PK#A90"
1838
+ + sk: "SK#A90"
1839
+
1840
+ + [PK#A91 / SK#A91]
1841
+ + PK: "PK#A91"
1842
+ + SK: "SK#A91"
1843
+ + _docVersion: 0
1844
+ + _tag: "A"
1845
+ + a: 91
1846
+ + pk: "PK#A91"
1847
+ + sk: "SK#A91"
1848
+
1849
+ + [PK#A92 / SK#A92]
1850
+ + PK: "PK#A92"
1851
+ + SK: "SK#A92"
1852
+ + _docVersion: 0
1853
+ + _tag: "A"
1854
+ + a: 92
1855
+ + pk: "PK#A92"
1856
+ + sk: "SK#A92"
1857
+
1858
+ + [PK#A93 / SK#A93]
1859
+ + PK: "PK#A93"
1860
+ + SK: "SK#A93"
1861
+ + _docVersion: 0
1862
+ + _tag: "A"
1863
+ + a: 93
1864
+ + pk: "PK#A93"
1865
+ + sk: "SK#A93"
1866
+
1867
+ + [PK#A94 / SK#A94]
1868
+ + PK: "PK#A94"
1869
+ + SK: "SK#A94"
1870
+ + _docVersion: 0
1871
+ + _tag: "A"
1872
+ + a: 94
1873
+ + pk: "PK#A94"
1874
+ + sk: "SK#A94"
1875
+
1876
+ + [PK#A95 / SK#A95]
1877
+ + PK: "PK#A95"
1878
+ + SK: "SK#A95"
1879
+ + _docVersion: 0
1880
+ + _tag: "A"
1881
+ + a: 95
1882
+ + pk: "PK#A95"
1883
+ + sk: "SK#A95"
1884
+
1885
+ + [PK#A96 / SK#A96]
1886
+ + PK: "PK#A96"
1887
+ + SK: "SK#A96"
1888
+ + _docVersion: 0
1889
+ + _tag: "A"
1890
+ + a: 96
1891
+ + pk: "PK#A96"
1892
+ + sk: "SK#A96"
1893
+
1894
+ + [PK#A97 / SK#A97]
1895
+ + PK: "PK#A97"
1896
+ + SK: "SK#A97"
1897
+ + _docVersion: 0
1898
+ + _tag: "A"
1899
+ + a: 97
1900
+ + pk: "PK#A97"
1901
+ + sk: "SK#A97"
1902
+
1903
+ + [PK#A98 / SK#A98]
1904
+ + PK: "PK#A98"
1905
+ + SK: "SK#A98"
1906
+ + _docVersion: 0
1907
+ + _tag: "A"
1908
+ + a: 98
1909
+ + pk: "PK#A98"
1910
+ + sk: "SK#A98"
1911
+
1912
+ + [PK#A99 / SK#A99]
1913
+ + PK: "PK#A99"
1914
+ + SK: "SK#A99"
1915
+ + _docVersion: 0
1916
+ + _tag: "A"
1917
+ + a: 99
1918
+ + pk: "PK#A99"
1919
+ + sk: "SK#A99"
1920
+
1921
+ + [PK#UPDATE / SK#UPDATE]
1922
+ + PK: "PK#UPDATE"
1923
+ + SK: "SK#UPDATE"
1924
+ + _docVersion: 1
1925
+ + _tag: "B"
1926
+ + b: "baz"
1927
+ + pk: "PK#UPDATE"
1928
+ + sk: "SK#UPDATE"
1929
+
1930
+ + [PK4 / PK4]
1931
+ + PK: "PK4"
1932
+ + SK: "PK4"
1933
+ + _docVersion: 0
1934
+ + _tag: "A"
1935
+ + a: 4
1936
+ + pk: "PK4"
1937
+ + sk: "PK4"
1938
+
1939
+ + [PK5 / PK5]
1940
+ + PK: "PK5"
1941
+ + SK: "PK5"
1942
+ + _docVersion: 0
1943
+ + _tag: "A"
1944
+ + a: 5
1945
+ + pk: "PK5"
1946
+ + sk: "PK5"
1947
+
1948
+ + [PK6 / SK6]
1949
+ + PK: "PK6"
1950
+ + SK: "SK6"
1951
+ + _docVersion: 0
1952
+ + _tag: "B"
1953
+ + b: "baz"
1954
+ + pk: "PK6"
1955
+ + sk: "SK6"
1956
+ `);
2059
1957
  //#endregion
2060
1958
  }));
2061
1959
  test("it fails and rolls back", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -2064,7 +1962,7 @@ describe("bulk", () => {
2064
1962
  // Succeeds
2065
1963
  ...Array.from({ length: 110 }).map((_, i) => new A({ pk: `PK#${i}`, sk: `SK#${i}`, a: i }).operation("put")),
2066
1964
  // Fails
2067
- A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" }),
1965
+ A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" })
2068
1966
  ])).rejects.toBeInstanceOf(errors_1.BulkWriteTransactionError);
2069
1967
  expect(yield sandbox.snapshot()).toEqual(before);
2070
1968
  }));
@@ -2088,7 +1986,7 @@ describe("batchGet", () => {
2088
1986
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
2089
1987
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
2090
1988
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
2091
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
1989
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
2092
1990
  })).rejects.toBeInstanceOf(errors_1.ItemNotFoundError);
2093
1991
  }));
2094
1992
  test("it returns individual errors", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -2098,7 +1996,7 @@ describe("batchGet", () => {
2098
1996
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
2099
1997
  duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
2100
1998
  error: A.operation("get", { PK: "PK#error", SK: "SK#error" }),
2101
- error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" }),
1999
+ error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
2102
2000
  }, { individualErrors: true });
2103
2001
  expect(result.one).toBeInstanceOf(A);
2104
2002
  expect(result.two).toBeInstanceOf(A);
@@ -2112,7 +2010,7 @@ describe("batchGet", () => {
2112
2010
  two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
2113
2011
  three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
2114
2012
  four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
2115
- duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
2013
+ duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
2116
2014
  });
2117
2015
  expect(Object.fromEntries(Object.entries(results).map(([key, val]) => [key, val.values()]))).toMatchInlineSnapshot(`
2118
2016
  Object {
@@ -2158,20 +2056,20 @@ describe("load", () => {
2158
2056
  yield sandbox.seed(item);
2159
2057
  yield item.softDelete();
2160
2058
  const recovered = yield client.load(A.operation("get", { PK: "PK#1", SK: "SK#1" }), {
2161
- recover: true,
2059
+ recover: true
2162
2060
  });
2163
2061
  expect(recovered).toBeInstanceOf(A);
2164
2062
  expect(recovered.isDeleted).toBe(true);
2165
2063
  }));
2166
2064
  test("it throws if no item or soft deleted item exists", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
2167
2065
  yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
2168
- recover: true,
2066
+ recover: true
2169
2067
  })).rejects.toBeInstanceOf(errors_1.ItemNotFoundError);
2170
2068
  }));
2171
2069
  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* () {
2172
2070
  yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
2173
2071
  recover: true,
2174
- null: true,
2072
+ null: true
2175
2073
  })).resolves.toBeNull();
2176
2074
  }));
2177
2075
  test("it fetches >100 items", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -2222,8 +2120,8 @@ describe("load", () => {
2222
2120
  yield sandbox.seed(...items);
2223
2121
  const results = yield Promise.all(items.map(({ PK, SK }, i) => Union.load({ PK, SK })));
2224
2122
  expect(results.length).toBe(234);
2225
- expect(results.filter((item) => item instanceof C).length).toBe(123);
2226
- expect(results.filter((item) => item instanceof D).length).toBe(111);
2123
+ expect(results.filter(item => item instanceof C).length).toBe(123);
2124
+ expect(results.filter(item => item instanceof D).length).toBe(111);
2227
2125
  expect(spy).toHaveBeenCalledTimes(3);
2228
2126
  spy.mockReset();
2229
2127
  spy.mockRestore();
@@ -2268,8 +2166,8 @@ describe("loadMany", () => {
2268
2166
  yield sandbox.seed(...items);
2269
2167
  const results = yield Union.loadMany(items.map(({ PK, SK }) => ({ PK, SK })));
2270
2168
  expect(results.length).toBe(234);
2271
- expect(results.filter((item) => item instanceof C).length).toBe(123);
2272
- expect(results.filter((item) => item instanceof D).length).toBe(111);
2169
+ expect(results.filter(item => item instanceof C).length).toBe(123);
2170
+ expect(results.filter(item => item instanceof D).length).toBe(111);
2273
2171
  expect(spy).toHaveBeenCalledTimes(3);
2274
2172
  spy.mockReset();
2275
2173
  spy.mockRestore();
@@ -2284,7 +2182,7 @@ describe("paginate", () => {
2284
2182
  // Forwards
2285
2183
  const page1 = yield client.paginate(C, {}, {
2286
2184
  KeyConditionExpression: "PK = :pk",
2287
- ExpressionAttributeValues: { ":pk": "PK" },
2185
+ ExpressionAttributeValues: { ":pk": "PK" }
2288
2186
  });
2289
2187
  expect(page1.pageInfo).toMatchInlineSnapshot(`
2290
2188
  Object {
@@ -2299,7 +2197,7 @@ describe("paginate", () => {
2299
2197
  expect(page1.edges[19].node.c).toBe("19");
2300
2198
  const page2 = yield client.paginate(C, { after: page1.pageInfo.endCursor }, {
2301
2199
  KeyConditionExpression: "PK = :pk",
2302
- ExpressionAttributeValues: { ":pk": "PK" },
2200
+ ExpressionAttributeValues: { ":pk": "PK" }
2303
2201
  });
2304
2202
  expect(page2.pageInfo).toMatchInlineSnapshot(`
2305
2203
  Object {
@@ -2314,7 +2212,7 @@ describe("paginate", () => {
2314
2212
  expect(page2.edges[19].node.c).toBe("39");
2315
2213
  const page3 = yield client.paginate(C, { after: page2.pageInfo.endCursor }, {
2316
2214
  KeyConditionExpression: "PK = :pk",
2317
- ExpressionAttributeValues: { ":pk": "PK" },
2215
+ ExpressionAttributeValues: { ":pk": "PK" }
2318
2216
  });
2319
2217
  expect(page3.pageInfo).toMatchInlineSnapshot(`
2320
2218
  Object {
@@ -2330,7 +2228,7 @@ describe("paginate", () => {
2330
2228
  // Backwards
2331
2229
  const backwardsPage2 = yield client.paginate(C, { before: page3.pageInfo.startCursor }, {
2332
2230
  KeyConditionExpression: "PK = :pk",
2333
- ExpressionAttributeValues: { ":pk": "PK" },
2231
+ ExpressionAttributeValues: { ":pk": "PK" }
2334
2232
  });
2335
2233
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
2336
2234
  Object {
@@ -2345,7 +2243,7 @@ describe("paginate", () => {
2345
2243
  expect(backwardsPage2.edges[19].node.c).toBe("39");
2346
2244
  const backwardsPage1 = yield client.paginate(C, { before: backwardsPage2.pageInfo.startCursor }, {
2347
2245
  KeyConditionExpression: "PK = :pk",
2348
- ExpressionAttributeValues: { ":pk": "PK" },
2246
+ ExpressionAttributeValues: { ":pk": "PK" }
2349
2247
  });
2350
2248
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
2351
2249
  Object {
@@ -2367,7 +2265,7 @@ describe("paginate", () => {
2367
2265
  // Forwards
2368
2266
  const page1 = yield client.paginate(Union, {}, {
2369
2267
  KeyConditionExpression: "PK = :pk",
2370
- ExpressionAttributeValues: { ":pk": "PK" },
2268
+ ExpressionAttributeValues: { ":pk": "PK" }
2371
2269
  });
2372
2270
  expect(page1.pageInfo).toMatchInlineSnapshot(`
2373
2271
  Object {
@@ -2382,7 +2280,7 @@ describe("paginate", () => {
2382
2280
  expect(page1.edges[19].node.SK).toBe("019");
2383
2281
  const page2 = yield client.paginate(Union, { after: page1.pageInfo.endCursor }, {
2384
2282
  KeyConditionExpression: "PK = :pk",
2385
- ExpressionAttributeValues: { ":pk": "PK" },
2283
+ ExpressionAttributeValues: { ":pk": "PK" }
2386
2284
  });
2387
2285
  expect(page2.pageInfo).toMatchInlineSnapshot(`
2388
2286
  Object {
@@ -2397,7 +2295,7 @@ describe("paginate", () => {
2397
2295
  expect(page2.edges[19].node.SK).toBe("039");
2398
2296
  const page3 = yield client.paginate(Union, { after: page2.pageInfo.endCursor }, {
2399
2297
  KeyConditionExpression: "PK = :pk",
2400
- ExpressionAttributeValues: { ":pk": "PK" },
2298
+ ExpressionAttributeValues: { ":pk": "PK" }
2401
2299
  });
2402
2300
  expect(page3.pageInfo).toMatchInlineSnapshot(`
2403
2301
  Object {
@@ -2413,7 +2311,7 @@ describe("paginate", () => {
2413
2311
  // Backwards
2414
2312
  const backwardsPage2 = yield client.paginate(Union, { before: page3.pageInfo.startCursor }, {
2415
2313
  KeyConditionExpression: "PK = :pk",
2416
- ExpressionAttributeValues: { ":pk": "PK" },
2314
+ ExpressionAttributeValues: { ":pk": "PK" }
2417
2315
  });
2418
2316
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
2419
2317
  Object {
@@ -2428,7 +2326,7 @@ describe("paginate", () => {
2428
2326
  expect(backwardsPage2.edges[19].node.SK).toBe("039");
2429
2327
  const backwardsPage1 = yield client.paginate(Union, { before: backwardsPage2.pageInfo.startCursor }, {
2430
2328
  KeyConditionExpression: "PK = :pk",
2431
- ExpressionAttributeValues: { ":pk": "PK" },
2329
+ ExpressionAttributeValues: { ":pk": "PK" }
2432
2330
  });
2433
2331
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
2434
2332
  Object {
@@ -2448,7 +2346,7 @@ describe("paginate", () => {
2448
2346
  // Forwards
2449
2347
  const page = yield client.paginate(C, { first: 10 }, {
2450
2348
  KeyConditionExpression: "PK = :pk",
2451
- ExpressionAttributeValues: { ":pk": "PK" },
2349
+ ExpressionAttributeValues: { ":pk": "PK" }
2452
2350
  });
2453
2351
  expect(page.pageInfo).toMatchInlineSnapshot(`
2454
2352
  Object {
@@ -2468,7 +2366,7 @@ describe("paginate", () => {
2468
2366
  // Forwards
2469
2367
  const page1 = yield client.paginate(C, { first: 60 }, {
2470
2368
  KeyConditionExpression: "PK = :pk",
2471
- ExpressionAttributeValues: { ":pk": "PK" },
2369
+ ExpressionAttributeValues: { ":pk": "PK" }
2472
2370
  });
2473
2371
  expect(page1.pageInfo).toMatchInlineSnapshot(`
2474
2372
  Object {
@@ -2484,26 +2382,26 @@ describe("paginate", () => {
2484
2382
  }));
2485
2383
  test("it respects custom pagination default", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
2486
2384
  client.paginationOptions = {
2487
- default: 40,
2385
+ default: 40
2488
2386
  };
2489
2387
  const items = Array.from({ length: 50 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
2490
2388
  yield sandbox.seed(...items);
2491
2389
  const page = yield client.paginate(C, {}, {
2492
2390
  KeyConditionExpression: "PK = :pk",
2493
- ExpressionAttributeValues: { ":pk": "PK" },
2391
+ ExpressionAttributeValues: { ":pk": "PK" }
2494
2392
  });
2495
2393
  expect(page.edges.length).toBe(40);
2496
2394
  delete client.paginationOptions;
2497
2395
  }));
2498
2396
  test("it respects custom pagination limit", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
2499
2397
  client.paginationOptions = {
2500
- limit: 100,
2398
+ limit: 100
2501
2399
  };
2502
2400
  const items = Array.from({ length: 120 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
2503
2401
  yield sandbox.seed(...items);
2504
2402
  const page = yield client.paginate(C, { first: 110 }, {
2505
2403
  KeyConditionExpression: "PK = :pk",
2506
- ExpressionAttributeValues: { ":pk": "PK" },
2404
+ ExpressionAttributeValues: { ":pk": "PK" }
2507
2405
  });
2508
2406
  expect(page.edges.length).toBe(100);
2509
2407
  delete client.paginationOptions;
@@ -2516,7 +2414,7 @@ describe("paginate", () => {
2516
2414
  // Forwards
2517
2415
  const page1 = yield C.paginate({}, {
2518
2416
  KeyConditionExpression: "PK = :pk",
2519
- ExpressionAttributeValues: { ":pk": "PK" },
2417
+ ExpressionAttributeValues: { ":pk": "PK" }
2520
2418
  });
2521
2419
  expect(page1.pageInfo).toMatchInlineSnapshot(`
2522
2420
  Object {
@@ -2531,7 +2429,7 @@ describe("paginate", () => {
2531
2429
  expect(page1.edges[19].node.c).toBe("19");
2532
2430
  const page2 = yield C.paginate({ after: page1.pageInfo.endCursor }, {
2533
2431
  KeyConditionExpression: "PK = :pk",
2534
- ExpressionAttributeValues: { ":pk": "PK" },
2432
+ ExpressionAttributeValues: { ":pk": "PK" }
2535
2433
  });
2536
2434
  expect(page2.pageInfo).toMatchInlineSnapshot(`
2537
2435
  Object {
@@ -2546,7 +2444,7 @@ describe("paginate", () => {
2546
2444
  expect(page2.edges[19].node.c).toBe("39");
2547
2445
  const page3 = yield C.paginate({ after: page2.pageInfo.endCursor }, {
2548
2446
  KeyConditionExpression: "PK = :pk",
2549
- ExpressionAttributeValues: { ":pk": "PK" },
2447
+ ExpressionAttributeValues: { ":pk": "PK" }
2550
2448
  });
2551
2449
  expect(page3.pageInfo).toMatchInlineSnapshot(`
2552
2450
  Object {
@@ -2562,7 +2460,7 @@ describe("paginate", () => {
2562
2460
  // Backwards
2563
2461
  const backwardsPage2 = yield C.paginate({ before: page3.pageInfo.startCursor }, {
2564
2462
  KeyConditionExpression: "PK = :pk",
2565
- ExpressionAttributeValues: { ":pk": "PK" },
2463
+ ExpressionAttributeValues: { ":pk": "PK" }
2566
2464
  });
2567
2465
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
2568
2466
  Object {
@@ -2577,7 +2475,7 @@ describe("paginate", () => {
2577
2475
  expect(backwardsPage2.edges[19].node.c).toBe("39");
2578
2476
  const backwardsPage1 = yield C.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
2579
2477
  KeyConditionExpression: "PK = :pk",
2580
- ExpressionAttributeValues: { ":pk": "PK" },
2478
+ ExpressionAttributeValues: { ":pk": "PK" }
2581
2479
  });
2582
2480
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
2583
2481
  Object {
@@ -2597,7 +2495,7 @@ describe("paginate", () => {
2597
2495
  // Forwards
2598
2496
  const page = yield C.paginate({ first: 10 }, {
2599
2497
  KeyConditionExpression: "PK = :pk",
2600
- ExpressionAttributeValues: { ":pk": "PK" },
2498
+ ExpressionAttributeValues: { ":pk": "PK" }
2601
2499
  });
2602
2500
  expect(page.pageInfo).toMatchInlineSnapshot(`
2603
2501
  Object {
@@ -2617,7 +2515,7 @@ describe("paginate", () => {
2617
2515
  // Forwards
2618
2516
  const page1 = yield C.paginate({ first: 60 }, {
2619
2517
  KeyConditionExpression: "PK = :pk",
2620
- ExpressionAttributeValues: { ":pk": "PK" },
2518
+ ExpressionAttributeValues: { ":pk": "PK" }
2621
2519
  });
2622
2520
  expect(page1.pageInfo).toMatchInlineSnapshot(`
2623
2521
  Object {
@@ -2633,26 +2531,26 @@ describe("paginate", () => {
2633
2531
  }));
2634
2532
  test("it respects custom pagination default", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
2635
2533
  client.paginationOptions = {
2636
- default: 40,
2534
+ default: 40
2637
2535
  };
2638
2536
  const items = Array.from({ length: 50 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
2639
2537
  yield sandbox.seed(...items);
2640
2538
  const page = yield C.paginate({}, {
2641
2539
  KeyConditionExpression: "PK = :pk",
2642
- ExpressionAttributeValues: { ":pk": "PK" },
2540
+ ExpressionAttributeValues: { ":pk": "PK" }
2643
2541
  });
2644
2542
  expect(page.edges.length).toBe(40);
2645
2543
  delete client.paginationOptions;
2646
2544
  }));
2647
2545
  test("it respects custom pagination limit", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
2648
2546
  client.paginationOptions = {
2649
- limit: 100,
2547
+ limit: 100
2650
2548
  };
2651
2549
  const items = Array.from({ length: 120 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
2652
2550
  yield sandbox.seed(...items);
2653
2551
  const page = yield C.paginate({ first: 110 }, {
2654
2552
  KeyConditionExpression: "PK = :pk",
2655
- ExpressionAttributeValues: { ":pk": "PK" },
2553
+ ExpressionAttributeValues: { ":pk": "PK" }
2656
2554
  });
2657
2555
  expect(page.edges.length).toBe(100);
2658
2556
  delete client.paginationOptions;
@@ -2667,7 +2565,7 @@ describe("paginate", () => {
2667
2565
  // Forwards
2668
2566
  const page1 = yield Union.paginate({}, {
2669
2567
  KeyConditionExpression: "PK = :pk",
2670
- ExpressionAttributeValues: { ":pk": "PK" },
2568
+ ExpressionAttributeValues: { ":pk": "PK" }
2671
2569
  });
2672
2570
  expect(page1.pageInfo).toMatchInlineSnapshot(`
2673
2571
  Object {
@@ -2682,7 +2580,7 @@ describe("paginate", () => {
2682
2580
  expect(page1.edges[19].node.SK).toBe("019");
2683
2581
  const page2 = yield Union.paginate({ after: page1.pageInfo.endCursor }, {
2684
2582
  KeyConditionExpression: "PK = :pk",
2685
- ExpressionAttributeValues: { ":pk": "PK" },
2583
+ ExpressionAttributeValues: { ":pk": "PK" }
2686
2584
  });
2687
2585
  expect(page2.pageInfo).toMatchInlineSnapshot(`
2688
2586
  Object {
@@ -2697,7 +2595,7 @@ describe("paginate", () => {
2697
2595
  expect(page2.edges[19].node.SK).toBe("039");
2698
2596
  const page3 = yield Union.paginate({ after: page2.pageInfo.endCursor }, {
2699
2597
  KeyConditionExpression: "PK = :pk",
2700
- ExpressionAttributeValues: { ":pk": "PK" },
2598
+ ExpressionAttributeValues: { ":pk": "PK" }
2701
2599
  });
2702
2600
  expect(page3.pageInfo).toMatchInlineSnapshot(`
2703
2601
  Object {
@@ -2713,7 +2611,7 @@ describe("paginate", () => {
2713
2611
  // Backwards
2714
2612
  const backwardsPage2 = yield Union.paginate({ before: page3.pageInfo.startCursor }, {
2715
2613
  KeyConditionExpression: "PK = :pk",
2716
- ExpressionAttributeValues: { ":pk": "PK" },
2614
+ ExpressionAttributeValues: { ":pk": "PK" }
2717
2615
  });
2718
2616
  expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
2719
2617
  Object {
@@ -2728,7 +2626,7 @@ describe("paginate", () => {
2728
2626
  expect(backwardsPage2.edges[19].node.SK).toBe("039");
2729
2627
  const backwardsPage1 = yield Union.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
2730
2628
  KeyConditionExpression: "PK = :pk",
2731
- ExpressionAttributeValues: { ":pk": "PK" },
2629
+ ExpressionAttributeValues: { ":pk": "PK" }
2732
2630
  });
2733
2631
  expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
2734
2632
  Object {
@@ -2750,7 +2648,7 @@ describe("paginate", () => {
2750
2648
  // Forwards
2751
2649
  const page = yield Union.paginate({ first: 10 }, {
2752
2650
  KeyConditionExpression: "PK = :pk",
2753
- ExpressionAttributeValues: { ":pk": "PK" },
2651
+ ExpressionAttributeValues: { ":pk": "PK" }
2754
2652
  });
2755
2653
  expect(page.pageInfo).toMatchInlineSnapshot(`
2756
2654
  Object {
@@ -2772,7 +2670,7 @@ describe("paginate", () => {
2772
2670
  // Forwards
2773
2671
  const page1 = yield Union.paginate({ first: 60 }, {
2774
2672
  KeyConditionExpression: "PK = :pk",
2775
- ExpressionAttributeValues: { ":pk": "PK" },
2673
+ ExpressionAttributeValues: { ":pk": "PK" }
2776
2674
  });
2777
2675
  expect(page1.pageInfo).toMatchInlineSnapshot(`
2778
2676
  Object {
@@ -2788,46 +2686,46 @@ describe("paginate", () => {
2788
2686
  }));
2789
2687
  test("it respects custom pagination default", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
2790
2688
  client.paginationOptions = {
2791
- default: 40,
2689
+ default: 40
2792
2690
  };
2793
2691
  const items = Array.from({ length: 50 }).map((_, i) => i > 30
2794
2692
  ? new C({
2795
2693
  pk: "PK",
2796
2694
  sk: String(i).padStart(3, "0"),
2797
- c: String(i),
2695
+ c: String(i)
2798
2696
  })
2799
2697
  : new D({
2800
2698
  pk: "PK",
2801
2699
  sk: String(i).padStart(3, "0"),
2802
- d: String(i),
2700
+ d: String(i)
2803
2701
  }));
2804
2702
  yield sandbox.seed(...items);
2805
2703
  const page = yield Union.paginate({}, {
2806
2704
  KeyConditionExpression: "PK = :pk",
2807
- ExpressionAttributeValues: { ":pk": "PK" },
2705
+ ExpressionAttributeValues: { ":pk": "PK" }
2808
2706
  });
2809
2707
  expect(page.edges.length).toBe(40);
2810
2708
  delete client.paginationOptions;
2811
2709
  }));
2812
2710
  test("it respects custom pagination limit", () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
2813
2711
  client.paginationOptions = {
2814
- limit: 100,
2712
+ limit: 100
2815
2713
  };
2816
2714
  const items = Array.from({ length: 110 }).map((_, i) => i > 30
2817
2715
  ? new C({
2818
2716
  pk: "PK",
2819
2717
  sk: String(i).padStart(3, "0"),
2820
- c: String(i),
2718
+ c: String(i)
2821
2719
  })
2822
2720
  : new D({
2823
2721
  pk: "PK",
2824
2722
  sk: String(i).padStart(3, "0"),
2825
- d: String(i),
2723
+ d: String(i)
2826
2724
  }));
2827
2725
  yield sandbox.seed(...items);
2828
2726
  const page = yield Union.paginate({ first: 110 }, {
2829
2727
  KeyConditionExpression: "PK = :pk",
2830
- ExpressionAttributeValues: { ":pk": "PK" },
2728
+ ExpressionAttributeValues: { ":pk": "PK" }
2831
2729
  });
2832
2730
  expect(page.edges.length).toBe(100);
2833
2731
  delete client.paginationOptions;