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