@webiny/db-dynamodb 0.0.0-mt-2 → 0.0.0-unstable.06b2ede40f
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/DynamoDbDriver.d.ts +23 -25
- package/DynamoDbDriver.js +232 -240
- package/DynamoDbDriver.js.map +1 -0
- package/README.md +81 -1
- package/index.d.ts +2 -0
- package/index.js +18 -3
- package/index.js.map +1 -0
- package/package.json +19 -22
- package/plugins/definitions/AttributePlugin.d.ts +6 -8
- package/plugins/definitions/AttributePlugin.js +5 -20
- package/plugins/definitions/AttributePlugin.js.map +1 -0
- package/plugins/definitions/DateTimeTransformPlugin.d.ts +3 -2
- package/plugins/definitions/DateTimeTransformPlugin.js +16 -28
- package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -0
- package/plugins/definitions/FieldPathPlugin.d.ts +3 -3
- package/plugins/definitions/FieldPathPlugin.js +7 -21
- package/plugins/definitions/FieldPathPlugin.js.map +1 -0
- package/plugins/definitions/FieldPlugin.d.ts +5 -5
- package/plugins/definitions/FieldPlugin.js +2 -24
- package/plugins/definitions/FieldPlugin.js.map +1 -0
- package/plugins/definitions/TimeTransformPlugin.d.ts +3 -2
- package/plugins/definitions/TimeTransformPlugin.js +19 -30
- package/plugins/definitions/TimeTransformPlugin.js.map +1 -0
- package/plugins/definitions/ValueFilterPlugin.d.ts +13 -11
- package/plugins/definitions/ValueFilterPlugin.js +10 -16
- package/plugins/definitions/ValueFilterPlugin.js.map +1 -0
- package/plugins/definitions/ValueTransformPlugin.d.ts +9 -9
- package/plugins/definitions/ValueTransformPlugin.js +7 -22
- package/plugins/definitions/ValueTransformPlugin.js.map +1 -0
- package/plugins/definitions/assignFields.js +3 -10
- package/plugins/definitions/assignFields.js.map +1 -0
- package/plugins/filters/andIn.d.ts +2 -2
- package/plugins/filters/andIn.js +5 -9
- package/plugins/filters/andIn.js.map +1 -0
- package/plugins/filters/between.d.ts +2 -2
- package/plugins/filters/between.js +5 -9
- package/plugins/filters/between.js.map +1 -0
- package/plugins/filters/contains.d.ts +2 -2
- package/plugins/filters/contains.js +44 -17
- package/plugins/filters/contains.js.map +1 -0
- package/plugins/filters/eq.d.ts +2 -2
- package/plugins/filters/eq.js +17 -5
- package/plugins/filters/eq.js.map +1 -0
- package/plugins/filters/fuzzy.d.ts +2 -2
- package/plugins/filters/fuzzy.js +18 -12
- package/plugins/filters/fuzzy.js.map +1 -0
- package/plugins/filters/gt.d.ts +2 -2
- package/plugins/filters/gt.js +4 -4
- package/plugins/filters/gt.js.map +1 -0
- package/plugins/filters/gte.d.ts +2 -2
- package/plugins/filters/gte.js +4 -4
- package/plugins/filters/gte.js.map +1 -0
- package/plugins/filters/in.d.ts +2 -2
- package/plugins/filters/in.js +5 -9
- package/plugins/filters/in.js.map +1 -0
- package/plugins/filters/index.d.ts +1 -1
- package/plugins/filters/index.js +5 -15
- package/plugins/filters/index.js.map +1 -0
- package/plugins/filters/lt.d.ts +2 -2
- package/plugins/filters/lt.js +4 -4
- package/plugins/filters/lt.js.map +1 -0
- package/plugins/filters/lte.d.ts +2 -2
- package/plugins/filters/lte.js +4 -4
- package/plugins/filters/lte.js.map +1 -0
- package/plugins/filters/startsWith.d.ts +3 -0
- package/plugins/filters/startsWith.js +40 -0
- package/plugins/filters/startsWith.js.map +1 -0
- package/plugins/index.d.ts +1 -1
- package/plugins/index.js +3 -5
- package/plugins/index.js.map +1 -0
- package/store/entity.d.ts +78 -0
- package/store/entity.js +41 -0
- package/store/entity.js.map +1 -0
- package/store/keys.d.ts +6 -0
- package/store/keys.js +22 -0
- package/store/keys.js.map +1 -0
- package/store/types.d.ts +7 -0
- package/store/types.js +7 -0
- package/store/types.js.map +1 -0
- package/toolbox.d.ts +3 -0
- package/toolbox.js +20 -0
- package/toolbox.js.map +1 -0
- package/types.d.ts +37 -21
- package/types.js +3 -1
- package/types.js.map +1 -0
- package/utils/attributes.d.ts +5 -5
- package/utils/attributes.js +6 -14
- package/utils/attributes.js.map +1 -0
- package/utils/batch/batchRead.d.ts +15 -0
- package/utils/batch/batchRead.js +72 -0
- package/utils/batch/batchRead.js.map +1 -0
- package/utils/batch/batchWrite.d.ts +13 -0
- package/utils/batch/batchWrite.js +65 -0
- package/utils/batch/batchWrite.js.map +1 -0
- package/utils/batch/index.d.ts +3 -0
- package/utils/batch/index.js +40 -0
- package/utils/batch/index.js.map +1 -0
- package/utils/batch/types.d.ts +25 -0
- package/utils/batch/types.js +7 -0
- package/utils/batch/types.js.map +1 -0
- package/utils/cleanup.d.ts +3 -3
- package/utils/cleanup.js +11 -27
- package/utils/cleanup.js.map +1 -0
- package/utils/count.d.ts +2 -0
- package/utils/count.js +23 -0
- package/utils/count.js.map +1 -0
- package/utils/createEntity.d.ts +54 -0
- package/utils/createEntity.js +61 -0
- package/utils/createEntity.js.map +1 -0
- package/utils/createTable.d.ts +8 -0
- package/utils/createTable.js +29 -0
- package/utils/createTable.js.map +1 -0
- package/utils/cursor.d.ts +2 -2
- package/utils/cursor.js +2 -6
- package/utils/cursor.js.map +1 -0
- package/utils/delete.d.ts +10 -0
- package/utils/delete.js +18 -0
- package/utils/delete.js.map +1 -0
- package/utils/entity/Entity.d.ts +26 -0
- package/utils/entity/Entity.js +77 -0
- package/utils/entity/Entity.js.map +1 -0
- package/utils/entity/EntityReadBatch.d.ts +17 -0
- package/utils/entity/EntityReadBatch.js +41 -0
- package/utils/entity/EntityReadBatch.js.map +1 -0
- package/utils/entity/EntityReadBatchBuilder.d.ts +10 -0
- package/utils/entity/EntityReadBatchBuilder.js +29 -0
- package/utils/entity/EntityReadBatchBuilder.js.map +1 -0
- package/utils/entity/EntityWriteBatch.d.ts +22 -0
- package/utils/entity/EntityWriteBatch.js +59 -0
- package/utils/entity/EntityWriteBatch.js.map +1 -0
- package/utils/entity/EntityWriteBatchBuilder.d.ts +11 -0
- package/utils/entity/EntityWriteBatchBuilder.js +28 -0
- package/utils/entity/EntityWriteBatchBuilder.js.map +1 -0
- package/utils/entity/getEntity.d.ts +4 -0
- package/utils/entity/getEntity.js +19 -0
- package/utils/entity/getEntity.js.map +1 -0
- package/utils/entity/index.d.ts +7 -0
- package/utils/entity/index.js +84 -0
- package/utils/entity/index.js.map +1 -0
- package/utils/entity/types.d.ts +51 -0
- package/utils/entity/types.js +7 -0
- package/utils/entity/types.js.map +1 -0
- package/utils/filter.d.ts +4 -4
- package/utils/filter.js +12 -43
- package/utils/filter.js.map +1 -0
- package/utils/get.d.ts +10 -8
- package/utils/get.js +16 -7
- package/utils/get.js.map +1 -0
- package/utils/index.d.ts +17 -0
- package/utils/index.js +194 -0
- package/utils/index.js.map +1 -0
- package/utils/listResponse.d.ts +1 -1
- package/utils/listResponse.js +8 -7
- package/utils/listResponse.js.map +1 -0
- package/utils/put.d.ts +12 -0
- package/utils/put.js +19 -0
- package/utils/put.js.map +1 -0
- package/utils/query.d.ts +20 -8
- package/utils/query.js +71 -38
- package/utils/query.js.map +1 -0
- package/utils/scan.d.ts +38 -0
- package/utils/scan.js +90 -0
- package/utils/scan.js.map +1 -0
- package/utils/sort.d.ts +3 -3
- package/utils/sort.js +5 -22
- package/utils/sort.js.map +1 -0
- package/utils/table/Table.d.ts +11 -0
- package/utils/table/Table.js +38 -0
- package/utils/table/Table.js.map +1 -0
- package/utils/table/TableReadBatch.d.ts +19 -0
- package/utils/table/TableReadBatch.js +62 -0
- package/utils/table/TableReadBatch.js.map +1 -0
- package/utils/table/TableWriteBatch.d.ts +21 -0
- package/utils/table/TableWriteBatch.js +69 -0
- package/utils/table/TableWriteBatch.js.map +1 -0
- package/utils/table/index.d.ts +4 -0
- package/utils/table/index.js +51 -0
- package/utils/table/index.js.map +1 -0
- package/utils/table/types.d.ts +39 -0
- package/utils/table/types.js +7 -0
- package/utils/table/types.js.map +1 -0
- package/utils/update.d.ts +12 -0
- package/utils/update.js +19 -0
- package/utils/update.js.map +1 -0
- package/BatchProcess.d.ts +0 -31
- package/BatchProcess.js +0 -196
- package/QueryGenerator.d.ts +0 -19
- package/QueryGenerator.js +0 -79
- package/operators/comparison/beginsWith.d.ts +0 -3
- package/operators/comparison/beginsWith.js +0 -24
- package/operators/comparison/between.d.ts +0 -3
- package/operators/comparison/between.js +0 -30
- package/operators/comparison/eq.d.ts +0 -3
- package/operators/comparison/eq.js +0 -34
- package/operators/comparison/gt.d.ts +0 -3
- package/operators/comparison/gt.js +0 -24
- package/operators/comparison/gte.d.ts +0 -3
- package/operators/comparison/gte.js +0 -24
- package/operators/comparison/lt.d.ts +0 -3
- package/operators/comparison/lt.js +0 -24
- package/operators/comparison/lte.d.ts +0 -3
- package/operators/comparison/lte.js +0 -24
- package/operators/index.d.ts +0 -12
- package/operators/index.js +0 -39
- package/operators/logical/and.d.ts +0 -3
- package/operators/logical/and.js +0 -63
- package/operators/logical/or.d.ts +0 -3
- package/operators/logical/or.js +0 -63
- package/plugins/definitions/NumberTransformPlugin.d.ts +0 -4
- package/plugins/definitions/NumberTransformPlugin.js +0 -49
- package/statements/createKeyConditionExpressionArgs.d.ts +0 -12
- package/statements/createKeyConditionExpressionArgs.js +0 -48
- package/statements/processStatement.d.ts +0 -4
- package/statements/processStatement.js +0 -39
- package/utils/batchRead.d.ts +0 -15
- package/utils/batchRead.js +0 -58
- package/utils/batchWrite.d.ts +0 -17
- package/utils/batchWrite.js +0 -30
- package/utils/documentClient.d.ts +0 -8
- package/utils/documentClient.js +0 -33
- package/utils/table.d.ts +0 -7
- package/utils/table.js +0 -27
package/utils/index.js
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _cleanup = require("./cleanup");
|
|
7
|
+
Object.keys(_cleanup).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _cleanup[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _cleanup[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _createEntity = require("./createEntity");
|
|
18
|
+
Object.keys(_createEntity).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _createEntity[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _createEntity[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _createTable = require("./createTable");
|
|
29
|
+
Object.keys(_createTable).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _createTable[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _createTable[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _cursor = require("./cursor");
|
|
40
|
+
Object.keys(_cursor).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _cursor[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _cursor[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _filter = require("./filter");
|
|
51
|
+
Object.keys(_filter).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _filter[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _filter[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _get = require("./get");
|
|
62
|
+
Object.keys(_get).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _get[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _get[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
var _delete = require("./delete");
|
|
73
|
+
Object.keys(_delete).forEach(function (key) {
|
|
74
|
+
if (key === "default" || key === "__esModule") return;
|
|
75
|
+
if (key in exports && exports[key] === _delete[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () {
|
|
79
|
+
return _delete[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
var _put = require("./put");
|
|
84
|
+
Object.keys(_put).forEach(function (key) {
|
|
85
|
+
if (key === "default" || key === "__esModule") return;
|
|
86
|
+
if (key in exports && exports[key] === _put[key]) return;
|
|
87
|
+
Object.defineProperty(exports, key, {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return _put[key];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
var _listResponse = require("./listResponse");
|
|
95
|
+
Object.keys(_listResponse).forEach(function (key) {
|
|
96
|
+
if (key === "default" || key === "__esModule") return;
|
|
97
|
+
if (key in exports && exports[key] === _listResponse[key]) return;
|
|
98
|
+
Object.defineProperty(exports, key, {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function () {
|
|
101
|
+
return _listResponse[key];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
var _query = require("./query");
|
|
106
|
+
Object.keys(_query).forEach(function (key) {
|
|
107
|
+
if (key === "default" || key === "__esModule") return;
|
|
108
|
+
if (key in exports && exports[key] === _query[key]) return;
|
|
109
|
+
Object.defineProperty(exports, key, {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
get: function () {
|
|
112
|
+
return _query[key];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
var _count = require("./count");
|
|
117
|
+
Object.keys(_count).forEach(function (key) {
|
|
118
|
+
if (key === "default" || key === "__esModule") return;
|
|
119
|
+
if (key in exports && exports[key] === _count[key]) return;
|
|
120
|
+
Object.defineProperty(exports, key, {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _count[key];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
var _scan = require("./scan");
|
|
128
|
+
Object.keys(_scan).forEach(function (key) {
|
|
129
|
+
if (key === "default" || key === "__esModule") return;
|
|
130
|
+
if (key in exports && exports[key] === _scan[key]) return;
|
|
131
|
+
Object.defineProperty(exports, key, {
|
|
132
|
+
enumerable: true,
|
|
133
|
+
get: function () {
|
|
134
|
+
return _scan[key];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
var _sort = require("./sort");
|
|
139
|
+
Object.keys(_sort).forEach(function (key) {
|
|
140
|
+
if (key === "default" || key === "__esModule") return;
|
|
141
|
+
if (key in exports && exports[key] === _sort[key]) return;
|
|
142
|
+
Object.defineProperty(exports, key, {
|
|
143
|
+
enumerable: true,
|
|
144
|
+
get: function () {
|
|
145
|
+
return _sort[key];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
var _update = require("./update");
|
|
150
|
+
Object.keys(_update).forEach(function (key) {
|
|
151
|
+
if (key === "default" || key === "__esModule") return;
|
|
152
|
+
if (key in exports && exports[key] === _update[key]) return;
|
|
153
|
+
Object.defineProperty(exports, key, {
|
|
154
|
+
enumerable: true,
|
|
155
|
+
get: function () {
|
|
156
|
+
return _update[key];
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
var _batch = require("./batch");
|
|
161
|
+
Object.keys(_batch).forEach(function (key) {
|
|
162
|
+
if (key === "default" || key === "__esModule") return;
|
|
163
|
+
if (key in exports && exports[key] === _batch[key]) return;
|
|
164
|
+
Object.defineProperty(exports, key, {
|
|
165
|
+
enumerable: true,
|
|
166
|
+
get: function () {
|
|
167
|
+
return _batch[key];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
var _entity = require("./entity");
|
|
172
|
+
Object.keys(_entity).forEach(function (key) {
|
|
173
|
+
if (key === "default" || key === "__esModule") return;
|
|
174
|
+
if (key in exports && exports[key] === _entity[key]) return;
|
|
175
|
+
Object.defineProperty(exports, key, {
|
|
176
|
+
enumerable: true,
|
|
177
|
+
get: function () {
|
|
178
|
+
return _entity[key];
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
var _table = require("./table");
|
|
183
|
+
Object.keys(_table).forEach(function (key) {
|
|
184
|
+
if (key === "default" || key === "__esModule") return;
|
|
185
|
+
if (key in exports && exports[key] === _table[key]) return;
|
|
186
|
+
Object.defineProperty(exports, key, {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function () {
|
|
189
|
+
return _table[key];
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cleanup","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_createEntity","_createTable","_cursor","_filter","_get","_delete","_put","_listResponse","_query","_count","_scan","_sort","_update","_batch","_entity","_table"],"sources":["index.ts"],"sourcesContent":["export * from \"./cleanup\";\nexport * from \"./createEntity\";\nexport * from \"./createTable\";\nexport * from \"./cursor\";\nexport * from \"./filter\";\nexport * from \"./get\";\nexport * from \"./delete\";\nexport * from \"./put\";\nexport * from \"./listResponse\";\nexport * from \"./query\";\nexport * from \"./count\";\nexport * from \"./scan\";\nexport * from \"./sort\";\nexport * from \"./update\";\nexport * from \"./batch\";\nexport * from \"./entity\";\nexport * from \"./table\";\n"],"mappings":"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","ignoreList":[]}
|
package/utils/listResponse.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ interface CreateListResponseParams<T> {
|
|
|
9
9
|
totalCount: number;
|
|
10
10
|
limit: number;
|
|
11
11
|
}
|
|
12
|
-
export declare
|
|
12
|
+
export declare function createListResponse<T>(params: CreateListResponseParams<T>): [T[], MetaResponse];
|
|
13
13
|
export {};
|
package/utils/listResponse.js
CHANGED
|
@@ -3,18 +3,19 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.createListResponse =
|
|
7
|
-
|
|
6
|
+
exports.createListResponse = createListResponse;
|
|
8
7
|
var _cursor = require("./cursor");
|
|
9
|
-
|
|
10
|
-
const createListResponse = params => {
|
|
8
|
+
function createListResponse(params) {
|
|
11
9
|
const {
|
|
12
10
|
items: initialItems,
|
|
13
11
|
after,
|
|
14
12
|
totalCount,
|
|
15
13
|
limit
|
|
16
14
|
} = params;
|
|
17
|
-
|
|
15
|
+
let start = Number((0, _cursor.decodeCursor)(after));
|
|
16
|
+
if (isNaN(start) === true) {
|
|
17
|
+
start = 0;
|
|
18
|
+
}
|
|
18
19
|
const hasMoreItems = totalCount > start + limit;
|
|
19
20
|
const end = limit > totalCount + start + limit ? undefined : start + limit;
|
|
20
21
|
const items = end ? initialItems.slice(start, end) : initialItems;
|
|
@@ -25,6 +26,6 @@ const createListResponse = params => {
|
|
|
25
26
|
cursor
|
|
26
27
|
};
|
|
27
28
|
return [items, meta];
|
|
28
|
-
}
|
|
29
|
+
}
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
//# sourceMappingURL=listResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cursor","require","createListResponse","params","items","initialItems","after","totalCount","limit","start","Number","decodeCursor","isNaN","hasMoreItems","end","undefined","slice","cursor","length","encodeCursor","meta"],"sources":["listResponse.ts"],"sourcesContent":["import { decodeCursor, encodeCursor } from \"~/utils/cursor\";\n\ninterface MetaResponse {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\ninterface CreateListResponseParams<T> {\n items: T[];\n after?: string | null;\n totalCount: number;\n limit: number;\n}\n\nexport function createListResponse<T>(params: CreateListResponseParams<T>): [T[], MetaResponse] {\n const { items: initialItems, after, totalCount, limit } = params;\n let start = Number(decodeCursor(after));\n if (isNaN(start) === true) {\n start = 0;\n }\n const hasMoreItems = totalCount > start + limit;\n const end = limit > totalCount + start + limit ? undefined : start + limit;\n const items = end ? initialItems.slice(start, end) : initialItems;\n\n const cursor = items.length > 0 ? encodeCursor(start + limit) : null;\n\n const meta = {\n hasMoreItems,\n totalCount,\n cursor\n };\n\n return [items, meta];\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAeO,SAASC,kBAAkBA,CAAIC,MAAmC,EAAuB;EAC5F,MAAM;IAAEC,KAAK,EAAEC,YAAY;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAAGL,MAAM;EAChE,IAAIM,KAAK,GAAGC,MAAM,CAAC,IAAAC,oBAAY,EAACL,KAAK,CAAC,CAAC;EACvC,IAAIM,KAAK,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;IACvBA,KAAK,GAAG,CAAC;EACb;EACA,MAAMI,YAAY,GAAGN,UAAU,GAAGE,KAAK,GAAGD,KAAK;EAC/C,MAAMM,GAAG,GAAGN,KAAK,GAAGD,UAAU,GAAGE,KAAK,GAAGD,KAAK,GAAGO,SAAS,GAAGN,KAAK,GAAGD,KAAK;EAC1E,MAAMJ,KAAK,GAAGU,GAAG,GAAGT,YAAY,CAACW,KAAK,CAACP,KAAK,EAAEK,GAAG,CAAC,GAAGT,YAAY;EAEjE,MAAMY,MAAM,GAAGb,KAAK,CAACc,MAAM,GAAG,CAAC,GAAG,IAAAC,oBAAY,EAACV,KAAK,GAAGD,KAAK,CAAC,GAAG,IAAI;EAEpE,MAAMY,IAAI,GAAG;IACTP,YAAY;IACZN,UAAU;IACVU;EACJ,CAAC;EAED,OAAO,CAACb,KAAK,EAAEgB,IAAI,CAAC;AACxB","ignoreList":[]}
|
package/utils/put.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Entity } from "../toolbox";
|
|
2
|
+
import type { GenericRecord } from "@webiny/api/types";
|
|
3
|
+
export type IPutParamsItem<T extends GenericRecord = GenericRecord> = {
|
|
4
|
+
PK: string;
|
|
5
|
+
SK: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} & T;
|
|
8
|
+
export interface IPutParams<T extends GenericRecord = GenericRecord> {
|
|
9
|
+
entity: Entity;
|
|
10
|
+
item: IPutParamsItem<T>;
|
|
11
|
+
}
|
|
12
|
+
export declare const put: <T extends GenericRecord = GenericRecord>(params: IPutParams<T>) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput>;
|
package/utils/put.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.put = void 0;
|
|
7
|
+
const put = async params => {
|
|
8
|
+
const {
|
|
9
|
+
entity,
|
|
10
|
+
item
|
|
11
|
+
} = params;
|
|
12
|
+
return await entity.put(item, {
|
|
13
|
+
execute: true,
|
|
14
|
+
strictSchemaCheck: false
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
exports.put = put;
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=put.js.map
|
package/utils/put.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["put","params","entity","item","execute","strictSchemaCheck","exports"],"sources":["put.ts"],"sourcesContent":["import type { Entity } from \"~/toolbox\";\nimport type { GenericRecord } from \"@webiny/api/types\";\n\nexport type IPutParamsItem<T extends GenericRecord = GenericRecord> = {\n PK: string;\n SK: string;\n [key: string]: any;\n} & T;\n\nexport interface IPutParams<T extends GenericRecord = GenericRecord> {\n entity: Entity;\n item: IPutParamsItem<T>;\n}\n\nexport const put = async <T extends GenericRecord = GenericRecord>(params: IPutParams<T>) => {\n const { entity, item } = params;\n\n return await entity.put(item, {\n execute: true,\n strictSchemaCheck: false\n });\n};\n"],"mappings":";;;;;;AAcO,MAAMA,GAAG,GAAG,MAAgDC,MAAqB,IAAK;EACzF,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGF,MAAM;EAE/B,OAAO,MAAMC,MAAM,CAACF,GAAG,CAACG,IAAI,EAAE;IAC1BC,OAAO,EAAE,IAAI;IACbC,iBAAiB,EAAE;EACvB,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAN,GAAA,GAAAA,GAAA","ignoreList":[]}
|
package/utils/query.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Entity, EntityQueryOptions } from "../toolbox";
|
|
2
|
+
import type { GenericRecord } from "@webiny/api/types";
|
|
3
3
|
export interface QueryAllParams {
|
|
4
4
|
entity: Entity<any>;
|
|
5
5
|
partitionKey: string;
|
|
6
|
-
options?:
|
|
6
|
+
options?: EntityQueryOptions;
|
|
7
7
|
}
|
|
8
8
|
export interface QueryOneParams extends QueryAllParams {
|
|
9
|
-
options?: Omit<
|
|
9
|
+
options?: Omit<EntityQueryOptions, "limit">;
|
|
10
10
|
}
|
|
11
11
|
export interface QueryParams extends QueryAllParams {
|
|
12
12
|
previous?: any;
|
|
@@ -15,7 +15,7 @@ export interface QueryResult<T> {
|
|
|
15
15
|
result: any | null;
|
|
16
16
|
items: T[];
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
export type DbItem<T> = T & {
|
|
19
19
|
PK: string;
|
|
20
20
|
SK: string;
|
|
21
21
|
TYPE: string;
|
|
@@ -25,9 +25,21 @@ declare type DbItem<T> = T & {
|
|
|
25
25
|
/**
|
|
26
26
|
* Will run the query to fetch the first possible item from the database.
|
|
27
27
|
*/
|
|
28
|
-
export declare const queryOne: <T>(params: QueryOneParams) => Promise<DbItem<T
|
|
28
|
+
export declare const queryOne: <T>(params: QueryOneParams) => Promise<DbItem<T> | null>;
|
|
29
|
+
export declare const queryOneClean: <T>(params: QueryOneParams) => Promise<T | null>;
|
|
29
30
|
/**
|
|
30
|
-
* Will run the query to fetch the results no matter how
|
|
31
|
+
* Will run the query to fetch the results no matter how many iterations it needs to go through.
|
|
31
32
|
*/
|
|
32
33
|
export declare const queryAll: <T>(params: QueryAllParams) => Promise<DbItem<T>[]>;
|
|
33
|
-
export
|
|
34
|
+
export declare const queryAllClean: <T>(params: QueryAllParams) => Promise<T[]>;
|
|
35
|
+
export interface IQueryPageResponse<T> {
|
|
36
|
+
items: T[];
|
|
37
|
+
lastEvaluatedKey: GenericRecord;
|
|
38
|
+
}
|
|
39
|
+
export declare const queryPerPage: <T>(params: QueryAllParams) => Promise<IQueryPageResponse<T>>;
|
|
40
|
+
export declare const queryPerPageClean: <T>(params: QueryAllParams) => Promise<IQueryPageResponse<T>>;
|
|
41
|
+
/**
|
|
42
|
+
* Will run the query to fetch the results no matter how many iterations it needs to go through.
|
|
43
|
+
* Results of each iteration will be passed to the provided callback
|
|
44
|
+
*/
|
|
45
|
+
export declare const queryAllWithCallback: <T>(params: QueryAllParams, callback: (items: DbItem<T>[]) => Promise<void>) => Promise<void>;
|
package/utils/query.js
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports.queryOne = exports.queryAll = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
7
|
+
exports.queryPerPageClean = exports.queryPerPage = exports.queryOneClean = exports.queryOne = exports.queryAllWithCallback = exports.queryAllClean = exports.queryAll = void 0;
|
|
12
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
|
-
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
-
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
|
-
|
|
9
|
+
var _cleanup = require("./cleanup");
|
|
18
10
|
/**
|
|
19
11
|
* Will run query only once. Pass the previous to run the query again to fetch new data.
|
|
20
12
|
* It returns the result and the items it found.
|
|
@@ -32,7 +24,6 @@ const query = async params => {
|
|
|
32
24
|
* In case there is no previous result we must make a new query.
|
|
33
25
|
* This is the first query on the given partition key.
|
|
34
26
|
*/
|
|
35
|
-
|
|
36
27
|
if (!previous) {
|
|
37
28
|
result = await entity.query(partitionKey, options);
|
|
38
29
|
} else if (typeof previous.next === "function") {
|
|
@@ -42,7 +33,6 @@ const query = async params => {
|
|
|
42
33
|
* and we return a null to keep the query from repeating.
|
|
43
34
|
*/
|
|
44
35
|
result = await previous.next();
|
|
45
|
-
|
|
46
36
|
if (result === false) {
|
|
47
37
|
return {
|
|
48
38
|
result: null,
|
|
@@ -63,15 +53,12 @@ const query = async params => {
|
|
|
63
53
|
/**
|
|
64
54
|
* We expect the result to contain an Items array and if not, something went wrong, very wrong.
|
|
65
55
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
56
|
if (!result || !result.Items || !Array.isArray(result.Items)) {
|
|
69
57
|
throw new _error.default("Error when querying for content entries - no result.", "QUERY_ERROR", {
|
|
70
58
|
partitionKey,
|
|
71
59
|
options
|
|
72
60
|
});
|
|
73
61
|
}
|
|
74
|
-
|
|
75
62
|
return {
|
|
76
63
|
result,
|
|
77
64
|
items: result.Items
|
|
@@ -80,48 +67,94 @@ const query = async params => {
|
|
|
80
67
|
/**
|
|
81
68
|
* Will run the query to fetch the first possible item from the database.
|
|
82
69
|
*/
|
|
83
|
-
|
|
84
|
-
|
|
85
70
|
const queryOne = async params => {
|
|
86
71
|
const {
|
|
87
72
|
items
|
|
88
|
-
} = await query(
|
|
89
|
-
|
|
73
|
+
} = await query({
|
|
74
|
+
...params,
|
|
75
|
+
options: {
|
|
76
|
+
...(params.options || {}),
|
|
90
77
|
limit: 1
|
|
91
|
-
}
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
const item = items.shift();
|
|
81
|
+
return item ? item : null;
|
|
82
|
+
};
|
|
83
|
+
exports.queryOne = queryOne;
|
|
84
|
+
const queryOneClean = async params => {
|
|
85
|
+
const result = await queryOne(params);
|
|
86
|
+
if (!result) {
|
|
95
87
|
return null;
|
|
96
88
|
}
|
|
97
|
-
|
|
98
|
-
return items.shift();
|
|
89
|
+
return (0, _cleanup.cleanupItem)(params.entity, result);
|
|
99
90
|
};
|
|
100
91
|
/**
|
|
101
|
-
* Will run the query to fetch the results no matter how
|
|
92
|
+
* Will run the query to fetch the results no matter how many iterations it needs to go through.
|
|
102
93
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
exports.queryOne = queryOne;
|
|
106
|
-
|
|
94
|
+
exports.queryOneClean = queryOneClean;
|
|
107
95
|
const queryAll = async params => {
|
|
108
96
|
const items = [];
|
|
109
97
|
let results;
|
|
110
98
|
let previousResult = undefined;
|
|
111
|
-
|
|
112
|
-
|
|
99
|
+
while (results = await query({
|
|
100
|
+
...params,
|
|
113
101
|
previous: previousResult
|
|
114
|
-
}))
|
|
102
|
+
})) {
|
|
115
103
|
items.push(...results.items);
|
|
116
|
-
|
|
117
104
|
if (!results.result) {
|
|
118
105
|
return items;
|
|
119
106
|
}
|
|
120
|
-
|
|
121
107
|
previousResult = results.result;
|
|
122
108
|
}
|
|
123
|
-
|
|
124
109
|
return items;
|
|
125
110
|
};
|
|
111
|
+
exports.queryAll = queryAll;
|
|
112
|
+
const queryAllClean = async params => {
|
|
113
|
+
const results = await queryAll(params);
|
|
114
|
+
return (0, _cleanup.cleanupItems)(params.entity, results);
|
|
115
|
+
};
|
|
116
|
+
exports.queryAllClean = queryAllClean;
|
|
117
|
+
const queryPerPage = async params => {
|
|
118
|
+
const result = await query({
|
|
119
|
+
...params,
|
|
120
|
+
options: {
|
|
121
|
+
...params.options,
|
|
122
|
+
limit: params.options?.limit || 50
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return {
|
|
126
|
+
items: result.items,
|
|
127
|
+
lastEvaluatedKey: result.result?.LastEvaluatedKey
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
exports.queryPerPage = queryPerPage;
|
|
131
|
+
const queryPerPageClean = async params => {
|
|
132
|
+
const result = await queryPerPage(params);
|
|
133
|
+
return {
|
|
134
|
+
items: (0, _cleanup.cleanupItems)(params.entity, result.items),
|
|
135
|
+
lastEvaluatedKey: result.lastEvaluatedKey
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Will run the query to fetch the results no matter how many iterations it needs to go through.
|
|
141
|
+
* Results of each iteration will be passed to the provided callback
|
|
142
|
+
*/
|
|
143
|
+
exports.queryPerPageClean = queryPerPageClean;
|
|
144
|
+
const queryAllWithCallback = async (params, callback) => {
|
|
145
|
+
let results;
|
|
146
|
+
let previousResult = undefined;
|
|
147
|
+
while (results = await query({
|
|
148
|
+
...params,
|
|
149
|
+
previous: previousResult
|
|
150
|
+
})) {
|
|
151
|
+
if (!results.result) {
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
await callback(results.items);
|
|
155
|
+
previousResult = results.result;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
exports.queryAllWithCallback = queryAllWithCallback;
|
|
126
159
|
|
|
127
|
-
|
|
160
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_cleanup","query","params","entity","previous","partitionKey","options","result","next","items","Items","Array","isArray","WebinyError","queryOne","limit","item","shift","exports","queryOneClean","cleanupItem","queryAll","results","previousResult","undefined","push","queryAllClean","cleanupItems","queryPerPage","lastEvaluatedKey","LastEvaluatedKey","queryPerPageClean","queryAllWithCallback","callback"],"sources":["query.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { Entity, EntityQueryOptions } from \"~/toolbox\";\nimport { cleanupItem, cleanupItems } from \"~/utils/cleanup\";\nimport type { GenericRecord } from \"@webiny/api/types\";\n\nexport interface QueryAllParams {\n entity: Entity<any>;\n partitionKey: string;\n options?: EntityQueryOptions;\n}\n\nexport interface QueryOneParams extends QueryAllParams {\n options?: Omit<EntityQueryOptions, \"limit\">;\n}\n\nexport interface QueryParams extends QueryAllParams {\n previous?: any;\n}\n\nexport interface QueryResult<T> {\n result: any | null;\n items: T[];\n}\n\nexport type DbItem<T> = T & {\n PK: string;\n SK: string;\n TYPE: string;\n GSI1_PK?: string;\n GSI1_SK?: string;\n};\n\n/**\n * Will run query only once. Pass the previous to run the query again to fetch new data.\n * It returns the result and the items it found.\n * Result is required to fetch the items that were not fetched in the previous run.\n */\nconst query = async <T>(params: QueryParams): Promise<QueryResult<T>> => {\n const { entity, previous, partitionKey, options } = params;\n let result;\n /**\n * In case there is no previous result we must make a new query.\n * This is the first query on the given partition key.\n */\n if (!previous) {\n result = await entity.query(partitionKey, options);\n } else if (typeof previous.next === \"function\") {\n /**\n * In case we have a previous result and it has a next method, we run it.\n * In case result of the next method is false, it means it has nothing else to read\n * and we return a null to keep the query from repeating.\n */\n result = await previous.next();\n if (result === false) {\n return {\n result: null,\n items: []\n };\n }\n } else {\n /**\n * This could probably never happen but keep it here just in case to break the query loop.\n * Basically, either previous does not exist or it exists and it does not have the next method\n * and at that point a result returned will be null and loop should not start again.\n */\n return {\n result: null,\n items: []\n };\n }\n /**\n * We expect the result to contain an Items array and if not, something went wrong, very wrong.\n */\n if (!result || !result.Items || !Array.isArray(result.Items)) {\n throw new WebinyError(\n \"Error when querying for content entries - no result.\",\n \"QUERY_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n return {\n result,\n items: result.Items\n };\n};\n/**\n * Will run the query to fetch the first possible item from the database.\n */\nexport const queryOne = async <T>(params: QueryOneParams): Promise<DbItem<T> | null> => {\n const { items } = await query<DbItem<T>>({\n ...params,\n options: {\n ...(params.options || {}),\n limit: 1\n }\n });\n const item = items.shift();\n return item ? item : null;\n};\n\nexport const queryOneClean = async <T>(params: QueryOneParams): Promise<T | null> => {\n const result = await queryOne<T>(params);\n if (!result) {\n return null;\n }\n return cleanupItem(params.entity, result);\n};\n/**\n * Will run the query to fetch the results no matter how many iterations it needs to go through.\n */\nexport const queryAll = async <T>(params: QueryAllParams): Promise<DbItem<T>[]> => {\n const items: DbItem<T>[] = [];\n let results: QueryResult<DbItem<T>>;\n let previousResult: any = undefined;\n while ((results = await query({ ...params, previous: previousResult }))) {\n items.push(...results.items);\n if (!results.result) {\n return items;\n }\n previousResult = results.result;\n }\n return items;\n};\n\nexport const queryAllClean = async <T>(params: QueryAllParams): Promise<T[]> => {\n const results = await queryAll<T>(params);\n return cleanupItems(params.entity, results);\n};\n\nexport interface IQueryPageResponse<T> {\n items: T[];\n lastEvaluatedKey: GenericRecord;\n}\n\nexport const queryPerPage = async <T>(params: QueryAllParams): Promise<IQueryPageResponse<T>> => {\n const result = await query<T>({\n ...params,\n options: {\n ...params.options,\n limit: params.options?.limit || 50\n }\n });\n\n return {\n items: result.items,\n lastEvaluatedKey: result.result?.LastEvaluatedKey\n };\n};\n\nexport const queryPerPageClean = async <T>(\n params: QueryAllParams\n): Promise<IQueryPageResponse<T>> => {\n const result = await queryPerPage<T>(params);\n return {\n items: cleanupItems<T>(params.entity, result.items),\n lastEvaluatedKey: result.lastEvaluatedKey\n };\n};\n\n/**\n * Will run the query to fetch the results no matter how many iterations it needs to go through.\n * Results of each iteration will be passed to the provided callback\n */\nexport const queryAllWithCallback = async <T>(\n params: QueryAllParams,\n callback: (items: DbItem<T>[]) => Promise<void>\n): Promise<void> => {\n let results: QueryResult<DbItem<T>>;\n let previousResult: any = undefined;\n while ((results = await query({ ...params, previous: previousResult }))) {\n if (!results.result) {\n break;\n }\n await callback(results.items);\n previousResult = results.result;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
package/utils/scan.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ScanInput, ScanOutput } from "@webiny/aws-sdk/client-dynamodb";
|
|
2
|
+
import type { Entity, ScanOptions, TableDef } from "../toolbox";
|
|
3
|
+
import type { ExecuteWithRetryOptions } from "@webiny/utils";
|
|
4
|
+
export type { ScanOptions, ScanInput, ScanOutput };
|
|
5
|
+
export interface BaseScanParams {
|
|
6
|
+
options?: ScanOptions;
|
|
7
|
+
params?: Partial<ScanInput>;
|
|
8
|
+
}
|
|
9
|
+
export interface ScanWithTable extends BaseScanParams {
|
|
10
|
+
table: TableDef;
|
|
11
|
+
entity?: never;
|
|
12
|
+
}
|
|
13
|
+
export interface ScanWithEntity extends BaseScanParams {
|
|
14
|
+
entity: Entity;
|
|
15
|
+
table?: never;
|
|
16
|
+
}
|
|
17
|
+
export type ScanParams = ScanWithTable | ScanWithEntity;
|
|
18
|
+
export interface ScanResponse<T = any> {
|
|
19
|
+
items: T[];
|
|
20
|
+
count?: number;
|
|
21
|
+
scannedCount?: number;
|
|
22
|
+
lastEvaluatedKey?: ScanOutput["LastEvaluatedKey"];
|
|
23
|
+
next?: () => Promise<ScanResponse<T>>;
|
|
24
|
+
requestId: string;
|
|
25
|
+
error: any;
|
|
26
|
+
}
|
|
27
|
+
export type ScanDbItem<T> = T & {
|
|
28
|
+
PK: string;
|
|
29
|
+
SK: string;
|
|
30
|
+
GSI1_PK: string;
|
|
31
|
+
GSI1_SK: string;
|
|
32
|
+
TYPE: string;
|
|
33
|
+
};
|
|
34
|
+
export declare const scan: <T>(params: ScanParams) => Promise<ScanResponse<T>>;
|
|
35
|
+
interface ScanWithCallbackOptions {
|
|
36
|
+
retry?: true | ExecuteWithRetryOptions;
|
|
37
|
+
}
|
|
38
|
+
export declare const scanWithCallback: <T>(params: ScanParams, callback: (result: ScanResponse<ScanDbItem<T>>) => Promise<void | boolean>, options?: ScanWithCallbackOptions) => Promise<void>;
|
package/utils/scan.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.scanWithCallback = exports.scan = void 0;
|
|
7
|
+
var _utils = require("@webiny/utils");
|
|
8
|
+
const createNext = result => {
|
|
9
|
+
if (!result?.LastEvaluatedKey || !result.next) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
return async () => {
|
|
13
|
+
const response = await result.next();
|
|
14
|
+
return convertResult(response);
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
const convertResult = result => {
|
|
18
|
+
return {
|
|
19
|
+
items: result.Items || [],
|
|
20
|
+
count: result.Count,
|
|
21
|
+
scannedCount: result.ScannedCount,
|
|
22
|
+
lastEvaluatedKey: result.LastEvaluatedKey || undefined,
|
|
23
|
+
next: createNext(result),
|
|
24
|
+
error: result.error,
|
|
25
|
+
requestId: result.$response?.requestId || ""
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const scan = async params => {
|
|
29
|
+
const {
|
|
30
|
+
options
|
|
31
|
+
} = params;
|
|
32
|
+
const table = params.table ? params.table : params.entity.table;
|
|
33
|
+
if (!table) {
|
|
34
|
+
throw new Error(`Missing table for scan: ${JSON.stringify(options)}`);
|
|
35
|
+
}
|
|
36
|
+
const result = await table.scan({
|
|
37
|
+
...options,
|
|
38
|
+
execute: true
|
|
39
|
+
}, params.params);
|
|
40
|
+
return convertResult(result);
|
|
41
|
+
};
|
|
42
|
+
exports.scan = scan;
|
|
43
|
+
const scanWithCallback = async (params, callback, options) => {
|
|
44
|
+
// For backwards compatibility, we still allow for executing the scan without retries.
|
|
45
|
+
const usingRetry = Boolean(options?.retry);
|
|
46
|
+
const retryOptions = options?.retry === true ? {} : options?.retry;
|
|
47
|
+
const executeScan = () => scan(params);
|
|
48
|
+
const getInitialResult = () => {
|
|
49
|
+
if (usingRetry) {
|
|
50
|
+
return (0, _utils.executeWithRetry)(executeScan, retryOptions);
|
|
51
|
+
}
|
|
52
|
+
return executeScan();
|
|
53
|
+
};
|
|
54
|
+
let result = await getInitialResult();
|
|
55
|
+
if (!result.items?.length && !result.lastEvaluatedKey) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// If the result of the callback was `false`, that means the
|
|
60
|
+
// user's intention was to stop further table scanning.
|
|
61
|
+
const callbackResult = await callback(result);
|
|
62
|
+
const mustBreak = callbackResult === false;
|
|
63
|
+
if (mustBreak) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
while (result.next) {
|
|
67
|
+
const executeNext = () => result.next();
|
|
68
|
+
const getNextResult = () => {
|
|
69
|
+
if (usingRetry) {
|
|
70
|
+
return (0, _utils.executeWithRetry)(executeNext, retryOptions);
|
|
71
|
+
}
|
|
72
|
+
return executeNext();
|
|
73
|
+
};
|
|
74
|
+
result = await getNextResult();
|
|
75
|
+
|
|
76
|
+
// If the result of the callback was `false`, that means the
|
|
77
|
+
// user's intention was to stop further table scanning.
|
|
78
|
+
const callbackResult = await callback(result);
|
|
79
|
+
const mustBreak = callbackResult === false;
|
|
80
|
+
if (mustBreak) {
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
if (!result.next) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
exports.scanWithCallback = scanWithCallback;
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=scan.js.map
|