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