@webiny/db-dynamodb 6.0.0-alpha.5 → 6.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DynamoDbDriver.d.ts +4 -8
- package/DynamoDbDriver.js +71 -102
- package/DynamoDbDriver.js.map +1 -1
- package/README.md +6 -142
- package/index.d.ts +4 -3
- package/index.js +4 -28
- package/index.js.map +1 -1
- package/package.json +18 -20
- package/plugins/definitions/AttributePlugin.d.ts +1 -1
- package/plugins/definitions/AttributePlugin.js +4 -12
- package/plugins/definitions/AttributePlugin.js.map +1 -1
- package/plugins/definitions/DateTimeTransformPlugin.d.ts +2 -2
- package/plugins/definitions/DateTimeTransformPlugin.js +6 -14
- package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -1
- package/plugins/definitions/FieldPathPlugin.js +6 -14
- package/plugins/definitions/FieldPathPlugin.js.map +1 -1
- package/plugins/definitions/FieldPlugin.d.ts +1 -1
- package/plugins/definitions/FieldPlugin.js +2 -9
- package/plugins/definitions/FieldPlugin.js.map +1 -1
- package/plugins/definitions/TimeTransformPlugin.d.ts +2 -2
- package/plugins/definitions/TimeTransformPlugin.js +7 -15
- package/plugins/definitions/TimeTransformPlugin.js.map +1 -1
- package/plugins/definitions/ValueFilterPlugin.js +5 -13
- package/plugins/definitions/ValueFilterPlugin.js.map +1 -1
- package/plugins/definitions/ValueTransformPlugin.js +6 -14
- package/plugins/definitions/ValueTransformPlugin.js.map +1 -1
- package/plugins/definitions/assignFields.js +4 -12
- package/plugins/definitions/assignFields.js.map +1 -1
- package/plugins/filters/andIn.d.ts +1 -1
- package/plugins/filters/andIn.js +5 -12
- package/plugins/filters/andIn.js.map +1 -1
- package/plugins/filters/between.d.ts +1 -1
- package/plugins/filters/between.js +5 -12
- package/plugins/filters/between.js.map +1 -1
- package/plugins/filters/contains.d.ts +1 -1
- package/plugins/filters/contains.js +3 -9
- package/plugins/filters/contains.js.map +1 -1
- package/plugins/filters/eq.d.ts +1 -1
- package/plugins/filters/eq.js +3 -9
- package/plugins/filters/eq.js.map +1 -1
- package/plugins/filters/fuzzy.d.ts +1 -1
- package/plugins/filters/fuzzy.js +5 -12
- package/plugins/filters/fuzzy.js.map +1 -1
- package/plugins/filters/gt.d.ts +1 -1
- package/plugins/filters/gt.js +3 -9
- package/plugins/filters/gt.js.map +1 -1
- package/plugins/filters/gte.d.ts +1 -1
- package/plugins/filters/gte.js +3 -9
- package/plugins/filters/gte.js.map +1 -1
- package/plugins/filters/in.d.ts +1 -1
- package/plugins/filters/in.js +5 -12
- package/plugins/filters/in.js.map +1 -1
- package/plugins/filters/index.d.ts +1 -1
- package/plugins/filters/index.js +12 -20
- package/plugins/filters/index.js.map +1 -1
- package/plugins/filters/lt.d.ts +1 -1
- package/plugins/filters/lt.js +3 -9
- package/plugins/filters/lt.js.map +1 -1
- package/plugins/filters/lte.d.ts +1 -1
- package/plugins/filters/lte.js +3 -9
- package/plugins/filters/lte.js.map +1 -1
- package/plugins/filters/startsWith.d.ts +1 -1
- package/plugins/filters/startsWith.js +3 -9
- package/plugins/filters/startsWith.js.map +1 -1
- package/plugins/index.d.ts +9 -1
- package/plugins/index.js +11 -11
- package/plugins/index.js.map +1 -1
- package/store/entity.d.ts +4 -76
- package/store/entity.js +5 -35
- package/store/entity.js.map +1 -1
- package/store/keys.d.ts +1 -1
- package/store/keys.js +7 -13
- package/store/keys.js.map +1 -1
- package/store/types.d.ts +3 -4
- package/store/types.js +1 -5
- package/store/types.js.map +1 -1
- package/toolbox.d.ts +7 -2
- package/toolbox.js +2 -17
- package/toolbox.js.map +1 -1
- package/types.js +1 -5
- package/utils/attributes.d.ts +2 -2
- package/utils/attributes.js +4 -12
- package/utils/attributes.js.map +1 -1
- package/utils/batch/batchRead.d.ts +2 -2
- package/utils/batch/batchRead.js +5 -13
- package/utils/batch/batchRead.js.map +1 -1
- package/utils/batch/batchWrite.d.ts +2 -2
- package/utils/batch/batchWrite.js +3 -11
- package/utils/batch/batchWrite.js.map +1 -1
- package/utils/batch/index.d.ts +3 -3
- package/utils/batch/index.js +3 -38
- package/utils/batch/index.js.map +1 -1
- package/utils/batch/types.d.ts +7 -2
- package/utils/batch/types.js +1 -5
- package/utils/batch/types.js.map +1 -1
- package/utils/cleanup.d.ts +1 -1
- package/utils/cleanup.js +3 -10
- package/utils/cleanup.js.map +1 -1
- package/utils/count.d.ts +1 -1
- package/utils/count.js +1 -8
- package/utils/count.js.map +1 -1
- package/utils/createEntity.d.ts +36 -54
- package/utils/createEntity.js +75 -51
- package/utils/createEntity.js.map +1 -1
- package/utils/createTable.d.ts +10 -7
- package/utils/createTable.js +25 -15
- package/utils/createTable.js.map +1 -1
- package/utils/cursor.js +2 -10
- package/utils/cursor.js.map +1 -1
- package/utils/delete.d.ts +1 -1
- package/utils/delete.js +1 -8
- package/utils/delete.js.map +1 -1
- package/utils/entity/Entity.d.ts +23 -21
- package/utils/entity/Entity.js +56 -34
- package/utils/entity/Entity.js.map +1 -1
- package/utils/entity/EntityReadBatch.d.ts +9 -8
- package/utils/entity/EntityReadBatch.js +14 -16
- package/utils/entity/EntityReadBatch.js.map +1 -1
- package/utils/entity/EntityReadBatchBuilder.d.ts +4 -4
- package/utils/entity/EntityReadBatchBuilder.js +7 -15
- package/utils/entity/EntityReadBatchBuilder.js.map +1 -1
- package/utils/entity/EntityWriteBatch.d.ts +9 -8
- package/utils/entity/EntityWriteBatch.js +10 -18
- package/utils/entity/EntityWriteBatch.js.map +1 -1
- package/utils/entity/EntityWriteBatchBuilder.d.ts +4 -4
- package/utils/entity/EntityWriteBatchBuilder.js +4 -12
- package/utils/entity/EntityWriteBatchBuilder.js.map +1 -1
- package/utils/entity/getEntity.d.ts +2 -2
- package/utils/entity/getEntity.js +3 -10
- package/utils/entity/getEntity.js.map +1 -1
- package/utils/entity/index.d.ts +7 -7
- package/utils/entity/index.js +7 -82
- package/utils/entity/index.js.map +1 -1
- package/utils/entity/types.d.ts +46 -22
- package/utils/entity/types.js +2 -5
- package/utils/entity/types.js.map +1 -1
- package/utils/filter.d.ts +1 -1
- package/utils/filter.js +7 -14
- package/utils/filter.js.map +1 -1
- package/utils/get.d.ts +1 -1
- package/utils/get.js +4 -12
- package/utils/get.js.map +1 -1
- package/utils/index.d.ts +17 -17
- package/utils/index.js +17 -192
- package/utils/index.js.map +1 -1
- package/utils/listResponse.js +4 -10
- package/utils/listResponse.js.map +1 -1
- package/utils/put.d.ts +2 -2
- package/utils/put.js +1 -8
- package/utils/put.js.map +1 -1
- package/utils/query.d.ts +5 -12
- package/utils/query.js +13 -27
- package/utils/query.js.map +1 -1
- package/utils/scan.d.ts +2 -2
- package/utils/scan.js +5 -13
- package/utils/scan.js.map +1 -1
- package/utils/sort.d.ts +1 -1
- package/utils/sort.js +7 -14
- package/utils/sort.js.map +1 -1
- package/utils/table/Table.d.ts +4 -5
- package/utils/table/Table.js +9 -20
- package/utils/table/Table.js.map +1 -1
- package/utils/table/TableReadBatch.d.ts +4 -4
- package/utils/table/TableReadBatch.js +8 -16
- package/utils/table/TableReadBatch.js.map +1 -1
- package/utils/table/TableWriteBatch.d.ts +3 -3
- package/utils/table/TableWriteBatch.js +6 -14
- package/utils/table/TableWriteBatch.js.map +1 -1
- package/utils/table/index.d.ts +4 -4
- package/utils/table/index.js +4 -49
- package/utils/table/index.js.map +1 -1
- package/utils/table/types.d.ts +8 -8
- package/utils/table/types.js +1 -5
- package/utils/table/types.js.map +1 -1
- package/utils/update.d.ts +1 -1
- package/utils/update.js +1 -8
- package/utils/update.js.map +1 -1
package/DynamoDbDriver.d.ts
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
|
|
1
|
+
import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import type { DbDriver, GetValueResult, GetValuesResult, IListValuesParams, ListValuesResult, RemoveValueResult, RemoveValuesResult, StorageKey, StoreValueResult, StoreValuesResult } from "@webiny/db";
|
|
3
|
-
import type {
|
|
4
|
-
import type { Table } from "./utils/createTable";
|
|
5
|
-
import type { GenericRecord } from "@webiny/api/types";
|
|
3
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
6
4
|
interface ConstructorArgs {
|
|
7
5
|
documentClient: DynamoDBDocument;
|
|
8
6
|
}
|
|
9
7
|
declare class DynamoDbDriver implements DbDriver<DynamoDBDocument> {
|
|
10
8
|
readonly documentClient: DynamoDBDocument;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
table(): Table;
|
|
14
|
-
entity(): Entity;
|
|
9
|
+
readonly table: import("./utils").ITable<string, "PK", "SK">;
|
|
10
|
+
readonly entity: import("./store/types").IStoreEntity;
|
|
15
11
|
constructor({ documentClient }: ConstructorArgs);
|
|
16
12
|
getClient(): DynamoDBDocument;
|
|
17
13
|
storeValue<V>(key: string, input: V): Promise<StoreValueResult<V>>;
|
package/DynamoDbDriver.js
CHANGED
|
@@ -1,38 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _createTable = require("./utils/createTable");
|
|
8
|
-
var _entity = require("./store/entity");
|
|
9
|
-
var _utils = require("./utils");
|
|
10
|
-
var _keys = require("./store/keys");
|
|
1
|
+
import { createTable } from "./utils/createTable.js";
|
|
2
|
+
import { createEntity } from "./store/entity.js";
|
|
3
|
+
import { createPartitionKey, createSortKey, createType } from "./store/keys.js";
|
|
11
4
|
class DynamoDbDriver {
|
|
12
|
-
_table = undefined;
|
|
13
|
-
_entity = undefined;
|
|
14
|
-
table() {
|
|
15
|
-
if (this._table) {
|
|
16
|
-
return this._table;
|
|
17
|
-
}
|
|
18
|
-
this._table = (0, _createTable.createTable)({
|
|
19
|
-
documentClient: this.documentClient
|
|
20
|
-
});
|
|
21
|
-
return this._table;
|
|
22
|
-
}
|
|
23
|
-
entity() {
|
|
24
|
-
if (this._entity) {
|
|
25
|
-
return this._entity;
|
|
26
|
-
}
|
|
27
|
-
this._entity = (0, _entity.createEntity)({
|
|
28
|
-
table: this.table()
|
|
29
|
-
});
|
|
30
|
-
return this._entity;
|
|
31
|
-
}
|
|
32
5
|
constructor({
|
|
33
6
|
documentClient
|
|
34
7
|
}) {
|
|
35
8
|
this.documentClient = documentClient;
|
|
9
|
+
this.table = createTable({
|
|
10
|
+
name: process.env.DB_TABLE,
|
|
11
|
+
documentClient
|
|
12
|
+
});
|
|
13
|
+
this.entity = createEntity({
|
|
14
|
+
table: this.table
|
|
15
|
+
});
|
|
36
16
|
}
|
|
37
17
|
getClient() {
|
|
38
18
|
return this.documentClient;
|
|
@@ -48,14 +28,13 @@ class DynamoDbDriver {
|
|
|
48
28
|
};
|
|
49
29
|
}
|
|
50
30
|
try {
|
|
51
|
-
await
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
TYPE: (0, _keys.createType)(),
|
|
31
|
+
await this.entity.put({
|
|
32
|
+
PK: createPartitionKey(),
|
|
33
|
+
SK: createSortKey({
|
|
34
|
+
key
|
|
35
|
+
}),
|
|
36
|
+
TYPE: createType(),
|
|
37
|
+
data: {
|
|
59
38
|
key,
|
|
60
39
|
value
|
|
61
40
|
}
|
|
@@ -73,8 +52,9 @@ class DynamoDbDriver {
|
|
|
73
52
|
}
|
|
74
53
|
async storeValues(values) {
|
|
75
54
|
const keys = Object.keys(values);
|
|
55
|
+
const batchWrite = this.entity.createEntityWriter();
|
|
76
56
|
try {
|
|
77
|
-
const
|
|
57
|
+
for (const key of keys) {
|
|
78
58
|
const input = values[key];
|
|
79
59
|
let value;
|
|
80
60
|
try {
|
|
@@ -82,21 +62,19 @@ class DynamoDbDriver {
|
|
|
82
62
|
} catch (ex) {
|
|
83
63
|
throw ex;
|
|
84
64
|
}
|
|
85
|
-
|
|
86
|
-
PK:
|
|
87
|
-
SK:
|
|
65
|
+
batchWrite.put({
|
|
66
|
+
PK: createPartitionKey(),
|
|
67
|
+
SK: createSortKey({
|
|
88
68
|
key
|
|
89
69
|
}),
|
|
90
|
-
TYPE:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
items: batch
|
|
99
|
-
});
|
|
70
|
+
TYPE: createType(),
|
|
71
|
+
data: {
|
|
72
|
+
key,
|
|
73
|
+
value
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
await batchWrite.execute();
|
|
100
78
|
return {
|
|
101
79
|
keys,
|
|
102
80
|
data: values
|
|
@@ -110,18 +88,15 @@ class DynamoDbDriver {
|
|
|
110
88
|
}
|
|
111
89
|
async getValue(key) {
|
|
112
90
|
try {
|
|
113
|
-
const result = await
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
key
|
|
119
|
-
})
|
|
120
|
-
}
|
|
91
|
+
const result = await this.entity.get({
|
|
92
|
+
PK: createPartitionKey(),
|
|
93
|
+
SK: createSortKey({
|
|
94
|
+
key
|
|
95
|
+
})
|
|
121
96
|
});
|
|
122
97
|
return {
|
|
123
98
|
key,
|
|
124
|
-
data: result ? JSON.parse(result.value) : null
|
|
99
|
+
data: result?.data?.value ? JSON.parse(result.data.value) : null
|
|
125
100
|
};
|
|
126
101
|
} catch (ex) {
|
|
127
102
|
return {
|
|
@@ -132,35 +107,32 @@ class DynamoDbDriver {
|
|
|
132
107
|
}
|
|
133
108
|
async getValues(input) {
|
|
134
109
|
const keys = [...input];
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
110
|
+
const batchRead = this.entity.createEntityReader({
|
|
111
|
+
read: keys.map(key => {
|
|
112
|
+
return {
|
|
113
|
+
PK: createPartitionKey(),
|
|
114
|
+
SK: createSortKey({
|
|
115
|
+
key
|
|
116
|
+
})
|
|
117
|
+
};
|
|
118
|
+
})
|
|
142
119
|
});
|
|
143
120
|
try {
|
|
144
|
-
const results = await (
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
});
|
|
148
|
-
const data = keys.reduce((collection, key) => {
|
|
121
|
+
const results = await batchRead.execute();
|
|
122
|
+
const data = keys.reduce((collection, initialKey) => {
|
|
123
|
+
const key = initialKey;
|
|
149
124
|
const result = results.find(item => {
|
|
150
|
-
return item.PK ===
|
|
125
|
+
return item.PK === createPartitionKey() && item.SK === createSortKey({
|
|
151
126
|
key
|
|
152
127
|
});
|
|
153
128
|
});
|
|
154
|
-
if (!result?.value) {
|
|
155
|
-
// @ts-expect-error
|
|
129
|
+
if (!result?.data?.value) {
|
|
156
130
|
collection[key] = null;
|
|
157
131
|
return collection;
|
|
158
132
|
}
|
|
159
133
|
try {
|
|
160
|
-
|
|
161
|
-
collection[key] = JSON.parse(result.value);
|
|
134
|
+
collection[key] = JSON.parse(result.data.value);
|
|
162
135
|
} catch {
|
|
163
|
-
// @ts-expect-error
|
|
164
136
|
collection[key] = null;
|
|
165
137
|
}
|
|
166
138
|
return collection;
|
|
@@ -178,22 +150,20 @@ class DynamoDbDriver {
|
|
|
178
150
|
}
|
|
179
151
|
async listValues(params) {
|
|
180
152
|
try {
|
|
181
|
-
const partitionKey =
|
|
153
|
+
const partitionKey = createPartitionKey();
|
|
182
154
|
const options = {
|
|
183
155
|
...params
|
|
184
156
|
};
|
|
185
|
-
const results = await
|
|
186
|
-
entity: this.entity(),
|
|
157
|
+
const results = await this.entity.queryAll({
|
|
187
158
|
partitionKey,
|
|
188
159
|
options
|
|
189
160
|
});
|
|
190
161
|
const data = results.reduce((collection, item) => {
|
|
162
|
+
const key = item.data.key;
|
|
191
163
|
try {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
// @ts-expect-error
|
|
196
|
-
collection[item.key] = null;
|
|
164
|
+
collection[key] = JSON.parse(item.data.value);
|
|
165
|
+
} catch {
|
|
166
|
+
collection[key] = null;
|
|
197
167
|
}
|
|
198
168
|
return collection;
|
|
199
169
|
}, {});
|
|
@@ -216,9 +186,9 @@ class DynamoDbDriver {
|
|
|
216
186
|
};
|
|
217
187
|
}
|
|
218
188
|
try {
|
|
219
|
-
await this.entity
|
|
220
|
-
PK:
|
|
221
|
-
SK:
|
|
189
|
+
await this.entity.delete({
|
|
190
|
+
PK: createPartitionKey(),
|
|
191
|
+
SK: createSortKey({
|
|
222
192
|
key
|
|
223
193
|
})
|
|
224
194
|
});
|
|
@@ -235,19 +205,18 @@ class DynamoDbDriver {
|
|
|
235
205
|
}
|
|
236
206
|
async removeValues(input) {
|
|
237
207
|
const keys = [...input];
|
|
238
|
-
const
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
208
|
+
const batchDelete = this.entity.createEntityWriter({
|
|
209
|
+
delete: keys.map(key => {
|
|
210
|
+
return {
|
|
211
|
+
PK: createPartitionKey(),
|
|
212
|
+
SK: createSortKey({
|
|
213
|
+
key
|
|
214
|
+
})
|
|
215
|
+
};
|
|
216
|
+
})
|
|
245
217
|
});
|
|
246
218
|
try {
|
|
247
|
-
await (
|
|
248
|
-
table: this.table(),
|
|
249
|
-
items: batch
|
|
250
|
-
});
|
|
219
|
+
await batchDelete.execute();
|
|
251
220
|
return {
|
|
252
221
|
keys
|
|
253
222
|
};
|
|
@@ -259,6 +228,6 @@ class DynamoDbDriver {
|
|
|
259
228
|
}
|
|
260
229
|
}
|
|
261
230
|
}
|
|
262
|
-
|
|
231
|
+
export default DynamoDbDriver;
|
|
263
232
|
|
|
264
233
|
//# sourceMappingURL=DynamoDbDriver.js.map
|
package/DynamoDbDriver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_createTable","require","_entity","_utils","_keys","DynamoDbDriver","_table","undefined","table","createTable","documentClient","entity","createEntity","constructor","getClient","storeValue","key","input","value","JSON","stringify","ex","error","put","item","PK","createPartitionKey","SK","createSortKey","TYPE","createType","data","storeValues","values","keys","Object","batch","map","putBatch","batchWriteAll","items","getValue","result","get","parse","getValues","getBatch","results","batchReadAll","reduce","collection","find","listValues","params","partitionKey","options","queryAll","removeValue","delete","removeValues","deleteBatch","_default","exports","default"],"sources":["DynamoDbDriver.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport type {\n DbDriver,\n GetValueResult,\n GetValuesResult,\n IListValuesParams,\n ListValuesResult,\n RemoveValueResult,\n RemoveValuesResult,\n StorageKey,\n StoreValueResult,\n StoreValuesResult\n} from \"@webiny/db\";\nimport type { Entity } from \"dynamodb-toolbox\";\nimport type { Table } from \"~/utils/createTable\";\nimport { createTable } from \"~/utils/createTable\";\nimport type { GenericRecord } from \"@webiny/api/types\";\nimport { createEntity } from \"~/store/entity\";\nimport { batchReadAll, batchWriteAll, get, put, queryAll } from \"~/utils\";\nimport { createPartitionKey, createSortKey, createType } from \"~/store/keys\";\nimport type { IStoreItem } from \"~/store/types\";\n\ninterface ConstructorArgs {\n documentClient: DynamoDBDocument;\n}\n\nclass DynamoDbDriver implements DbDriver<DynamoDBDocument> {\n public readonly documentClient: DynamoDBDocument;\n\n private _table: Table | undefined = undefined;\n private _entity: Entity | undefined = undefined;\n\n public table(): Table {\n if (this._table) {\n return this._table;\n }\n this._table = createTable({\n documentClient: this.documentClient\n });\n return this._table;\n }\n\n public entity(): Entity {\n if (this._entity) {\n return this._entity;\n }\n this._entity = createEntity({\n table: this.table()\n });\n return this._entity;\n }\n\n constructor({ documentClient }: ConstructorArgs) {\n this.documentClient = documentClient;\n }\n\n public getClient() {\n return this.documentClient;\n }\n\n public async storeValue<V>(key: string, input: V): Promise<StoreValueResult<V>> {\n let value: string | undefined;\n try {\n value = JSON.stringify(input);\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n\n try {\n await put<IStoreItem>({\n entity: this.entity(),\n item: {\n PK: createPartitionKey(),\n SK: createSortKey({ key }),\n TYPE: createType(),\n key,\n value\n }\n });\n\n return {\n key,\n data: input\n };\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n }\n public async storeValues<V extends GenericRecord<StorageKey>>(\n values: V\n ): Promise<StoreValuesResult<V>> {\n const keys = Object.keys(values);\n try {\n const batch = keys.map(key => {\n const input = values[key];\n let value: string | undefined;\n try {\n value = JSON.stringify(input);\n } catch (ex) {\n throw ex;\n }\n const item: IStoreItem = {\n PK: createPartitionKey(),\n SK: createSortKey({ key }),\n TYPE: createType(),\n key,\n value\n };\n return this.entity().putBatch(item);\n });\n\n await batchWriteAll({\n table: this.table(),\n items: batch\n });\n return {\n keys,\n data: values\n };\n } catch (ex) {\n return {\n keys,\n error: ex\n };\n }\n }\n public async getValue<V>(key: StorageKey): Promise<GetValueResult<V>> {\n try {\n const result = await get<IStoreItem>({\n entity: this.entity(),\n keys: {\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n }\n });\n return {\n key,\n data: result ? JSON.parse(result.value) : null\n };\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n }\n public async getValues<V extends GenericRecord<StorageKey>>(\n input: (keyof V)[]\n ): Promise<GetValuesResult<V>> {\n const keys = [...input] as string[];\n const batch = keys.map(key => {\n return this.entity().getBatch({\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n });\n });\n\n try {\n const results = await batchReadAll<IStoreItem>({\n table: this.table(),\n items: batch\n });\n const data = keys.reduce((collection, key) => {\n const result = results.find(item => {\n return item.PK === createPartitionKey() && item.SK === createSortKey({ key });\n });\n if (!result?.value) {\n // @ts-expect-error\n collection[key] = null;\n return collection;\n }\n try {\n // @ts-expect-error\n collection[key] = JSON.parse(result.value);\n } catch {\n // @ts-expect-error\n collection[key] = null;\n }\n\n return collection;\n }, {} as V);\n return {\n keys,\n data\n };\n } catch (ex) {\n return {\n keys,\n error: ex\n };\n }\n }\n public async listValues<V extends GenericRecord<StorageKey>>(\n params?: IListValuesParams\n ): Promise<ListValuesResult<V>> {\n try {\n const partitionKey = createPartitionKey();\n const options = {\n ...params\n };\n const results = await queryAll<IStoreItem>({\n entity: this.entity(),\n partitionKey,\n options\n });\n\n const data = results.reduce((collection, item) => {\n try {\n // @ts-expect-error\n collection[item.key] = JSON.parse(item.value);\n } catch (ex) {\n // @ts-expect-error\n collection[item.key] = null;\n }\n\n return collection;\n }, {} as V);\n\n return {\n keys: Object.keys(data),\n data\n };\n } catch (ex) {\n return {\n error: ex\n };\n }\n }\n\n public async removeValue<V>(key: StorageKey): Promise<RemoveValueResult<V>> {\n const result = await this.getValue<V>(key);\n if (result.error) {\n return {\n key,\n error: result.error\n };\n }\n try {\n await this.entity().delete({\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n });\n return {\n key,\n data: result.data\n };\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n }\n\n public async removeValues<V extends GenericRecord<StorageKey>>(\n input: (keyof V)[]\n ): Promise<RemoveValuesResult<V>> {\n const keys = [...input] as string[];\n const batch = keys.map(key => {\n return this.entity().deleteBatch({\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n });\n });\n\n try {\n await batchWriteAll({\n table: this.table(),\n items: batch\n });\n return {\n keys\n };\n } catch (ex) {\n return {\n keys,\n error: ex\n };\n }\n }\n}\n\nexport default DynamoDbDriver;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createTable","createEntity","createPartitionKey","createSortKey","createType","DynamoDbDriver","constructor","documentClient","table","name","process","env","DB_TABLE","entity","getClient","storeValue","key","input","value","JSON","stringify","ex","error","put","PK","SK","TYPE","data","storeValues","values","keys","Object","batchWrite","createEntityWriter","execute","getValue","result","get","parse","getValues","batchRead","createEntityReader","read","map","results","reduce","collection","initialKey","find","item","listValues","params","partitionKey","options","queryAll","removeValue","delete","removeValues","batchDelete"],"sources":["DynamoDbDriver.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type {\n DbDriver,\n GetValueResult,\n GetValuesResult,\n IListValuesParams,\n ListValuesResult,\n RemoveValueResult,\n RemoveValuesResult,\n StorageKey,\n StoreValueResult,\n StoreValuesResult\n} from \"@webiny/db\";\nimport { createTable } from \"~/utils/createTable.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { createEntity } from \"~/store/entity.js\";\nimport { createPartitionKey, createSortKey, createType } from \"~/store/keys.js\";\n\ninterface ConstructorArgs {\n documentClient: DynamoDBDocument;\n}\n\nclass DynamoDbDriver implements DbDriver<DynamoDBDocument> {\n public readonly documentClient;\n\n public readonly table;\n public readonly entity;\n\n constructor({ documentClient }: ConstructorArgs) {\n this.documentClient = documentClient;\n this.table = createTable({\n name: process.env.DB_TABLE as string,\n documentClient\n });\n this.entity = createEntity({\n table: this.table\n });\n }\n\n public getClient() {\n return this.documentClient;\n }\n\n public async storeValue<V>(key: string, input: V): Promise<StoreValueResult<V>> {\n let value: string | undefined;\n try {\n value = JSON.stringify(input);\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n\n try {\n await this.entity.put({\n PK: createPartitionKey(),\n SK: createSortKey({ key }),\n TYPE: createType(),\n data: {\n key,\n value\n }\n });\n\n return {\n key,\n data: input\n };\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n }\n public async storeValues<V extends GenericRecord<StorageKey>>(\n values: V\n ): Promise<StoreValuesResult<V>> {\n const keys = Object.keys(values);\n\n const batchWrite = this.entity.createEntityWriter();\n try {\n for (const key of keys) {\n const input = values[key];\n let value: string | undefined;\n try {\n value = JSON.stringify(input);\n } catch (ex) {\n throw ex;\n }\n batchWrite.put({\n PK: createPartitionKey(),\n SK: createSortKey({ key }),\n TYPE: createType(),\n data: {\n key,\n value\n }\n });\n }\n\n await batchWrite.execute();\n return {\n keys,\n data: values\n };\n } catch (ex) {\n return {\n keys,\n error: ex\n };\n }\n }\n public async getValue<V>(key: StorageKey): Promise<GetValueResult<V>> {\n try {\n const result = await this.entity.get({\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n });\n return {\n key,\n data: result?.data?.value ? JSON.parse(result.data.value) : null\n };\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n }\n public async getValues<V extends GenericRecord<StorageKey>>(\n input: (keyof V)[]\n ): Promise<GetValuesResult<V>> {\n const keys = [...input] as string[];\n\n const batchRead = this.entity.createEntityReader({\n read: keys.map(key => {\n return {\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n };\n })\n });\n\n try {\n const results = await batchRead.execute();\n const data = keys.reduce((collection, initialKey) => {\n const key = initialKey as keyof V;\n const result = results.find(item => {\n return item.PK === createPartitionKey() && item.SK === createSortKey({ key });\n });\n if (!result?.data?.value) {\n collection[key] = null;\n return collection;\n }\n try {\n collection[key] = JSON.parse(result.data.value);\n } catch {\n collection[key] = null;\n }\n\n return collection;\n }, {} as GenericRecord);\n return {\n keys,\n data\n };\n } catch (ex) {\n return {\n keys,\n error: ex\n };\n }\n }\n public async listValues<V extends GenericRecord<StorageKey>>(\n params?: IListValuesParams\n ): Promise<ListValuesResult<V>> {\n try {\n const partitionKey = createPartitionKey();\n const options = {\n ...params\n };\n const results = await this.entity.queryAll({\n partitionKey,\n options\n });\n\n const data = results.reduce((collection, item) => {\n const key = item.data.key as keyof V;\n try {\n collection[key] = JSON.parse(item.data.value);\n } catch {\n collection[key] = null;\n }\n\n return collection;\n }, {} as GenericRecord);\n\n return {\n keys: Object.keys(data),\n data\n };\n } catch (ex) {\n return {\n error: ex\n };\n }\n }\n\n public async removeValue<V>(key: StorageKey): Promise<RemoveValueResult<V>> {\n const result = await this.getValue<V>(key);\n if (result.error) {\n return {\n key,\n error: result.error\n };\n }\n try {\n await this.entity.delete({\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n });\n return {\n key,\n data: result.data\n };\n } catch (ex) {\n return {\n key,\n error: ex\n };\n }\n }\n\n public async removeValues<V extends GenericRecord<StorageKey>>(\n input: (keyof V)[]\n ): Promise<RemoveValuesResult<V>> {\n const keys = [...input] as string[];\n\n const batchDelete = this.entity.createEntityWriter({\n delete: keys.map(key => {\n return {\n PK: createPartitionKey(),\n SK: createSortKey({ key })\n };\n })\n });\n\n try {\n await batchDelete.execute();\n return {\n keys\n };\n } catch (ex) {\n return {\n keys,\n error: ex\n };\n }\n }\n}\n\nexport default DynamoDbDriver;\n"],"mappings":"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","ignoreList":[]}
|
package/README.md
CHANGED
|
@@ -1,147 +1,11 @@
|
|
|
1
1
|
# @webiny/db-dynamodb
|
|
2
|
-
[](https://www.npmjs.com/package/webiny-data-dynamodb)
|
|
3
|
-
[](https://www.npmjs.com/package/webiny-data-dynamodb)
|
|
4
|
-
[](https://github.com/prettier/prettier)
|
|
5
|
-
[](http://makeapullrequest.com)
|
|
6
2
|
|
|
7
|
-
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
[the official docs](https://github.com/doitadrian/data-dynamodb).
|
|
11
|
-
|
|
12
|
-
## Install
|
|
13
|
-
```
|
|
14
|
-
yarn add @webiny/db-dynamodb
|
|
15
|
-
```
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
16
8
|
|
|
17
|
-
|
|
18
|
-
We have some classes that ease the use of dynamodb-toolbox.
|
|
19
|
-
#### [Table](./src/utils/table/Table.ts)
|
|
20
|
-
```typescript
|
|
21
|
-
import { createTable } from "@webiny/db-dynamodb";
|
|
9
|
+
---
|
|
22
10
|
|
|
23
|
-
|
|
24
|
-
const writer = table.createWriter(); // see TableWriteBatch
|
|
25
|
-
const reader = table.createReader(); // see TableReadBatch
|
|
26
|
-
|
|
27
|
-
const result = await table.scan({...params}); // see scan
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
#### [Entity](./src/utils/entity/Entity.ts)
|
|
31
|
-
```typescript
|
|
32
|
-
|
|
33
|
-
import { createEntity } from "@webiny/db-dynamodb";
|
|
34
|
-
|
|
35
|
-
const entity = createEntity({...params});
|
|
36
|
-
const writer = entity.createWriter(); // see EntityWriteBatch
|
|
37
|
-
const reader = entity.createReader(); // see EntityReadBatch
|
|
38
|
-
const tableWriter = entity.createTableWriter(); // see TableWriteBatch
|
|
39
|
-
|
|
40
|
-
const getResult = await entity.get({...params}); // see get
|
|
41
|
-
const getCleanResult = await entity.getClean({...params}); // see get
|
|
42
|
-
const queryAllResult = await entity.queryAll({...params}); // see queryAllClean
|
|
43
|
-
const queryOneResult = await entity.queryOne({...params}); // see queryOneClean
|
|
44
|
-
const putResult = await entity.put({...params}); // see put
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
#### [EntityWriteBatch](./src/utils/entity/EntityWriteBatch.ts)
|
|
49
|
-
```typescript
|
|
50
|
-
import { createEntityWriteBatch } from "@webiny/db-dynamodb";
|
|
51
|
-
|
|
52
|
-
const writer = createEntityWriteBatch({...params});
|
|
53
|
-
|
|
54
|
-
writer.put({...item});
|
|
55
|
-
writer.delete({...keys});
|
|
56
|
-
writer.delete({...moreKeys});
|
|
57
|
-
|
|
58
|
-
await writer.execute();
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
#### [EntityReadBatch](./src/utils/entity/EntityReadBatch.ts)
|
|
62
|
-
```typescript
|
|
63
|
-
import { createEntityReadBatch } from "@webiny/db-dynamodb";
|
|
64
|
-
|
|
65
|
-
const reader = createEntityReadBatch({...params});
|
|
66
|
-
|
|
67
|
-
reader.get({...keys});
|
|
68
|
-
reader.get({...moreKeys});
|
|
69
|
-
|
|
70
|
-
const result = await reader.execute();
|
|
71
|
-
```
|
|
72
|
-
#### [TableWriteBatch](./src/utils/table/TableWriteBatch.ts)
|
|
73
|
-
```typescript
|
|
74
|
-
import { createTableWriteBatch } from "@webiny/db-dynamodb";
|
|
75
|
-
|
|
76
|
-
const writer = createTableWriteBatch({...params});
|
|
77
|
-
|
|
78
|
-
writer.put(entity, {...item});
|
|
79
|
-
writer.delete(entity, {...keys});
|
|
80
|
-
writer.delete(entity, {...moreKeys});
|
|
81
|
-
|
|
82
|
-
await writer.execute();
|
|
83
|
-
```
|
|
84
|
-
#### [TableReadBatch](./src/utils/table/TableReadBatch.ts)
|
|
85
|
-
```typescript
|
|
86
|
-
import {createTableReadBatch} from "@webiny/db-dynamodb";
|
|
87
|
-
|
|
88
|
-
const reader = createTableReadBatch({...params});
|
|
89
|
-
|
|
90
|
-
writer.get(entity, {...keys});
|
|
91
|
-
writer.get(entity, {...moreKeys});
|
|
92
|
-
|
|
93
|
-
const result = await reader.execute();
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
### Helper functions
|
|
99
|
-
We have a number [helper](./src/utils) functions that ease the use of either dynamodb-toolbox, filtering, sorting or just creating proper response.
|
|
100
|
-
|
|
101
|
-
#### [batchRead](./src/utils/batchRead.ts)
|
|
102
|
-
Read a batch of records from the DynamoDB table.
|
|
103
|
-
|
|
104
|
-
This function accepts [table](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Table.ts) and items, an array of objects created by [Entity.getBatch()](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Entity.ts#L313).
|
|
105
|
-
|
|
106
|
-
Internally it reads records until there are no more to read and returns a list of read records.
|
|
107
|
-
|
|
108
|
-
#### [batchWrite](./src/utils/batchWrite.ts)
|
|
109
|
-
Write a batch of records to the DynamoDB table.
|
|
110
|
-
|
|
111
|
-
This function accepts [table](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Table.ts) and items, an array of objects created by [Entity.putBatch()](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Entity.ts#L989).
|
|
112
|
-
It also accepts a number which defines a number of items to be written in one request. DO NOT put that number over the official DynamoDB maximum.
|
|
113
|
-
|
|
114
|
-
Internally it loops through the items received (in chunks of `maxChunks` parameter) and does not return anything.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
#### [cleanupItem and cleanupItems](./src/utils/cleanup.ts)
|
|
118
|
-
Clean up records received from the DynamoDB table.
|
|
119
|
-
|
|
120
|
-
This function accepts [entity](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Entity.ts) and item to be cleaned up, in case of the cleanupItem.
|
|
121
|
-
In case of `cleanupItems` it accepts an array of items to clean up.
|
|
122
|
-
|
|
123
|
-
We use this to remove the properties that dynamodb-toolbox puts on the record automatically.
|
|
124
|
-
|
|
125
|
-
#### [get](./src/utils/get.ts)
|
|
126
|
-
Get a single record from the DynamoDB table with given keys.
|
|
127
|
-
|
|
128
|
-
This function accepts [entity](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Entity.ts) and keys to fetch the record by.
|
|
129
|
-
|
|
130
|
-
It returns either record or null. By default, [entity.get()](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Entity.ts#L281) returns a object with some meta data and `Item` property, which contains the record (or null if no record).
|
|
131
|
-
|
|
132
|
-
#### [queryOne and queryAll](./src/utils/query.ts)
|
|
133
|
-
Query the DynamoDB table for record(s) by given partition key and query options.
|
|
134
|
-
|
|
135
|
-
This function accepts [entity](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Entity.ts) to perform the query on, `partitionKey` to query by and [options](https://github.com/jeremydaly/dynamodb-toolbox/blob/main/src/classes/Table.ts#L65) to define the query parameters with.
|
|
136
|
-
|
|
137
|
-
The `queryAll` method accepts `limit`, a number with which you can load only a certain amount of records. The `queryOne` method does not have that property.
|
|
138
|
-
|
|
139
|
-
#### [filter](./src/utils/filter.ts)
|
|
140
|
-
Filter the DynamoDB records by given where condition.
|
|
141
|
-
|
|
142
|
-
This function accepts items (records) to be filtered, a definition of fields to filter by (not required by default if no field modification is required), where conditions (eg. `{published: true, date_gte: "2021-01-01"}`) and filtering plugins.
|
|
143
|
-
|
|
144
|
-
#### [sort](./src/utils/sort.ts)
|
|
145
|
-
Sort the DynamoDB records by given sort condition.
|
|
146
|
-
|
|
147
|
-
This function accepts items (records) to be sorted, sort options (eg. createdBy_ASC, id_DESC, etc.) and a definitions of fields to sort by (not required by default if no field modification is required).
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { default as DynamoDbDriver } from "./DynamoDbDriver";
|
|
2
|
-
export * from "./utils";
|
|
3
|
-
export
|
|
1
|
+
import { default as DynamoDbDriver } from "./DynamoDbDriver.js";
|
|
2
|
+
export * from "./utils/index.js";
|
|
3
|
+
export * from "./plugins/index.js";
|
|
4
|
+
export type { DbItem } from "./types.js";
|
|
4
5
|
export { DynamoDbDriver };
|
package/index.js
CHANGED
|
@@ -1,30 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
var _exportNames = {
|
|
8
|
-
DynamoDbDriver: true
|
|
9
|
-
};
|
|
10
|
-
Object.defineProperty(exports, "DynamoDbDriver", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _DynamoDbDriver.default;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
var _DynamoDbDriver = _interopRequireDefault(require("./DynamoDbDriver"));
|
|
17
|
-
var _utils = require("./utils");
|
|
18
|
-
Object.keys(_utils).forEach(function (key) {
|
|
19
|
-
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
21
|
-
if (key in exports && exports[key] === _utils[key]) return;
|
|
22
|
-
Object.defineProperty(exports, key, {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () {
|
|
25
|
-
return _utils[key];
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
});
|
|
1
|
+
import { default as DynamoDbDriver } from "./DynamoDbDriver.js";
|
|
2
|
+
export * from "./utils/index.js";
|
|
3
|
+
export * from "./plugins/index.js";
|
|
4
|
+
export { DynamoDbDriver };
|
|
29
5
|
|
|
30
6
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["default","DynamoDbDriver"],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver.js\";\n\nexport * from \"./utils/index.js\";\nexport * from \"./plugins/index.js\";\nexport type { DbItem } from \"./types.js\";\n\nexport { DynamoDbDriver };\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAAc;AAElC;AACA;AAGA,SAASA,cAAc","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/db-dynamodb",
|
|
3
|
-
"version": "6.0.0-
|
|
3
|
+
"version": "6.0.0-rc.0",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"main": "index.js",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
@@ -10,33 +11,30 @@
|
|
|
10
11
|
"author": "Webiny Ltd",
|
|
11
12
|
"license": "MIT",
|
|
12
13
|
"dependencies": {
|
|
13
|
-
"@webiny/api": "6.0.0-
|
|
14
|
-
"@webiny/aws-sdk": "6.0.0-
|
|
15
|
-
"@webiny/db": "6.0.0-
|
|
16
|
-
"@webiny/error": "6.0.0-
|
|
17
|
-
"@webiny/plugins": "6.0.0-
|
|
18
|
-
"@webiny/utils": "6.0.0-
|
|
19
|
-
"date-fns": "2.
|
|
14
|
+
"@webiny/api": "6.0.0-rc.0",
|
|
15
|
+
"@webiny/aws-sdk": "6.0.0-rc.0",
|
|
16
|
+
"@webiny/db": "6.0.0-rc.0",
|
|
17
|
+
"@webiny/error": "6.0.0-rc.0",
|
|
18
|
+
"@webiny/plugins": "6.0.0-rc.0",
|
|
19
|
+
"@webiny/utils": "6.0.0-rc.0",
|
|
20
|
+
"date-fns": "2.30.0",
|
|
20
21
|
"dot-prop": "6.0.1",
|
|
21
|
-
"dynamodb-toolbox": "0.9.
|
|
22
|
-
"fuse.js": "7.
|
|
23
|
-
"lodash": "4.17.
|
|
22
|
+
"dynamodb-toolbox": "0.9.5",
|
|
23
|
+
"fuse.js": "7.1.0",
|
|
24
|
+
"lodash": "4.17.23"
|
|
24
25
|
},
|
|
25
26
|
"devDependencies": {
|
|
26
27
|
"@types/is-number": "7.0.5",
|
|
27
|
-
"@webiny/
|
|
28
|
-
"
|
|
28
|
+
"@webiny/build-tools": "6.0.0-rc.0",
|
|
29
|
+
"@webiny/project-utils": "6.0.0-rc.0",
|
|
29
30
|
"jest-dynalite": "3.6.1",
|
|
30
|
-
"rimraf": "6.
|
|
31
|
-
"typescript": "5.
|
|
31
|
+
"rimraf": "6.1.3",
|
|
32
|
+
"typescript": "5.9.3",
|
|
33
|
+
"vitest": "4.0.18"
|
|
32
34
|
},
|
|
33
35
|
"publishConfig": {
|
|
34
36
|
"access": "public",
|
|
35
37
|
"directory": "dist"
|
|
36
38
|
},
|
|
37
|
-
"
|
|
38
|
-
"build": "node ../cli/bin.js run build",
|
|
39
|
-
"watch": "node ../cli/bin.js run watch"
|
|
40
|
-
},
|
|
41
|
-
"gitHead": "b7e120541b093e91f214904a9f13e4c2c4640978"
|
|
39
|
+
"gitHead": "0f2aa699f4642e550ab62c96fcd050e8d02345c9"
|
|
42
40
|
}
|