@model-ts/dynamodb 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/__test__/client-with-cursor-encryption.test.js +696 -21
- package/dist/cjs/__test__/client-with-cursor-encryption.test.js.map +1 -1
- package/dist/cjs/__test__/client.test.js +775 -95
- package/dist/cjs/__test__/client.test.js.map +1 -1
- package/dist/cjs/__test__/pagination.test.d.ts +1 -0
- package/dist/cjs/__test__/pagination.test.js +241 -0
- package/dist/cjs/__test__/pagination.test.js.map +1 -0
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/pagination.d.ts +1 -1
- package/dist/cjs/pagination.js +4 -6
- package/dist/cjs/pagination.js.map +1 -1
- package/dist/cjs/sandbox.js +3 -3
- package/dist/cjs/sandbox.js.map +1 -1
- package/dist/esm/__test__/client-with-cursor-encryption.test.js +696 -21
- package/dist/esm/__test__/client-with-cursor-encryption.test.js.map +1 -1
- package/dist/esm/__test__/client.test.js +776 -96
- package/dist/esm/__test__/client.test.js.map +1 -1
- package/dist/esm/__test__/pagination.test.d.ts +1 -0
- package/dist/esm/__test__/pagination.test.js +238 -0
- package/dist/esm/__test__/pagination.test.js.map +1 -0
- package/dist/esm/client.js +1 -1
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/pagination.d.ts +1 -1
- package/dist/esm/pagination.js +4 -6
- package/dist/esm/pagination.js.map +1 -1
- package/dist/esm/sandbox.js +3 -3
- package/dist/esm/sandbox.js.map +1 -1
- package/package.json +1 -1
- package/src/__test__/client-with-cursor-encryption.test.ts +696 -21
- package/src/__test__/client.test.ts +782 -97
- package/src/__test__/pagination.test.ts +300 -0
- package/src/client.ts +1 -1
- package/src/pagination.ts +5 -9
- package/src/sandbox.ts +19 -17
|
@@ -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
|
|
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() {
|
|
@@ -271,7 +271,7 @@ describe("put", () => {
|
|
|
271
271
|
test("it overwrites item if `ignoreExistence` is set", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
272
272
|
yield MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }));
|
|
273
273
|
yield expect(MultiGSI.put(new MultiGSI({ foo: "yes", bar: 42 }), {
|
|
274
|
-
IgnoreExistence: true
|
|
274
|
+
IgnoreExistence: true
|
|
275
275
|
})).resolves.toBeInstanceOf(MultiGSI);
|
|
276
276
|
}));
|
|
277
277
|
});
|
|
@@ -285,7 +285,7 @@ describe("get", () => {
|
|
|
285
285
|
const item = yield new Simple({ foo: "hi", bar: 432 }).put();
|
|
286
286
|
const result = yield Simple.get({
|
|
287
287
|
PK: item.keys().PK,
|
|
288
|
-
SK: item.keys().SK
|
|
288
|
+
SK: item.keys().SK
|
|
289
289
|
});
|
|
290
290
|
expect(result.values()).toMatchInlineSnapshot(`
|
|
291
291
|
Object {
|
|
@@ -332,8 +332,8 @@ describe("delete", () => {
|
|
|
332
332
|
_model: Simple,
|
|
333
333
|
key: {
|
|
334
334
|
PK: item.keys().PK,
|
|
335
|
-
SK: item.keys().SK
|
|
336
|
-
}
|
|
335
|
+
SK: item.keys().SK
|
|
336
|
+
}
|
|
337
337
|
});
|
|
338
338
|
expect(result).toBeNull();
|
|
339
339
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
@@ -361,7 +361,7 @@ describe("delete", () => {
|
|
|
361
361
|
const before = yield sandbox.snapshot();
|
|
362
362
|
const result = yield Simple.delete({
|
|
363
363
|
PK: item.keys().PK,
|
|
364
|
-
SK: item.keys().SK
|
|
364
|
+
SK: item.keys().SK
|
|
365
365
|
});
|
|
366
366
|
expect(result).toBeNull();
|
|
367
367
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
@@ -673,7 +673,7 @@ describe("query", () => {
|
|
|
673
673
|
test("it returns empty results", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
674
674
|
expect(yield client.query({
|
|
675
675
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
676
|
-
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
|
|
676
|
+
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT" }
|
|
677
677
|
}, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
|
|
678
678
|
Object {
|
|
679
679
|
"_unknown": Array [],
|
|
@@ -690,7 +690,7 @@ describe("query", () => {
|
|
|
690
690
|
yield sandbox.seed({ PK: "abc", SK: "SORT#1", doesnt: "match" });
|
|
691
691
|
expect(yield client.query({
|
|
692
692
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
693
|
-
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
693
|
+
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
694
694
|
}, { a: A, b: B, union: Union })).toMatchInlineSnapshot(`
|
|
695
695
|
Object {
|
|
696
696
|
"_unknown": Array [
|
|
@@ -713,14 +713,14 @@ describe("query", () => {
|
|
|
713
713
|
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" }));
|
|
714
714
|
const { a, b, union, _unknown, meta } = yield client.query({
|
|
715
715
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
716
|
-
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
716
|
+
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" }
|
|
717
717
|
}, { a: A, b: B, union: Union });
|
|
718
718
|
expect({
|
|
719
719
|
meta: meta,
|
|
720
720
|
_unknown: _unknown,
|
|
721
|
-
a: a.map(
|
|
722
|
-
b: b.map(
|
|
723
|
-
union: union.map(
|
|
721
|
+
a: a.map(item => item.values()),
|
|
722
|
+
b: b.map(item => item.values()),
|
|
723
|
+
union: union.map(item => item.values())
|
|
724
724
|
}).toMatchInlineSnapshot(`
|
|
725
725
|
Object {
|
|
726
726
|
"_unknown": Array [
|
|
@@ -772,7 +772,7 @@ describe("query", () => {
|
|
|
772
772
|
const firstPage = yield client.query({
|
|
773
773
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
774
774
|
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
|
|
775
|
-
Limit: 30
|
|
775
|
+
Limit: 30
|
|
776
776
|
}, { a: A, b: B });
|
|
777
777
|
expect(firstPage.a.length).toBe(20);
|
|
778
778
|
expect(firstPage.b.length).toBe(10);
|
|
@@ -782,7 +782,7 @@ describe("query", () => {
|
|
|
782
782
|
KeyConditionExpression: `PK = :pk and begins_with(SK, :sk)`,
|
|
783
783
|
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
|
|
784
784
|
Limit: 30,
|
|
785
|
-
ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
|
|
785
|
+
ExclusiveStartKey: firstPage.meta.lastEvaluatedKey
|
|
786
786
|
}, { a: A, b: B });
|
|
787
787
|
expect(secondPage.a.length).toBe(0);
|
|
788
788
|
expect(secondPage.b.length).toBe(10);
|
|
@@ -796,7 +796,7 @@ describe("query", () => {
|
|
|
796
796
|
ExpressionAttributeValues: { ":pk": "abc", ":sk": "SORT#" },
|
|
797
797
|
FetchAllPages: true,
|
|
798
798
|
// You wouldn't set a limit in a real-world use case here to optimize fetching all items.
|
|
799
|
-
Limit: 10
|
|
799
|
+
Limit: 10
|
|
800
800
|
}, { a: A, b: B });
|
|
801
801
|
expect(a.length).toBe(20);
|
|
802
802
|
expect(b.length).toBe(20);
|
|
@@ -805,7 +805,7 @@ describe("query", () => {
|
|
|
805
805
|
}));
|
|
806
806
|
});
|
|
807
807
|
describe("bulk", () => {
|
|
808
|
-
describe("<
|
|
808
|
+
describe("< 100 elements (true transaction)", () => {
|
|
809
809
|
test("it succeeds", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
810
810
|
const softDeleteTarget = new B({ pk: "PK#3", sk: "SK#3", b: "bar" });
|
|
811
811
|
yield sandbox.seed(new A({ pk: "PK#1", sk: "SK#1", a: 1 }), new A({ pk: "PK#2", sk: "SK#2", a: 2 }), softDeleteTarget, new B({ pk: "PK#UPDATE", sk: "SK#UPDATE", b: "bar" }), new B({ pk: "PK#COND", sk: "SK#COND", b: "cond" }));
|
|
@@ -820,16 +820,16 @@ describe("bulk", () => {
|
|
|
820
820
|
new B({
|
|
821
821
|
pk: "PK#UPDATE",
|
|
822
822
|
sk: "SK#UPDATE",
|
|
823
|
-
b: "bar"
|
|
823
|
+
b: "bar"
|
|
824
824
|
}).operation("update", { b: "baz" }),
|
|
825
825
|
new B({
|
|
826
826
|
pk: "PK#COND",
|
|
827
827
|
sk: "SK#COND",
|
|
828
|
-
b: "cond"
|
|
828
|
+
b: "cond"
|
|
829
829
|
}).operation("condition", {
|
|
830
830
|
ConditionExpression: "b = :cond",
|
|
831
|
-
ExpressionAttributeValues: { ":cond": "cond" }
|
|
832
|
-
})
|
|
831
|
+
ExpressionAttributeValues: { ":cond": "cond" }
|
|
832
|
+
})
|
|
833
833
|
]);
|
|
834
834
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
835
835
|
Snapshot Diff:
|
|
@@ -933,12 +933,12 @@ describe("bulk", () => {
|
|
|
933
933
|
A.operation("put", new A({ pk: "PK5", sk: "PK5", a: 5 })),
|
|
934
934
|
new B({ pk: "PK#6", sk: "SK#6", b: "baz" }).operation("put"),
|
|
935
935
|
// Fails
|
|
936
|
-
A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 })
|
|
936
|
+
A.operation("updateRaw", { PK: "PK#nicetry", SK: "SK#nope" }, { a: 234 })
|
|
937
937
|
])).rejects.toBeInstanceOf(BulkWriteTransactionError);
|
|
938
938
|
expect(yield sandbox.snapshot()).toEqual(before);
|
|
939
939
|
}));
|
|
940
940
|
});
|
|
941
|
-
describe(">
|
|
941
|
+
describe("> 100 items (pseudo transaction)", () => {
|
|
942
942
|
test("it succeeds", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
943
943
|
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" }));
|
|
944
944
|
const before = yield sandbox.snapshot();
|
|
@@ -952,9 +952,9 @@ describe("bulk", () => {
|
|
|
952
952
|
new B({
|
|
953
953
|
pk: "PK#UPDATE",
|
|
954
954
|
sk: "SK#UPDATE",
|
|
955
|
-
b: "bar"
|
|
955
|
+
b: "bar"
|
|
956
956
|
}).operation("update", { b: "baz" }),
|
|
957
|
-
...Array.from({ length:
|
|
957
|
+
...Array.from({ length: 100 }).map((_, i) => new A({ pk: `PK#A${i}`, sk: `SK#A${i}`, a: i }).operation("put"))
|
|
958
958
|
]);
|
|
959
959
|
//#region snapshot
|
|
960
960
|
expect(yield sandbox.diff(before)).toMatchInlineSnapshot(`
|
|
@@ -962,7 +962,7 @@ describe("bulk", () => {
|
|
|
962
962
|
- First value
|
|
963
963
|
+ Second value
|
|
964
964
|
|
|
965
|
-
@@ -2,28 +2,
|
|
965
|
+
@@ -2,28 +2,946 @@
|
|
966
966
|
"PK#1__SK#1": Object {
|
|
967
967
|
"PK": "PK#1",
|
|
968
968
|
"SK": "SK#1",
|
|
@@ -1017,7 +1017,10 @@ describe("bulk", () => {
|
|
|
1017
1017
|
+ "a": 13,
|
|
1018
1018
|
+ "pk": "PK#A13",
|
|
1019
1019
|
+ "sk": "SK#A13",
|
|
1020
|
-
|
|
1020
|
+
},
|
|
1021
|
+
- "PK#2__SK#2": Object {
|
|
1022
|
+
- "PK": "PK#2",
|
|
1023
|
+
- "SK": "SK#2",
|
|
1021
1024
|
+ "PK#A14__SK#A14": Object {
|
|
1022
1025
|
+ "PK": "PK#A14",
|
|
1023
1026
|
+ "SK": "SK#A14",
|
|
@@ -1026,10 +1029,7 @@ describe("bulk", () => {
|
|
|
1026
1029
|
+ "a": 14,
|
|
1027
1030
|
+ "pk": "PK#A14",
|
|
1028
1031
|
+ "sk": "SK#A14",
|
|
1029
|
-
|
|
1030
|
-
- "PK#2__SK#2": Object {
|
|
1031
|
-
- "PK": "PK#2",
|
|
1032
|
-
- "SK": "SK#2",
|
|
1032
|
+
+ },
|
|
1033
1033
|
+ "PK#A15__SK#A15": Object {
|
|
1034
1034
|
+ "PK": "PK#A15",
|
|
1035
1035
|
+ "SK": "SK#A15",
|
|
@@ -1129,6 +1129,51 @@ describe("bulk", () => {
|
|
|
1129
1129
|
+ "pk": "PK#A24",
|
|
1130
1130
|
+ "sk": "SK#A24",
|
|
1131
1131
|
+ },
|
|
1132
|
+
+ "PK#A25__SK#A25": Object {
|
|
1133
|
+
+ "PK": "PK#A25",
|
|
1134
|
+
+ "SK": "SK#A25",
|
|
1135
|
+
+ "_docVersion": 0,
|
|
1136
|
+
+ "_tag": "A",
|
|
1137
|
+
+ "a": 25,
|
|
1138
|
+
+ "pk": "PK#A25",
|
|
1139
|
+
+ "sk": "SK#A25",
|
|
1140
|
+
+ },
|
|
1141
|
+
+ "PK#A26__SK#A26": Object {
|
|
1142
|
+
+ "PK": "PK#A26",
|
|
1143
|
+
+ "SK": "SK#A26",
|
|
1144
|
+
+ "_docVersion": 0,
|
|
1145
|
+
+ "_tag": "A",
|
|
1146
|
+
+ "a": 26,
|
|
1147
|
+
+ "pk": "PK#A26",
|
|
1148
|
+
+ "sk": "SK#A26",
|
|
1149
|
+
+ },
|
|
1150
|
+
+ "PK#A27__SK#A27": Object {
|
|
1151
|
+
+ "PK": "PK#A27",
|
|
1152
|
+
+ "SK": "SK#A27",
|
|
1153
|
+
+ "_docVersion": 0,
|
|
1154
|
+
+ "_tag": "A",
|
|
1155
|
+
+ "a": 27,
|
|
1156
|
+
+ "pk": "PK#A27",
|
|
1157
|
+
+ "sk": "SK#A27",
|
|
1158
|
+
+ },
|
|
1159
|
+
+ "PK#A28__SK#A28": Object {
|
|
1160
|
+
+ "PK": "PK#A28",
|
|
1161
|
+
+ "SK": "SK#A28",
|
|
1162
|
+
+ "_docVersion": 0,
|
|
1163
|
+
+ "_tag": "A",
|
|
1164
|
+
+ "a": 28,
|
|
1165
|
+
+ "pk": "PK#A28",
|
|
1166
|
+
+ "sk": "SK#A28",
|
|
1167
|
+
+ },
|
|
1168
|
+
+ "PK#A29__SK#A29": Object {
|
|
1169
|
+
+ "PK": "PK#A29",
|
|
1170
|
+
+ "SK": "SK#A29",
|
|
1171
|
+
+ "_docVersion": 0,
|
|
1172
|
+
+ "_tag": "A",
|
|
1173
|
+
+ "a": 29,
|
|
1174
|
+
+ "pk": "PK#A29",
|
|
1175
|
+
+ "sk": "SK#A29",
|
|
1176
|
+
+ },
|
|
1132
1177
|
+ "PK#A2__SK#A2": Object {
|
|
1133
1178
|
+ "PK": "PK#A2",
|
|
1134
1179
|
+ "SK": "SK#A2",
|
|
@@ -1140,6 +1185,96 @@ describe("bulk", () => {
|
|
|
1140
1185
|
+ "pk": "PK#A2",
|
|
1141
1186
|
+ "sk": "SK#A2",
|
|
1142
1187
|
+ },
|
|
1188
|
+
+ "PK#A30__SK#A30": Object {
|
|
1189
|
+
+ "PK": "PK#A30",
|
|
1190
|
+
+ "SK": "SK#A30",
|
|
1191
|
+
+ "_docVersion": 0,
|
|
1192
|
+
+ "_tag": "A",
|
|
1193
|
+
+ "a": 30,
|
|
1194
|
+
+ "pk": "PK#A30",
|
|
1195
|
+
+ "sk": "SK#A30",
|
|
1196
|
+
+ },
|
|
1197
|
+
+ "PK#A31__SK#A31": Object {
|
|
1198
|
+
+ "PK": "PK#A31",
|
|
1199
|
+
+ "SK": "SK#A31",
|
|
1200
|
+
+ "_docVersion": 0,
|
|
1201
|
+
+ "_tag": "A",
|
|
1202
|
+
+ "a": 31,
|
|
1203
|
+
+ "pk": "PK#A31",
|
|
1204
|
+
+ "sk": "SK#A31",
|
|
1205
|
+
+ },
|
|
1206
|
+
+ "PK#A32__SK#A32": Object {
|
|
1207
|
+
+ "PK": "PK#A32",
|
|
1208
|
+
+ "SK": "SK#A32",
|
|
1209
|
+
+ "_docVersion": 0,
|
|
1210
|
+
+ "_tag": "A",
|
|
1211
|
+
+ "a": 32,
|
|
1212
|
+
+ "pk": "PK#A32",
|
|
1213
|
+
+ "sk": "SK#A32",
|
|
1214
|
+
+ },
|
|
1215
|
+
+ "PK#A33__SK#A33": Object {
|
|
1216
|
+
+ "PK": "PK#A33",
|
|
1217
|
+
+ "SK": "SK#A33",
|
|
1218
|
+
+ "_docVersion": 0,
|
|
1219
|
+
+ "_tag": "A",
|
|
1220
|
+
+ "a": 33,
|
|
1221
|
+
+ "pk": "PK#A33",
|
|
1222
|
+
+ "sk": "SK#A33",
|
|
1223
|
+
+ },
|
|
1224
|
+
+ "PK#A34__SK#A34": Object {
|
|
1225
|
+
+ "PK": "PK#A34",
|
|
1226
|
+
+ "SK": "SK#A34",
|
|
1227
|
+
+ "_docVersion": 0,
|
|
1228
|
+
+ "_tag": "A",
|
|
1229
|
+
+ "a": 34,
|
|
1230
|
+
+ "pk": "PK#A34",
|
|
1231
|
+
+ "sk": "SK#A34",
|
|
1232
|
+
+ },
|
|
1233
|
+
+ "PK#A35__SK#A35": Object {
|
|
1234
|
+
+ "PK": "PK#A35",
|
|
1235
|
+
+ "SK": "SK#A35",
|
|
1236
|
+
+ "_docVersion": 0,
|
|
1237
|
+
+ "_tag": "A",
|
|
1238
|
+
+ "a": 35,
|
|
1239
|
+
+ "pk": "PK#A35",
|
|
1240
|
+
+ "sk": "SK#A35",
|
|
1241
|
+
+ },
|
|
1242
|
+
+ "PK#A36__SK#A36": Object {
|
|
1243
|
+
+ "PK": "PK#A36",
|
|
1244
|
+
+ "SK": "SK#A36",
|
|
1245
|
+
+ "_docVersion": 0,
|
|
1246
|
+
+ "_tag": "A",
|
|
1247
|
+
+ "a": 36,
|
|
1248
|
+
+ "pk": "PK#A36",
|
|
1249
|
+
+ "sk": "SK#A36",
|
|
1250
|
+
+ },
|
|
1251
|
+
+ "PK#A37__SK#A37": Object {
|
|
1252
|
+
+ "PK": "PK#A37",
|
|
1253
|
+
+ "SK": "SK#A37",
|
|
1254
|
+
+ "_docVersion": 0,
|
|
1255
|
+
+ "_tag": "A",
|
|
1256
|
+
+ "a": 37,
|
|
1257
|
+
+ "pk": "PK#A37",
|
|
1258
|
+
+ "sk": "SK#A37",
|
|
1259
|
+
+ },
|
|
1260
|
+
+ "PK#A38__SK#A38": Object {
|
|
1261
|
+
+ "PK": "PK#A38",
|
|
1262
|
+
+ "SK": "SK#A38",
|
|
1263
|
+
+ "_docVersion": 0,
|
|
1264
|
+
+ "_tag": "A",
|
|
1265
|
+
+ "a": 38,
|
|
1266
|
+
+ "pk": "PK#A38",
|
|
1267
|
+
+ "sk": "SK#A38",
|
|
1268
|
+
+ },
|
|
1269
|
+
+ "PK#A39__SK#A39": Object {
|
|
1270
|
+
+ "PK": "PK#A39",
|
|
1271
|
+
+ "SK": "SK#A39",
|
|
1272
|
+
+ "_docVersion": 0,
|
|
1273
|
+
+ "_tag": "A",
|
|
1274
|
+
+ "a": 39,
|
|
1275
|
+
+ "pk": "PK#A39",
|
|
1276
|
+
+ "sk": "SK#A39",
|
|
1277
|
+
+ },
|
|
1143
1278
|
+ "PK#A3__SK#A3": Object {
|
|
1144
1279
|
+ "PK": "PK#A3",
|
|
1145
1280
|
+ "SK": "SK#A3",
|
|
@@ -1149,6 +1284,96 @@ describe("bulk", () => {
|
|
|
1149
1284
|
+ "pk": "PK#A3",
|
|
1150
1285
|
+ "sk": "SK#A3",
|
|
1151
1286
|
+ },
|
|
1287
|
+
+ "PK#A40__SK#A40": Object {
|
|
1288
|
+
+ "PK": "PK#A40",
|
|
1289
|
+
+ "SK": "SK#A40",
|
|
1290
|
+
+ "_docVersion": 0,
|
|
1291
|
+
+ "_tag": "A",
|
|
1292
|
+
+ "a": 40,
|
|
1293
|
+
+ "pk": "PK#A40",
|
|
1294
|
+
+ "sk": "SK#A40",
|
|
1295
|
+
+ },
|
|
1296
|
+
+ "PK#A41__SK#A41": Object {
|
|
1297
|
+
+ "PK": "PK#A41",
|
|
1298
|
+
+ "SK": "SK#A41",
|
|
1299
|
+
+ "_docVersion": 0,
|
|
1300
|
+
+ "_tag": "A",
|
|
1301
|
+
+ "a": 41,
|
|
1302
|
+
+ "pk": "PK#A41",
|
|
1303
|
+
+ "sk": "SK#A41",
|
|
1304
|
+
+ },
|
|
1305
|
+
+ "PK#A42__SK#A42": Object {
|
|
1306
|
+
+ "PK": "PK#A42",
|
|
1307
|
+
+ "SK": "SK#A42",
|
|
1308
|
+
+ "_docVersion": 0,
|
|
1309
|
+
+ "_tag": "A",
|
|
1310
|
+
+ "a": 42,
|
|
1311
|
+
+ "pk": "PK#A42",
|
|
1312
|
+
+ "sk": "SK#A42",
|
|
1313
|
+
+ },
|
|
1314
|
+
+ "PK#A43__SK#A43": Object {
|
|
1315
|
+
+ "PK": "PK#A43",
|
|
1316
|
+
+ "SK": "SK#A43",
|
|
1317
|
+
+ "_docVersion": 0,
|
|
1318
|
+
+ "_tag": "A",
|
|
1319
|
+
+ "a": 43,
|
|
1320
|
+
+ "pk": "PK#A43",
|
|
1321
|
+
+ "sk": "SK#A43",
|
|
1322
|
+
+ },
|
|
1323
|
+
+ "PK#A44__SK#A44": Object {
|
|
1324
|
+
+ "PK": "PK#A44",
|
|
1325
|
+
+ "SK": "SK#A44",
|
|
1326
|
+
+ "_docVersion": 0,
|
|
1327
|
+
+ "_tag": "A",
|
|
1328
|
+
+ "a": 44,
|
|
1329
|
+
+ "pk": "PK#A44",
|
|
1330
|
+
+ "sk": "SK#A44",
|
|
1331
|
+
+ },
|
|
1332
|
+
+ "PK#A45__SK#A45": Object {
|
|
1333
|
+
+ "PK": "PK#A45",
|
|
1334
|
+
+ "SK": "SK#A45",
|
|
1335
|
+
+ "_docVersion": 0,
|
|
1336
|
+
+ "_tag": "A",
|
|
1337
|
+
+ "a": 45,
|
|
1338
|
+
+ "pk": "PK#A45",
|
|
1339
|
+
+ "sk": "SK#A45",
|
|
1340
|
+
+ },
|
|
1341
|
+
+ "PK#A46__SK#A46": Object {
|
|
1342
|
+
+ "PK": "PK#A46",
|
|
1343
|
+
+ "SK": "SK#A46",
|
|
1344
|
+
+ "_docVersion": 0,
|
|
1345
|
+
+ "_tag": "A",
|
|
1346
|
+
+ "a": 46,
|
|
1347
|
+
+ "pk": "PK#A46",
|
|
1348
|
+
+ "sk": "SK#A46",
|
|
1349
|
+
+ },
|
|
1350
|
+
+ "PK#A47__SK#A47": Object {
|
|
1351
|
+
+ "PK": "PK#A47",
|
|
1352
|
+
+ "SK": "SK#A47",
|
|
1353
|
+
+ "_docVersion": 0,
|
|
1354
|
+
+ "_tag": "A",
|
|
1355
|
+
+ "a": 47,
|
|
1356
|
+
+ "pk": "PK#A47",
|
|
1357
|
+
+ "sk": "SK#A47",
|
|
1358
|
+
+ },
|
|
1359
|
+
+ "PK#A48__SK#A48": Object {
|
|
1360
|
+
+ "PK": "PK#A48",
|
|
1361
|
+
+ "SK": "SK#A48",
|
|
1362
|
+
+ "_docVersion": 0,
|
|
1363
|
+
+ "_tag": "A",
|
|
1364
|
+
+ "a": 48,
|
|
1365
|
+
+ "pk": "PK#A48",
|
|
1366
|
+
+ "sk": "SK#A48",
|
|
1367
|
+
+ },
|
|
1368
|
+
+ "PK#A49__SK#A49": Object {
|
|
1369
|
+
+ "PK": "PK#A49",
|
|
1370
|
+
+ "SK": "SK#A49",
|
|
1371
|
+
+ "_docVersion": 0,
|
|
1372
|
+
+ "_tag": "A",
|
|
1373
|
+
+ "a": 49,
|
|
1374
|
+
+ "pk": "PK#A49",
|
|
1375
|
+
+ "sk": "SK#A49",
|
|
1376
|
+
+ },
|
|
1152
1377
|
+ "PK#A4__SK#A4": Object {
|
|
1153
1378
|
+ "PK": "PK#A4",
|
|
1154
1379
|
+ "SK": "SK#A4",
|
|
@@ -1158,6 +1383,99 @@ describe("bulk", () => {
|
|
|
1158
1383
|
+ "pk": "PK#A4",
|
|
1159
1384
|
+ "sk": "SK#A4",
|
|
1160
1385
|
+ },
|
|
1386
|
+
+ "PK#A50__SK#A50": Object {
|
|
1387
|
+
+ "PK": "PK#A50",
|
|
1388
|
+
+ "SK": "SK#A50",
|
|
1389
|
+
+ "_docVersion": 0,
|
|
1390
|
+
+ "_tag": "A",
|
|
1391
|
+
+ "a": 50,
|
|
1392
|
+
+ "pk": "PK#A50",
|
|
1393
|
+
+ "sk": "SK#A50",
|
|
1394
|
+
+ },
|
|
1395
|
+
+ "PK#A51__SK#A51": Object {
|
|
1396
|
+
+ "PK": "PK#A51",
|
|
1397
|
+
+ "SK": "SK#A51",
|
|
1398
|
+
+ "_docVersion": 0,
|
|
1399
|
+
+ "_tag": "A",
|
|
1400
|
+
+ "a": 51,
|
|
1401
|
+
+ "pk": "PK#A51",
|
|
1402
|
+
+ "sk": "SK#A51",
|
|
1403
|
+
+ },
|
|
1404
|
+
+ "PK#A52__SK#A52": Object {
|
|
1405
|
+
+ "PK": "PK#A52",
|
|
1406
|
+
+ "SK": "SK#A52",
|
|
1407
|
+
+ "_docVersion": 0,
|
|
1408
|
+
+ "_tag": "A",
|
|
1409
|
+
+ "a": 52,
|
|
1410
|
+
+ "pk": "PK#A52",
|
|
1411
|
+
+ "sk": "SK#A52",
|
|
1412
|
+
},
|
|
1413
|
+
- "PK#3__SK#3": Object {
|
|
1414
|
+
- "PK": "PK#3",
|
|
1415
|
+
- "SK": "SK#3",
|
|
1416
|
+
+ "PK#A53__SK#A53": Object {
|
|
1417
|
+
+ "PK": "PK#A53",
|
|
1418
|
+
+ "SK": "SK#A53",
|
|
1419
|
+
+ "_docVersion": 0,
|
|
1420
|
+
+ "_tag": "A",
|
|
1421
|
+
+ "a": 53,
|
|
1422
|
+
+ "pk": "PK#A53",
|
|
1423
|
+
+ "sk": "SK#A53",
|
|
1424
|
+
+ },
|
|
1425
|
+
+ "PK#A54__SK#A54": Object {
|
|
1426
|
+
+ "PK": "PK#A54",
|
|
1427
|
+
+ "SK": "SK#A54",
|
|
1428
|
+
+ "_docVersion": 0,
|
|
1429
|
+
+ "_tag": "A",
|
|
1430
|
+
+ "a": 54,
|
|
1431
|
+
+ "pk": "PK#A54",
|
|
1432
|
+
+ "sk": "SK#A54",
|
|
1433
|
+
+ },
|
|
1434
|
+
+ "PK#A55__SK#A55": Object {
|
|
1435
|
+
+ "PK": "PK#A55",
|
|
1436
|
+
+ "SK": "SK#A55",
|
|
1437
|
+
+ "_docVersion": 0,
|
|
1438
|
+
+ "_tag": "A",
|
|
1439
|
+
+ "a": 55,
|
|
1440
|
+
+ "pk": "PK#A55",
|
|
1441
|
+
+ "sk": "SK#A55",
|
|
1442
|
+
+ },
|
|
1443
|
+
+ "PK#A56__SK#A56": Object {
|
|
1444
|
+
+ "PK": "PK#A56",
|
|
1445
|
+
+ "SK": "SK#A56",
|
|
1446
|
+
+ "_docVersion": 0,
|
|
1447
|
+
+ "_tag": "A",
|
|
1448
|
+
+ "a": 56,
|
|
1449
|
+
+ "pk": "PK#A56",
|
|
1450
|
+
+ "sk": "SK#A56",
|
|
1451
|
+
+ },
|
|
1452
|
+
+ "PK#A57__SK#A57": Object {
|
|
1453
|
+
+ "PK": "PK#A57",
|
|
1454
|
+
+ "SK": "SK#A57",
|
|
1455
|
+
+ "_docVersion": 0,
|
|
1456
|
+
+ "_tag": "A",
|
|
1457
|
+
+ "a": 57,
|
|
1458
|
+
+ "pk": "PK#A57",
|
|
1459
|
+
+ "sk": "SK#A57",
|
|
1460
|
+
+ },
|
|
1461
|
+
+ "PK#A58__SK#A58": Object {
|
|
1462
|
+
+ "PK": "PK#A58",
|
|
1463
|
+
+ "SK": "SK#A58",
|
|
1464
|
+
+ "_docVersion": 0,
|
|
1465
|
+
+ "_tag": "A",
|
|
1466
|
+
+ "a": 58,
|
|
1467
|
+
+ "pk": "PK#A58",
|
|
1468
|
+
+ "sk": "SK#A58",
|
|
1469
|
+
+ },
|
|
1470
|
+
+ "PK#A59__SK#A59": Object {
|
|
1471
|
+
+ "PK": "PK#A59",
|
|
1472
|
+
+ "SK": "SK#A59",
|
|
1473
|
+
+ "_docVersion": 0,
|
|
1474
|
+
+ "_tag": "A",
|
|
1475
|
+
+ "a": 59,
|
|
1476
|
+
+ "pk": "PK#A59",
|
|
1477
|
+
+ "sk": "SK#A59",
|
|
1478
|
+
+ },
|
|
1161
1479
|
+ "PK#A5__SK#A5": Object {
|
|
1162
1480
|
+ "PK": "PK#A5",
|
|
1163
1481
|
+ "SK": "SK#A5",
|
|
@@ -1167,6 +1485,96 @@ describe("bulk", () => {
|
|
|
1167
1485
|
+ "pk": "PK#A5",
|
|
1168
1486
|
+ "sk": "SK#A5",
|
|
1169
1487
|
+ },
|
|
1488
|
+
+ "PK#A60__SK#A60": Object {
|
|
1489
|
+
+ "PK": "PK#A60",
|
|
1490
|
+
+ "SK": "SK#A60",
|
|
1491
|
+
+ "_docVersion": 0,
|
|
1492
|
+
+ "_tag": "A",
|
|
1493
|
+
+ "a": 60,
|
|
1494
|
+
+ "pk": "PK#A60",
|
|
1495
|
+
+ "sk": "SK#A60",
|
|
1496
|
+
+ },
|
|
1497
|
+
+ "PK#A61__SK#A61": Object {
|
|
1498
|
+
+ "PK": "PK#A61",
|
|
1499
|
+
+ "SK": "SK#A61",
|
|
1500
|
+
+ "_docVersion": 0,
|
|
1501
|
+
+ "_tag": "A",
|
|
1502
|
+
+ "a": 61,
|
|
1503
|
+
+ "pk": "PK#A61",
|
|
1504
|
+
+ "sk": "SK#A61",
|
|
1505
|
+
+ },
|
|
1506
|
+
+ "PK#A62__SK#A62": Object {
|
|
1507
|
+
+ "PK": "PK#A62",
|
|
1508
|
+
+ "SK": "SK#A62",
|
|
1509
|
+
+ "_docVersion": 0,
|
|
1510
|
+
+ "_tag": "A",
|
|
1511
|
+
+ "a": 62,
|
|
1512
|
+
+ "pk": "PK#A62",
|
|
1513
|
+
+ "sk": "SK#A62",
|
|
1514
|
+
+ },
|
|
1515
|
+
+ "PK#A63__SK#A63": Object {
|
|
1516
|
+
+ "PK": "PK#A63",
|
|
1517
|
+
+ "SK": "SK#A63",
|
|
1518
|
+
+ "_docVersion": 0,
|
|
1519
|
+
+ "_tag": "A",
|
|
1520
|
+
+ "a": 63,
|
|
1521
|
+
+ "pk": "PK#A63",
|
|
1522
|
+
+ "sk": "SK#A63",
|
|
1523
|
+
+ },
|
|
1524
|
+
+ "PK#A64__SK#A64": Object {
|
|
1525
|
+
+ "PK": "PK#A64",
|
|
1526
|
+
+ "SK": "SK#A64",
|
|
1527
|
+
+ "_docVersion": 0,
|
|
1528
|
+
+ "_tag": "A",
|
|
1529
|
+
+ "a": 64,
|
|
1530
|
+
+ "pk": "PK#A64",
|
|
1531
|
+
+ "sk": "SK#A64",
|
|
1532
|
+
+ },
|
|
1533
|
+
+ "PK#A65__SK#A65": Object {
|
|
1534
|
+
+ "PK": "PK#A65",
|
|
1535
|
+
+ "SK": "SK#A65",
|
|
1536
|
+
+ "_docVersion": 0,
|
|
1537
|
+
+ "_tag": "A",
|
|
1538
|
+
+ "a": 65,
|
|
1539
|
+
+ "pk": "PK#A65",
|
|
1540
|
+
+ "sk": "SK#A65",
|
|
1541
|
+
+ },
|
|
1542
|
+
+ "PK#A66__SK#A66": Object {
|
|
1543
|
+
+ "PK": "PK#A66",
|
|
1544
|
+
+ "SK": "SK#A66",
|
|
1545
|
+
+ "_docVersion": 0,
|
|
1546
|
+
+ "_tag": "A",
|
|
1547
|
+
+ "a": 66,
|
|
1548
|
+
+ "pk": "PK#A66",
|
|
1549
|
+
+ "sk": "SK#A66",
|
|
1550
|
+
+ },
|
|
1551
|
+
+ "PK#A67__SK#A67": Object {
|
|
1552
|
+
+ "PK": "PK#A67",
|
|
1553
|
+
+ "SK": "SK#A67",
|
|
1554
|
+
+ "_docVersion": 0,
|
|
1555
|
+
+ "_tag": "A",
|
|
1556
|
+
+ "a": 67,
|
|
1557
|
+
+ "pk": "PK#A67",
|
|
1558
|
+
+ "sk": "SK#A67",
|
|
1559
|
+
+ },
|
|
1560
|
+
+ "PK#A68__SK#A68": Object {
|
|
1561
|
+
+ "PK": "PK#A68",
|
|
1562
|
+
+ "SK": "SK#A68",
|
|
1563
|
+
+ "_docVersion": 0,
|
|
1564
|
+
+ "_tag": "A",
|
|
1565
|
+
+ "a": 68,
|
|
1566
|
+
+ "pk": "PK#A68",
|
|
1567
|
+
+ "sk": "SK#A68",
|
|
1568
|
+
+ },
|
|
1569
|
+
+ "PK#A69__SK#A69": Object {
|
|
1570
|
+
+ "PK": "PK#A69",
|
|
1571
|
+
+ "SK": "SK#A69",
|
|
1572
|
+
+ "_docVersion": 0,
|
|
1573
|
+
+ "_tag": "A",
|
|
1574
|
+
+ "a": 69,
|
|
1575
|
+
+ "pk": "PK#A69",
|
|
1576
|
+
+ "sk": "SK#A69",
|
|
1577
|
+
+ },
|
|
1170
1578
|
+ "PK#A6__SK#A6": Object {
|
|
1171
1579
|
+ "PK": "PK#A6",
|
|
1172
1580
|
+ "SK": "SK#A6",
|
|
@@ -1176,6 +1584,96 @@ describe("bulk", () => {
|
|
|
1176
1584
|
+ "pk": "PK#A6",
|
|
1177
1585
|
+ "sk": "SK#A6",
|
|
1178
1586
|
+ },
|
|
1587
|
+
+ "PK#A70__SK#A70": Object {
|
|
1588
|
+
+ "PK": "PK#A70",
|
|
1589
|
+
+ "SK": "SK#A70",
|
|
1590
|
+
+ "_docVersion": 0,
|
|
1591
|
+
+ "_tag": "A",
|
|
1592
|
+
+ "a": 70,
|
|
1593
|
+
+ "pk": "PK#A70",
|
|
1594
|
+
+ "sk": "SK#A70",
|
|
1595
|
+
+ },
|
|
1596
|
+
+ "PK#A71__SK#A71": Object {
|
|
1597
|
+
+ "PK": "PK#A71",
|
|
1598
|
+
+ "SK": "SK#A71",
|
|
1599
|
+
+ "_docVersion": 0,
|
|
1600
|
+
+ "_tag": "A",
|
|
1601
|
+
+ "a": 71,
|
|
1602
|
+
+ "pk": "PK#A71",
|
|
1603
|
+
+ "sk": "SK#A71",
|
|
1604
|
+
+ },
|
|
1605
|
+
+ "PK#A72__SK#A72": Object {
|
|
1606
|
+
+ "PK": "PK#A72",
|
|
1607
|
+
+ "SK": "SK#A72",
|
|
1608
|
+
+ "_docVersion": 0,
|
|
1609
|
+
+ "_tag": "A",
|
|
1610
|
+
+ "a": 72,
|
|
1611
|
+
+ "pk": "PK#A72",
|
|
1612
|
+
+ "sk": "SK#A72",
|
|
1613
|
+
+ },
|
|
1614
|
+
+ "PK#A73__SK#A73": Object {
|
|
1615
|
+
+ "PK": "PK#A73",
|
|
1616
|
+
+ "SK": "SK#A73",
|
|
1617
|
+
+ "_docVersion": 0,
|
|
1618
|
+
+ "_tag": "A",
|
|
1619
|
+
+ "a": 73,
|
|
1620
|
+
+ "pk": "PK#A73",
|
|
1621
|
+
+ "sk": "SK#A73",
|
|
1622
|
+
+ },
|
|
1623
|
+
+ "PK#A74__SK#A74": Object {
|
|
1624
|
+
+ "PK": "PK#A74",
|
|
1625
|
+
+ "SK": "SK#A74",
|
|
1626
|
+
+ "_docVersion": 0,
|
|
1627
|
+
+ "_tag": "A",
|
|
1628
|
+
+ "a": 74,
|
|
1629
|
+
+ "pk": "PK#A74",
|
|
1630
|
+
+ "sk": "SK#A74",
|
|
1631
|
+
+ },
|
|
1632
|
+
+ "PK#A75__SK#A75": Object {
|
|
1633
|
+
+ "PK": "PK#A75",
|
|
1634
|
+
+ "SK": "SK#A75",
|
|
1635
|
+
+ "_docVersion": 0,
|
|
1636
|
+
+ "_tag": "A",
|
|
1637
|
+
+ "a": 75,
|
|
1638
|
+
+ "pk": "PK#A75",
|
|
1639
|
+
+ "sk": "SK#A75",
|
|
1640
|
+
+ },
|
|
1641
|
+
+ "PK#A76__SK#A76": Object {
|
|
1642
|
+
+ "PK": "PK#A76",
|
|
1643
|
+
+ "SK": "SK#A76",
|
|
1644
|
+
+ "_docVersion": 0,
|
|
1645
|
+
+ "_tag": "A",
|
|
1646
|
+
+ "a": 76,
|
|
1647
|
+
+ "pk": "PK#A76",
|
|
1648
|
+
+ "sk": "SK#A76",
|
|
1649
|
+
+ },
|
|
1650
|
+
+ "PK#A77__SK#A77": Object {
|
|
1651
|
+
+ "PK": "PK#A77",
|
|
1652
|
+
+ "SK": "SK#A77",
|
|
1653
|
+
+ "_docVersion": 0,
|
|
1654
|
+
+ "_tag": "A",
|
|
1655
|
+
+ "a": 77,
|
|
1656
|
+
+ "pk": "PK#A77",
|
|
1657
|
+
+ "sk": "SK#A77",
|
|
1658
|
+
+ },
|
|
1659
|
+
+ "PK#A78__SK#A78": Object {
|
|
1660
|
+
+ "PK": "PK#A78",
|
|
1661
|
+
+ "SK": "SK#A78",
|
|
1662
|
+
+ "_docVersion": 0,
|
|
1663
|
+
+ "_tag": "A",
|
|
1664
|
+
+ "a": 78,
|
|
1665
|
+
+ "pk": "PK#A78",
|
|
1666
|
+
+ "sk": "SK#A78",
|
|
1667
|
+
+ },
|
|
1668
|
+
+ "PK#A79__SK#A79": Object {
|
|
1669
|
+
+ "PK": "PK#A79",
|
|
1670
|
+
+ "SK": "SK#A79",
|
|
1671
|
+
+ "_docVersion": 0,
|
|
1672
|
+
+ "_tag": "A",
|
|
1673
|
+
+ "a": 79,
|
|
1674
|
+
+ "pk": "PK#A79",
|
|
1675
|
+
+ "sk": "SK#A79",
|
|
1676
|
+
+ },
|
|
1179
1677
|
+ "PK#A7__SK#A7": Object {
|
|
1180
1678
|
+ "PK": "PK#A7",
|
|
1181
1679
|
+ "SK": "SK#A7",
|
|
@@ -1185,6 +1683,96 @@ describe("bulk", () => {
|
|
|
1185
1683
|
+ "pk": "PK#A7",
|
|
1186
1684
|
+ "sk": "SK#A7",
|
|
1187
1685
|
+ },
|
|
1686
|
+
+ "PK#A80__SK#A80": Object {
|
|
1687
|
+
+ "PK": "PK#A80",
|
|
1688
|
+
+ "SK": "SK#A80",
|
|
1689
|
+
+ "_docVersion": 0,
|
|
1690
|
+
+ "_tag": "A",
|
|
1691
|
+
+ "a": 80,
|
|
1692
|
+
+ "pk": "PK#A80",
|
|
1693
|
+
+ "sk": "SK#A80",
|
|
1694
|
+
+ },
|
|
1695
|
+
+ "PK#A81__SK#A81": Object {
|
|
1696
|
+
+ "PK": "PK#A81",
|
|
1697
|
+
+ "SK": "SK#A81",
|
|
1698
|
+
+ "_docVersion": 0,
|
|
1699
|
+
+ "_tag": "A",
|
|
1700
|
+
+ "a": 81,
|
|
1701
|
+
+ "pk": "PK#A81",
|
|
1702
|
+
+ "sk": "SK#A81",
|
|
1703
|
+
+ },
|
|
1704
|
+
+ "PK#A82__SK#A82": Object {
|
|
1705
|
+
+ "PK": "PK#A82",
|
|
1706
|
+
+ "SK": "SK#A82",
|
|
1707
|
+
+ "_docVersion": 0,
|
|
1708
|
+
+ "_tag": "A",
|
|
1709
|
+
+ "a": 82,
|
|
1710
|
+
+ "pk": "PK#A82",
|
|
1711
|
+
+ "sk": "SK#A82",
|
|
1712
|
+
+ },
|
|
1713
|
+
+ "PK#A83__SK#A83": Object {
|
|
1714
|
+
+ "PK": "PK#A83",
|
|
1715
|
+
+ "SK": "SK#A83",
|
|
1716
|
+
+ "_docVersion": 0,
|
|
1717
|
+
+ "_tag": "A",
|
|
1718
|
+
+ "a": 83,
|
|
1719
|
+
+ "pk": "PK#A83",
|
|
1720
|
+
+ "sk": "SK#A83",
|
|
1721
|
+
+ },
|
|
1722
|
+
+ "PK#A84__SK#A84": Object {
|
|
1723
|
+
+ "PK": "PK#A84",
|
|
1724
|
+
+ "SK": "SK#A84",
|
|
1725
|
+
+ "_docVersion": 0,
|
|
1726
|
+
+ "_tag": "A",
|
|
1727
|
+
+ "a": 84,
|
|
1728
|
+
+ "pk": "PK#A84",
|
|
1729
|
+
+ "sk": "SK#A84",
|
|
1730
|
+
+ },
|
|
1731
|
+
+ "PK#A85__SK#A85": Object {
|
|
1732
|
+
+ "PK": "PK#A85",
|
|
1733
|
+
+ "SK": "SK#A85",
|
|
1734
|
+
+ "_docVersion": 0,
|
|
1735
|
+
+ "_tag": "A",
|
|
1736
|
+
+ "a": 85,
|
|
1737
|
+
+ "pk": "PK#A85",
|
|
1738
|
+
+ "sk": "SK#A85",
|
|
1739
|
+
+ },
|
|
1740
|
+
+ "PK#A86__SK#A86": Object {
|
|
1741
|
+
+ "PK": "PK#A86",
|
|
1742
|
+
+ "SK": "SK#A86",
|
|
1743
|
+
+ "_docVersion": 0,
|
|
1744
|
+
+ "_tag": "A",
|
|
1745
|
+
+ "a": 86,
|
|
1746
|
+
+ "pk": "PK#A86",
|
|
1747
|
+
+ "sk": "SK#A86",
|
|
1748
|
+
+ },
|
|
1749
|
+
+ "PK#A87__SK#A87": Object {
|
|
1750
|
+
+ "PK": "PK#A87",
|
|
1751
|
+
+ "SK": "SK#A87",
|
|
1752
|
+
+ "_docVersion": 0,
|
|
1753
|
+
+ "_tag": "A",
|
|
1754
|
+
+ "a": 87,
|
|
1755
|
+
+ "pk": "PK#A87",
|
|
1756
|
+
+ "sk": "SK#A87",
|
|
1757
|
+
+ },
|
|
1758
|
+
+ "PK#A88__SK#A88": Object {
|
|
1759
|
+
+ "PK": "PK#A88",
|
|
1760
|
+
+ "SK": "SK#A88",
|
|
1761
|
+
+ "_docVersion": 0,
|
|
1762
|
+
+ "_tag": "A",
|
|
1763
|
+
+ "a": 88,
|
|
1764
|
+
+ "pk": "PK#A88",
|
|
1765
|
+
+ "sk": "SK#A88",
|
|
1766
|
+
+ },
|
|
1767
|
+
+ "PK#A89__SK#A89": Object {
|
|
1768
|
+
+ "PK": "PK#A89",
|
|
1769
|
+
+ "SK": "SK#A89",
|
|
1770
|
+
+ "_docVersion": 0,
|
|
1771
|
+
+ "_tag": "A",
|
|
1772
|
+
+ "a": 89,
|
|
1773
|
+
+ "pk": "PK#A89",
|
|
1774
|
+
+ "sk": "SK#A89",
|
|
1775
|
+
+ },
|
|
1188
1776
|
+ "PK#A8__SK#A8": Object {
|
|
1189
1777
|
+ "PK": "PK#A8",
|
|
1190
1778
|
+ "SK": "SK#A8",
|
|
@@ -1194,23 +1782,113 @@ describe("bulk", () => {
|
|
|
1194
1782
|
+ "pk": "PK#A8",
|
|
1195
1783
|
+ "sk": "SK#A8",
|
|
1196
1784
|
+ },
|
|
1785
|
+
+ "PK#A90__SK#A90": Object {
|
|
1786
|
+
+ "PK": "PK#A90",
|
|
1787
|
+
+ "SK": "SK#A90",
|
|
1788
|
+
+ "_docVersion": 0,
|
|
1789
|
+
+ "_tag": "A",
|
|
1790
|
+
+ "a": 90,
|
|
1791
|
+
+ "pk": "PK#A90",
|
|
1792
|
+
+ "sk": "SK#A90",
|
|
1793
|
+
+ },
|
|
1794
|
+
+ "PK#A91__SK#A91": Object {
|
|
1795
|
+
+ "PK": "PK#A91",
|
|
1796
|
+
+ "SK": "SK#A91",
|
|
1797
|
+
+ "_docVersion": 0,
|
|
1798
|
+
+ "_tag": "A",
|
|
1799
|
+
+ "a": 91,
|
|
1800
|
+
+ "pk": "PK#A91",
|
|
1801
|
+
+ "sk": "SK#A91",
|
|
1802
|
+
+ },
|
|
1803
|
+
+ "PK#A92__SK#A92": Object {
|
|
1804
|
+
+ "PK": "PK#A92",
|
|
1805
|
+
+ "SK": "SK#A92",
|
|
1806
|
+
+ "_docVersion": 0,
|
|
1807
|
+
+ "_tag": "A",
|
|
1808
|
+
+ "a": 92,
|
|
1809
|
+
+ "pk": "PK#A92",
|
|
1810
|
+
+ "sk": "SK#A92",
|
|
1811
|
+
+ },
|
|
1812
|
+
+ "PK#A93__SK#A93": Object {
|
|
1813
|
+
+ "PK": "PK#A93",
|
|
1814
|
+
+ "SK": "SK#A93",
|
|
1815
|
+
+ "_docVersion": 0,
|
|
1816
|
+
+ "_tag": "A",
|
|
1817
|
+
+ "a": 93,
|
|
1818
|
+
+ "pk": "PK#A93",
|
|
1819
|
+
+ "sk": "SK#A93",
|
|
1820
|
+
+ },
|
|
1821
|
+
+ "PK#A94__SK#A94": Object {
|
|
1822
|
+
+ "PK": "PK#A94",
|
|
1823
|
+
+ "SK": "SK#A94",
|
|
1824
|
+
+ "_docVersion": 0,
|
|
1825
|
+
+ "_tag": "A",
|
|
1826
|
+
+ "a": 94,
|
|
1827
|
+
+ "pk": "PK#A94",
|
|
1828
|
+
+ "sk": "SK#A94",
|
|
1829
|
+
+ },
|
|
1830
|
+
+ "PK#A95__SK#A95": Object {
|
|
1831
|
+
+ "PK": "PK#A95",
|
|
1832
|
+
+ "SK": "SK#A95",
|
|
1833
|
+
+ "_docVersion": 0,
|
|
1834
|
+
+ "_tag": "A",
|
|
1835
|
+
+ "a": 95,
|
|
1836
|
+
+ "pk": "PK#A95",
|
|
1837
|
+
+ "sk": "SK#A95",
|
|
1838
|
+
+ },
|
|
1839
|
+
+ "PK#A96__SK#A96": Object {
|
|
1840
|
+
+ "PK": "PK#A96",
|
|
1841
|
+
+ "SK": "SK#A96",
|
|
1842
|
+
+ "_docVersion": 0,
|
|
1843
|
+
+ "_tag": "A",
|
|
1844
|
+
+ "a": 96,
|
|
1845
|
+
+ "pk": "PK#A96",
|
|
1846
|
+
+ "sk": "SK#A96",
|
|
1847
|
+
+ },
|
|
1848
|
+
+ "PK#A97__SK#A97": Object {
|
|
1849
|
+
+ "PK": "PK#A97",
|
|
1850
|
+
+ "SK": "SK#A97",
|
|
1851
|
+
+ "_docVersion": 0,
|
|
1852
|
+
+ "_tag": "A",
|
|
1853
|
+
+ "a": 97,
|
|
1854
|
+
+ "pk": "PK#A97",
|
|
1855
|
+
+ "sk": "SK#A97",
|
|
1856
|
+
+ },
|
|
1857
|
+
+ "PK#A98__SK#A98": Object {
|
|
1858
|
+
+ "PK": "PK#A98",
|
|
1859
|
+
+ "SK": "SK#A98",
|
|
1860
|
+
+ "_docVersion": 0,
|
|
1861
|
+
+ "_tag": "A",
|
|
1862
|
+
+ "a": 98,
|
|
1863
|
+
+ "pk": "PK#A98",
|
|
1864
|
+
+ "sk": "SK#A98",
|
|
1865
|
+
+ },
|
|
1866
|
+
+ "PK#A99__SK#A99": Object {
|
|
1867
|
+
+ "PK": "PK#A99",
|
|
1868
|
+
+ "SK": "SK#A99",
|
|
1869
|
+
+ "_docVersion": 0,
|
|
1870
|
+
+ "_tag": "A",
|
|
1871
|
+
+ "a": 99,
|
|
1872
|
+
+ "pk": "PK#A99",
|
|
1873
|
+
+ "sk": "SK#A99",
|
|
1874
|
+
+ },
|
|
1197
1875
|
+ "PK#A9__SK#A9": Object {
|
|
1198
1876
|
+ "PK": "PK#A9",
|
|
1199
1877
|
+ "SK": "SK#A9",
|
|
1200
|
-
|
|
1878
|
+
"_docVersion": 0,
|
|
1201
1879
|
+ "_tag": "A",
|
|
1202
1880
|
+ "a": 9,
|
|
1203
1881
|
+ "pk": "PK#A9",
|
|
1204
1882
|
+ "sk": "SK#A9",
|
|
1205
|
-
|
|
1206
|
-
- "PK#3__SK#3": Object {
|
|
1207
|
-
- "PK": "PK#3",
|
|
1208
|
-
- "SK": "SK#3",
|
|
1883
|
+
+ },
|
|
1209
1884
|
+ "PK#UPDATE__SK#UPDATE": Object {
|
|
1210
1885
|
+ "PK": "PK#UPDATE",
|
|
1211
1886
|
+ "SK": "SK#UPDATE",
|
|
1212
1887
|
+ "_docVersion": 1,
|
|
1213
|
-
|
|
1888
|
+
"_tag": "B",
|
|
1889
|
+
- "b": "bar",
|
|
1890
|
+
- "pk": "PK#3",
|
|
1891
|
+
- "sk": "SK#3",
|
|
1214
1892
|
+ "b": "baz",
|
|
1215
1893
|
+ "pk": "PK#UPDATE",
|
|
1216
1894
|
+ "sk": "SK#UPDATE",
|
|
@@ -1227,7 +1905,7 @@ describe("bulk", () => {
|
|
|
1227
1905
|
+ "PK5__PK5": Object {
|
|
1228
1906
|
+ "PK": "PK5",
|
|
1229
1907
|
+ "SK": "PK5",
|
|
1230
|
-
|
|
1908
|
+
+ "_docVersion": 0,
|
|
1231
1909
|
+ "_tag": "A",
|
|
1232
1910
|
+ "a": 5,
|
|
1233
1911
|
+ "pk": "PK5",
|
|
@@ -1237,10 +1915,7 @@ describe("bulk", () => {
|
|
|
1237
1915
|
+ "PK": "PK6",
|
|
1238
1916
|
+ "SK": "SK6",
|
|
1239
1917
|
+ "_docVersion": 0,
|
|
1240
|
-
|
|
1241
|
-
- "b": "bar",
|
|
1242
|
-
- "pk": "PK#3",
|
|
1243
|
-
- "sk": "SK#3",
|
|
1918
|
+
+ "_tag": "B",
|
|
1244
1919
|
+ "b": "baz",
|
|
1245
1920
|
+ "pk": "PK6",
|
|
1246
1921
|
+ "sk": "SK6",
|
|
@@ -1253,9 +1928,9 @@ describe("bulk", () => {
|
|
|
1253
1928
|
const before = yield sandbox.snapshot();
|
|
1254
1929
|
yield expect(client.bulk([
|
|
1255
1930
|
// Succeeds
|
|
1256
|
-
...Array.from({ length:
|
|
1931
|
+
...Array.from({ length: 110 }).map((_, i) => new A({ pk: `PK#${i}`, sk: `SK#${i}`, a: i }).operation("put")),
|
|
1257
1932
|
// Fails
|
|
1258
|
-
A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" })
|
|
1933
|
+
A.operation("condition", { PK: "nicetry", SK: "nope" }, { ConditionExpression: "attribute_exists(PK)" })
|
|
1259
1934
|
])).rejects.toBeInstanceOf(BulkWriteTransactionError);
|
|
1260
1935
|
expect(yield sandbox.snapshot()).toEqual(before);
|
|
1261
1936
|
}));
|
|
@@ -1279,7 +1954,7 @@ describe("batchGet", () => {
|
|
|
1279
1954
|
two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
|
|
1280
1955
|
three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
|
|
1281
1956
|
four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
|
|
1282
|
-
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1957
|
+
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1283
1958
|
})).rejects.toBeInstanceOf(ItemNotFoundError);
|
|
1284
1959
|
}));
|
|
1285
1960
|
test("it returns individual errors", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1289,7 +1964,7 @@ describe("batchGet", () => {
|
|
|
1289
1964
|
two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
|
|
1290
1965
|
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" }),
|
|
1291
1966
|
error: A.operation("get", { PK: "PK#error", SK: "SK#error" }),
|
|
1292
|
-
error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
|
|
1967
|
+
error2: A.operation("get", { PK: "PK#error2", SK: "SK#error2" })
|
|
1293
1968
|
}, { individualErrors: true });
|
|
1294
1969
|
expect(result.one).toBeInstanceOf(A);
|
|
1295
1970
|
expect(result.two).toBeInstanceOf(A);
|
|
@@ -1303,7 +1978,7 @@ describe("batchGet", () => {
|
|
|
1303
1978
|
two: A.operation("get", { PK: "PK#2", SK: "SK#2" }),
|
|
1304
1979
|
three: A.operation("get", { PK: "PK#3", SK: "SK#3" }),
|
|
1305
1980
|
four: A.operation("get", { PK: "PK#4", SK: "SK#4" }),
|
|
1306
|
-
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1981
|
+
duplicate: A.operation("get", { PK: "PK#1", SK: "SK#1" })
|
|
1307
1982
|
});
|
|
1308
1983
|
expect(Object.fromEntries(Object.entries(results).map(([key, val]) => [key, val.values()]))).toMatchInlineSnapshot(`
|
|
1309
1984
|
Object {
|
|
@@ -1349,20 +2024,20 @@ describe("load", () => {
|
|
|
1349
2024
|
yield sandbox.seed(item);
|
|
1350
2025
|
yield item.softDelete();
|
|
1351
2026
|
const recovered = yield client.load(A.operation("get", { PK: "PK#1", SK: "SK#1" }), {
|
|
1352
|
-
recover: true
|
|
2027
|
+
recover: true
|
|
1353
2028
|
});
|
|
1354
2029
|
expect(recovered).toBeInstanceOf(A);
|
|
1355
2030
|
expect(recovered.isDeleted).toBe(true);
|
|
1356
2031
|
}));
|
|
1357
2032
|
test("it throws if no item or soft deleted item exists", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1358
2033
|
yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
|
|
1359
|
-
recover: true
|
|
2034
|
+
recover: true
|
|
1360
2035
|
})).rejects.toBeInstanceOf(ItemNotFoundError);
|
|
1361
2036
|
}));
|
|
1362
2037
|
test("it returns null instead of throwing if no item or soft deleted item exists", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1363
2038
|
yield expect(client.load(A.operation("get", { PK: "PK", SK: "SK" }), {
|
|
1364
2039
|
recover: true,
|
|
1365
|
-
null: true
|
|
2040
|
+
null: true
|
|
1366
2041
|
})).resolves.toBeNull();
|
|
1367
2042
|
}));
|
|
1368
2043
|
test("it fetches >100 items", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1413,8 +2088,8 @@ describe("load", () => {
|
|
|
1413
2088
|
yield sandbox.seed(...items);
|
|
1414
2089
|
const results = yield Promise.all(items.map(({ PK, SK }, i) => Union.load({ PK, SK })));
|
|
1415
2090
|
expect(results.length).toBe(234);
|
|
1416
|
-
expect(results.filter(
|
|
1417
|
-
expect(results.filter(
|
|
2091
|
+
expect(results.filter(item => item instanceof C).length).toBe(123);
|
|
2092
|
+
expect(results.filter(item => item instanceof D).length).toBe(111);
|
|
1418
2093
|
expect(spy).toHaveBeenCalledTimes(3);
|
|
1419
2094
|
spy.mockReset();
|
|
1420
2095
|
spy.mockRestore();
|
|
@@ -1459,8 +2134,8 @@ describe("loadMany", () => {
|
|
|
1459
2134
|
yield sandbox.seed(...items);
|
|
1460
2135
|
const results = yield Union.loadMany(items.map(({ PK, SK }) => ({ PK, SK })));
|
|
1461
2136
|
expect(results.length).toBe(234);
|
|
1462
|
-
expect(results.filter(
|
|
1463
|
-
expect(results.filter(
|
|
2137
|
+
expect(results.filter(item => item instanceof C).length).toBe(123);
|
|
2138
|
+
expect(results.filter(item => item instanceof D).length).toBe(111);
|
|
1464
2139
|
expect(spy).toHaveBeenCalledTimes(3);
|
|
1465
2140
|
spy.mockReset();
|
|
1466
2141
|
spy.mockRestore();
|
|
@@ -1475,7 +2150,7 @@ describe("paginate", () => {
|
|
|
1475
2150
|
// Forwards
|
|
1476
2151
|
const page1 = yield client.paginate(C, {}, {
|
|
1477
2152
|
KeyConditionExpression: "PK = :pk",
|
|
1478
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2153
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1479
2154
|
});
|
|
1480
2155
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1481
2156
|
Object {
|
|
@@ -1490,7 +2165,7 @@ describe("paginate", () => {
|
|
|
1490
2165
|
expect(page1.edges[19].node.c).toBe("19");
|
|
1491
2166
|
const page2 = yield client.paginate(C, { after: page1.pageInfo.endCursor }, {
|
|
1492
2167
|
KeyConditionExpression: "PK = :pk",
|
|
1493
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2168
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1494
2169
|
});
|
|
1495
2170
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1496
2171
|
Object {
|
|
@@ -1505,7 +2180,7 @@ describe("paginate", () => {
|
|
|
1505
2180
|
expect(page2.edges[19].node.c).toBe("39");
|
|
1506
2181
|
const page3 = yield client.paginate(C, { after: page2.pageInfo.endCursor }, {
|
|
1507
2182
|
KeyConditionExpression: "PK = :pk",
|
|
1508
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2183
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1509
2184
|
});
|
|
1510
2185
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1511
2186
|
Object {
|
|
@@ -1521,7 +2196,7 @@ describe("paginate", () => {
|
|
|
1521
2196
|
// Backwards
|
|
1522
2197
|
const backwardsPage2 = yield client.paginate(C, { before: page3.pageInfo.startCursor }, {
|
|
1523
2198
|
KeyConditionExpression: "PK = :pk",
|
|
1524
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2199
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1525
2200
|
});
|
|
1526
2201
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1527
2202
|
Object {
|
|
@@ -1536,7 +2211,7 @@ describe("paginate", () => {
|
|
|
1536
2211
|
expect(backwardsPage2.edges[19].node.c).toBe("39");
|
|
1537
2212
|
const backwardsPage1 = yield client.paginate(C, { before: backwardsPage2.pageInfo.startCursor }, {
|
|
1538
2213
|
KeyConditionExpression: "PK = :pk",
|
|
1539
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2214
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1540
2215
|
});
|
|
1541
2216
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1542
2217
|
Object {
|
|
@@ -1558,7 +2233,7 @@ describe("paginate", () => {
|
|
|
1558
2233
|
// Forwards
|
|
1559
2234
|
const page1 = yield client.paginate(Union, {}, {
|
|
1560
2235
|
KeyConditionExpression: "PK = :pk",
|
|
1561
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2236
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1562
2237
|
});
|
|
1563
2238
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1564
2239
|
Object {
|
|
@@ -1573,7 +2248,7 @@ describe("paginate", () => {
|
|
|
1573
2248
|
expect(page1.edges[19].node.SK).toBe("019");
|
|
1574
2249
|
const page2 = yield client.paginate(Union, { after: page1.pageInfo.endCursor }, {
|
|
1575
2250
|
KeyConditionExpression: "PK = :pk",
|
|
1576
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2251
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1577
2252
|
});
|
|
1578
2253
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1579
2254
|
Object {
|
|
@@ -1588,7 +2263,7 @@ describe("paginate", () => {
|
|
|
1588
2263
|
expect(page2.edges[19].node.SK).toBe("039");
|
|
1589
2264
|
const page3 = yield client.paginate(Union, { after: page2.pageInfo.endCursor }, {
|
|
1590
2265
|
KeyConditionExpression: "PK = :pk",
|
|
1591
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2266
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1592
2267
|
});
|
|
1593
2268
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1594
2269
|
Object {
|
|
@@ -1604,7 +2279,7 @@ describe("paginate", () => {
|
|
|
1604
2279
|
// Backwards
|
|
1605
2280
|
const backwardsPage2 = yield client.paginate(Union, { before: page3.pageInfo.startCursor }, {
|
|
1606
2281
|
KeyConditionExpression: "PK = :pk",
|
|
1607
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2282
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1608
2283
|
});
|
|
1609
2284
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1610
2285
|
Object {
|
|
@@ -1619,7 +2294,7 @@ describe("paginate", () => {
|
|
|
1619
2294
|
expect(backwardsPage2.edges[19].node.SK).toBe("039");
|
|
1620
2295
|
const backwardsPage1 = yield client.paginate(Union, { before: backwardsPage2.pageInfo.startCursor }, {
|
|
1621
2296
|
KeyConditionExpression: "PK = :pk",
|
|
1622
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2297
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1623
2298
|
});
|
|
1624
2299
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1625
2300
|
Object {
|
|
@@ -1639,7 +2314,7 @@ describe("paginate", () => {
|
|
|
1639
2314
|
// Forwards
|
|
1640
2315
|
const page = yield client.paginate(C, { first: 10 }, {
|
|
1641
2316
|
KeyConditionExpression: "PK = :pk",
|
|
1642
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2317
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1643
2318
|
});
|
|
1644
2319
|
expect(page.pageInfo).toMatchInlineSnapshot(`
|
|
1645
2320
|
Object {
|
|
@@ -1659,7 +2334,7 @@ describe("paginate", () => {
|
|
|
1659
2334
|
// Forwards
|
|
1660
2335
|
const page1 = yield client.paginate(C, { first: 60 }, {
|
|
1661
2336
|
KeyConditionExpression: "PK = :pk",
|
|
1662
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2337
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1663
2338
|
});
|
|
1664
2339
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1665
2340
|
Object {
|
|
@@ -1675,26 +2350,26 @@ describe("paginate", () => {
|
|
|
1675
2350
|
}));
|
|
1676
2351
|
test("it respects custom pagination default", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1677
2352
|
client.paginationOptions = {
|
|
1678
|
-
default: 40
|
|
2353
|
+
default: 40
|
|
1679
2354
|
};
|
|
1680
2355
|
const items = Array.from({ length: 50 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
|
|
1681
2356
|
yield sandbox.seed(...items);
|
|
1682
2357
|
const page = yield client.paginate(C, {}, {
|
|
1683
2358
|
KeyConditionExpression: "PK = :pk",
|
|
1684
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2359
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1685
2360
|
});
|
|
1686
2361
|
expect(page.edges.length).toBe(40);
|
|
1687
2362
|
delete client.paginationOptions;
|
|
1688
2363
|
}));
|
|
1689
2364
|
test("it respects custom pagination limit", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1690
2365
|
client.paginationOptions = {
|
|
1691
|
-
limit: 100
|
|
2366
|
+
limit: 100
|
|
1692
2367
|
};
|
|
1693
2368
|
const items = Array.from({ length: 120 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
|
|
1694
2369
|
yield sandbox.seed(...items);
|
|
1695
2370
|
const page = yield client.paginate(C, { first: 110 }, {
|
|
1696
2371
|
KeyConditionExpression: "PK = :pk",
|
|
1697
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2372
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1698
2373
|
});
|
|
1699
2374
|
expect(page.edges.length).toBe(100);
|
|
1700
2375
|
delete client.paginationOptions;
|
|
@@ -1707,7 +2382,7 @@ describe("paginate", () => {
|
|
|
1707
2382
|
// Forwards
|
|
1708
2383
|
const page1 = yield C.paginate({}, {
|
|
1709
2384
|
KeyConditionExpression: "PK = :pk",
|
|
1710
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2385
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1711
2386
|
});
|
|
1712
2387
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1713
2388
|
Object {
|
|
@@ -1722,7 +2397,7 @@ describe("paginate", () => {
|
|
|
1722
2397
|
expect(page1.edges[19].node.c).toBe("19");
|
|
1723
2398
|
const page2 = yield C.paginate({ after: page1.pageInfo.endCursor }, {
|
|
1724
2399
|
KeyConditionExpression: "PK = :pk",
|
|
1725
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2400
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1726
2401
|
});
|
|
1727
2402
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1728
2403
|
Object {
|
|
@@ -1737,7 +2412,7 @@ describe("paginate", () => {
|
|
|
1737
2412
|
expect(page2.edges[19].node.c).toBe("39");
|
|
1738
2413
|
const page3 = yield C.paginate({ after: page2.pageInfo.endCursor }, {
|
|
1739
2414
|
KeyConditionExpression: "PK = :pk",
|
|
1740
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2415
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1741
2416
|
});
|
|
1742
2417
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1743
2418
|
Object {
|
|
@@ -1753,7 +2428,7 @@ describe("paginate", () => {
|
|
|
1753
2428
|
// Backwards
|
|
1754
2429
|
const backwardsPage2 = yield C.paginate({ before: page3.pageInfo.startCursor }, {
|
|
1755
2430
|
KeyConditionExpression: "PK = :pk",
|
|
1756
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2431
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1757
2432
|
});
|
|
1758
2433
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1759
2434
|
Object {
|
|
@@ -1768,7 +2443,7 @@ describe("paginate", () => {
|
|
|
1768
2443
|
expect(backwardsPage2.edges[19].node.c).toBe("39");
|
|
1769
2444
|
const backwardsPage1 = yield C.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
|
|
1770
2445
|
KeyConditionExpression: "PK = :pk",
|
|
1771
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2446
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1772
2447
|
});
|
|
1773
2448
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1774
2449
|
Object {
|
|
@@ -1788,7 +2463,7 @@ describe("paginate", () => {
|
|
|
1788
2463
|
// Forwards
|
|
1789
2464
|
const page = yield C.paginate({ first: 10 }, {
|
|
1790
2465
|
KeyConditionExpression: "PK = :pk",
|
|
1791
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2466
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1792
2467
|
});
|
|
1793
2468
|
expect(page.pageInfo).toMatchInlineSnapshot(`
|
|
1794
2469
|
Object {
|
|
@@ -1808,7 +2483,7 @@ describe("paginate", () => {
|
|
|
1808
2483
|
// Forwards
|
|
1809
2484
|
const page1 = yield C.paginate({ first: 60 }, {
|
|
1810
2485
|
KeyConditionExpression: "PK = :pk",
|
|
1811
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2486
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1812
2487
|
});
|
|
1813
2488
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1814
2489
|
Object {
|
|
@@ -1824,26 +2499,26 @@ describe("paginate", () => {
|
|
|
1824
2499
|
}));
|
|
1825
2500
|
test("it respects custom pagination default", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1826
2501
|
client.paginationOptions = {
|
|
1827
|
-
default: 40
|
|
2502
|
+
default: 40
|
|
1828
2503
|
};
|
|
1829
2504
|
const items = Array.from({ length: 50 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
|
|
1830
2505
|
yield sandbox.seed(...items);
|
|
1831
2506
|
const page = yield C.paginate({}, {
|
|
1832
2507
|
KeyConditionExpression: "PK = :pk",
|
|
1833
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2508
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1834
2509
|
});
|
|
1835
2510
|
expect(page.edges.length).toBe(40);
|
|
1836
2511
|
delete client.paginationOptions;
|
|
1837
2512
|
}));
|
|
1838
2513
|
test("it respects custom pagination limit", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1839
2514
|
client.paginationOptions = {
|
|
1840
|
-
limit: 100
|
|
2515
|
+
limit: 100
|
|
1841
2516
|
};
|
|
1842
2517
|
const items = Array.from({ length: 120 }).map((_, i) => new C({ pk: "PK", sk: String(i).padStart(3, "0"), c: String(i) }));
|
|
1843
2518
|
yield sandbox.seed(...items);
|
|
1844
2519
|
const page = yield C.paginate({ first: 110 }, {
|
|
1845
2520
|
KeyConditionExpression: "PK = :pk",
|
|
1846
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2521
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1847
2522
|
});
|
|
1848
2523
|
expect(page.edges.length).toBe(100);
|
|
1849
2524
|
delete client.paginationOptions;
|
|
@@ -1858,7 +2533,7 @@ describe("paginate", () => {
|
|
|
1858
2533
|
// Forwards
|
|
1859
2534
|
const page1 = yield Union.paginate({}, {
|
|
1860
2535
|
KeyConditionExpression: "PK = :pk",
|
|
1861
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2536
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1862
2537
|
});
|
|
1863
2538
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1864
2539
|
Object {
|
|
@@ -1873,7 +2548,7 @@ describe("paginate", () => {
|
|
|
1873
2548
|
expect(page1.edges[19].node.SK).toBe("019");
|
|
1874
2549
|
const page2 = yield Union.paginate({ after: page1.pageInfo.endCursor }, {
|
|
1875
2550
|
KeyConditionExpression: "PK = :pk",
|
|
1876
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2551
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1877
2552
|
});
|
|
1878
2553
|
expect(page2.pageInfo).toMatchInlineSnapshot(`
|
|
1879
2554
|
Object {
|
|
@@ -1888,7 +2563,7 @@ describe("paginate", () => {
|
|
|
1888
2563
|
expect(page2.edges[19].node.SK).toBe("039");
|
|
1889
2564
|
const page3 = yield Union.paginate({ after: page2.pageInfo.endCursor }, {
|
|
1890
2565
|
KeyConditionExpression: "PK = :pk",
|
|
1891
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2566
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1892
2567
|
});
|
|
1893
2568
|
expect(page3.pageInfo).toMatchInlineSnapshot(`
|
|
1894
2569
|
Object {
|
|
@@ -1904,7 +2579,7 @@ describe("paginate", () => {
|
|
|
1904
2579
|
// Backwards
|
|
1905
2580
|
const backwardsPage2 = yield Union.paginate({ before: page3.pageInfo.startCursor }, {
|
|
1906
2581
|
KeyConditionExpression: "PK = :pk",
|
|
1907
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2582
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1908
2583
|
});
|
|
1909
2584
|
expect(backwardsPage2.pageInfo).toMatchInlineSnapshot(`
|
|
1910
2585
|
Object {
|
|
@@ -1919,7 +2594,7 @@ describe("paginate", () => {
|
|
|
1919
2594
|
expect(backwardsPage2.edges[19].node.SK).toBe("039");
|
|
1920
2595
|
const backwardsPage1 = yield Union.paginate({ before: backwardsPage2.pageInfo.startCursor }, {
|
|
1921
2596
|
KeyConditionExpression: "PK = :pk",
|
|
1922
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2597
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1923
2598
|
});
|
|
1924
2599
|
expect(backwardsPage1.pageInfo).toMatchInlineSnapshot(`
|
|
1925
2600
|
Object {
|
|
@@ -1941,7 +2616,7 @@ describe("paginate", () => {
|
|
|
1941
2616
|
// Forwards
|
|
1942
2617
|
const page = yield Union.paginate({ first: 10 }, {
|
|
1943
2618
|
KeyConditionExpression: "PK = :pk",
|
|
1944
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2619
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1945
2620
|
});
|
|
1946
2621
|
expect(page.pageInfo).toMatchInlineSnapshot(`
|
|
1947
2622
|
Object {
|
|
@@ -1963,7 +2638,7 @@ describe("paginate", () => {
|
|
|
1963
2638
|
// Forwards
|
|
1964
2639
|
const page1 = yield Union.paginate({ first: 60 }, {
|
|
1965
2640
|
KeyConditionExpression: "PK = :pk",
|
|
1966
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2641
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1967
2642
|
});
|
|
1968
2643
|
expect(page1.pageInfo).toMatchInlineSnapshot(`
|
|
1969
2644
|
Object {
|
|
@@ -1979,50 +2654,55 @@ describe("paginate", () => {
|
|
|
1979
2654
|
}));
|
|
1980
2655
|
test("it respects custom pagination default", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1981
2656
|
client.paginationOptions = {
|
|
1982
|
-
default: 40
|
|
2657
|
+
default: 40
|
|
1983
2658
|
};
|
|
1984
2659
|
const items = Array.from({ length: 50 }).map((_, i) => i > 30
|
|
1985
2660
|
? new C({
|
|
1986
2661
|
pk: "PK",
|
|
1987
2662
|
sk: String(i).padStart(3, "0"),
|
|
1988
|
-
c: String(i)
|
|
2663
|
+
c: String(i)
|
|
1989
2664
|
})
|
|
1990
2665
|
: new D({
|
|
1991
2666
|
pk: "PK",
|
|
1992
2667
|
sk: String(i).padStart(3, "0"),
|
|
1993
|
-
d: String(i)
|
|
2668
|
+
d: String(i)
|
|
1994
2669
|
}));
|
|
1995
2670
|
yield sandbox.seed(...items);
|
|
1996
2671
|
const page = yield Union.paginate({}, {
|
|
1997
2672
|
KeyConditionExpression: "PK = :pk",
|
|
1998
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2673
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
1999
2674
|
});
|
|
2000
2675
|
expect(page.edges.length).toBe(40);
|
|
2001
2676
|
delete client.paginationOptions;
|
|
2002
2677
|
}));
|
|
2003
2678
|
test("it respects custom pagination limit", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
2004
2679
|
client.paginationOptions = {
|
|
2005
|
-
limit: 100
|
|
2680
|
+
limit: 100
|
|
2006
2681
|
};
|
|
2007
2682
|
const items = Array.from({ length: 110 }).map((_, i) => i > 30
|
|
2008
2683
|
? new C({
|
|
2009
2684
|
pk: "PK",
|
|
2010
2685
|
sk: String(i).padStart(3, "0"),
|
|
2011
|
-
c: String(i)
|
|
2686
|
+
c: String(i)
|
|
2012
2687
|
})
|
|
2013
2688
|
: new D({
|
|
2014
2689
|
pk: "PK",
|
|
2015
2690
|
sk: String(i).padStart(3, "0"),
|
|
2016
|
-
d: String(i)
|
|
2691
|
+
d: String(i)
|
|
2017
2692
|
}));
|
|
2018
2693
|
yield sandbox.seed(...items);
|
|
2019
2694
|
const page = yield Union.paginate({ first: 110 }, {
|
|
2020
2695
|
KeyConditionExpression: "PK = :pk",
|
|
2021
|
-
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2696
|
+
ExpressionAttributeValues: { ":pk": "PK" }
|
|
2022
2697
|
});
|
|
2023
2698
|
expect(page.edges.length).toBe(100);
|
|
2024
2699
|
delete client.paginationOptions;
|
|
2025
2700
|
}));
|
|
2026
2701
|
});
|
|
2027
2702
|
});
|
|
2703
|
+
describe("sandbox", () => {
|
|
2704
|
+
test("it seeds a lot of items", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
2705
|
+
yield sandbox.seed(...Array.from({ length: 3000 }).map((_, i) => new A({ pk: "PK", sk: String(i).padStart(3, "0"), a: i })));
|
|
2706
|
+
}));
|
|
2707
|
+
});
|
|
2028
2708
|
//# sourceMappingURL=client.test.js.map
|