@webiny/db-dynamodb 5.41.4 → 5.42.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/DynamoDbDriver.d.ts +15 -1
  2. package/DynamoDbDriver.js +245 -0
  3. package/DynamoDbDriver.js.map +1 -1
  4. package/package.json +12 -14
  5. package/plugins/definitions/AttributePlugin.js.map +1 -1
  6. package/plugins/definitions/FieldPathPlugin.js.map +1 -1
  7. package/plugins/definitions/TimeTransformPlugin.js.map +1 -1
  8. package/plugins/definitions/ValueFilterPlugin.js.map +1 -1
  9. package/plugins/definitions/ValueTransformPlugin.js.map +1 -1
  10. package/plugins/filters/andIn.js.map +1 -1
  11. package/plugins/filters/contains.js.map +1 -1
  12. package/plugins/filters/in.js.map +1 -1
  13. package/store/entity.d.ts +78 -0
  14. package/store/entity.js +41 -0
  15. package/store/entity.js.map +1 -0
  16. package/store/keys.d.ts +6 -0
  17. package/store/keys.js +22 -0
  18. package/store/keys.js.map +1 -0
  19. package/store/types.d.ts +7 -0
  20. package/store/types.js +7 -0
  21. package/store/types.js.map +1 -0
  22. package/utils/batch/batchRead.js.map +1 -1
  23. package/utils/batch/batchWrite.d.ts +1 -1
  24. package/utils/batch/batchWrite.js.map +1 -1
  25. package/utils/cleanup.d.ts +2 -2
  26. package/utils/cleanup.js +1 -1
  27. package/utils/cleanup.js.map +1 -1
  28. package/utils/createTable.d.ts +3 -2
  29. package/utils/createTable.js.map +1 -1
  30. package/utils/entity/Entity.d.ts +2 -1
  31. package/utils/entity/Entity.js.map +1 -1
  32. package/utils/entity/EntityReadBatchBuilder.js.map +1 -1
  33. package/utils/entity/getEntity.js.map +1 -1
  34. package/utils/entity/types.d.ts +1 -1
  35. package/utils/entity/types.js.map +1 -1
  36. package/utils/filter.js.map +1 -1
  37. package/utils/put.d.ts +6 -5
  38. package/utils/put.js.map +1 -1
  39. package/utils/query.d.ts +8 -2
  40. package/utils/query.js +24 -2
  41. package/utils/query.js.map +1 -1
  42. package/utils/scan.js.map +1 -1
  43. package/utils/sort.js.map +1 -1
  44. package/utils/table/Table.d.ts +2 -1
  45. package/utils/table/Table.js +7 -3
  46. package/utils/table/Table.js.map +1 -1
  47. package/utils/table/TableReadBatch.js.map +1 -1
@@ -1,11 +1,25 @@
1
1
  import { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
2
- import { DbDriver } from "@webiny/db";
2
+ import { DbDriver, GetValueResult, GetValuesResult, IListValuesParams, ListValuesResult, RemoveValueResult, RemoveValuesResult, StorageKey, StoreValueResult, StoreValuesResult } from "@webiny/db";
3
+ import { Entity } from "dynamodb-toolbox";
4
+ import { Table } from "./utils/createTable";
5
+ import { GenericRecord } from "@webiny/api/types";
3
6
  interface ConstructorArgs {
4
7
  documentClient: DynamoDBDocument;
5
8
  }
6
9
  declare class DynamoDbDriver implements DbDriver<DynamoDBDocument> {
7
10
  readonly documentClient: DynamoDBDocument;
11
+ private _table;
12
+ private _entity;
13
+ table(): Table;
14
+ entity(): Entity;
8
15
  constructor({ documentClient }: ConstructorArgs);
9
16
  getClient(): DynamoDBDocument;
17
+ storeValue<V>(key: string, input: V): Promise<StoreValueResult<V>>;
18
+ storeValues<V extends GenericRecord<StorageKey>>(values: V): Promise<StoreValuesResult<V>>;
19
+ getValue<V>(key: StorageKey): Promise<GetValueResult<V>>;
20
+ getValues<V extends GenericRecord<StorageKey>>(input: (keyof V)[]): Promise<GetValuesResult<V>>;
21
+ listValues<V extends GenericRecord<StorageKey>>(params?: IListValuesParams): Promise<ListValuesResult<V>>;
22
+ removeValue<V>(key: StorageKey): Promise<RemoveValueResult<V>>;
23
+ removeValues<V extends GenericRecord<StorageKey>>(input: (keyof V)[]): Promise<RemoveValuesResult<V>>;
10
24
  }
11
25
  export default DynamoDbDriver;
package/DynamoDbDriver.js CHANGED
@@ -4,7 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
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");
7
11
  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
+ }
8
32
  constructor({
9
33
  documentClient
10
34
  }) {
@@ -13,6 +37,227 @@ class DynamoDbDriver {
13
37
  getClient() {
14
38
  return this.documentClient;
15
39
  }
40
+ async storeValue(key, input) {
41
+ let value;
42
+ try {
43
+ value = JSON.stringify(input);
44
+ } catch (ex) {
45
+ return {
46
+ key,
47
+ error: ex
48
+ };
49
+ }
50
+ try {
51
+ await (0, _utils.put)({
52
+ entity: this.entity(),
53
+ item: {
54
+ PK: (0, _keys.createPartitionKey)(),
55
+ SK: (0, _keys.createSortKey)({
56
+ key
57
+ }),
58
+ TYPE: (0, _keys.createType)(),
59
+ key,
60
+ value
61
+ }
62
+ });
63
+ return {
64
+ key,
65
+ data: input
66
+ };
67
+ } catch (ex) {
68
+ return {
69
+ key,
70
+ error: ex
71
+ };
72
+ }
73
+ }
74
+ async storeValues(values) {
75
+ const keys = Object.keys(values);
76
+ try {
77
+ const batch = keys.map(key => {
78
+ const input = values[key];
79
+ let value;
80
+ try {
81
+ value = JSON.stringify(input);
82
+ } catch (ex) {
83
+ throw ex;
84
+ }
85
+ const item = {
86
+ PK: (0, _keys.createPartitionKey)(),
87
+ SK: (0, _keys.createSortKey)({
88
+ key
89
+ }),
90
+ TYPE: (0, _keys.createType)(),
91
+ key,
92
+ value
93
+ };
94
+ return this.entity().putBatch(item);
95
+ });
96
+ await (0, _utils.batchWriteAll)({
97
+ table: this.table(),
98
+ items: batch
99
+ });
100
+ return {
101
+ keys,
102
+ data: values
103
+ };
104
+ } catch (ex) {
105
+ return {
106
+ keys,
107
+ error: ex
108
+ };
109
+ }
110
+ }
111
+ async getValue(key) {
112
+ try {
113
+ const result = await (0, _utils.get)({
114
+ entity: this.entity(),
115
+ keys: {
116
+ PK: (0, _keys.createPartitionKey)(),
117
+ SK: (0, _keys.createSortKey)({
118
+ key
119
+ })
120
+ }
121
+ });
122
+ return {
123
+ key,
124
+ data: result ? JSON.parse(result.value) : null
125
+ };
126
+ } catch (ex) {
127
+ return {
128
+ key,
129
+ error: ex
130
+ };
131
+ }
132
+ }
133
+ async getValues(input) {
134
+ const keys = [...input];
135
+ const batch = keys.map(key => {
136
+ return this.entity().getBatch({
137
+ PK: (0, _keys.createPartitionKey)(),
138
+ SK: (0, _keys.createSortKey)({
139
+ key
140
+ })
141
+ });
142
+ });
143
+ try {
144
+ const results = await (0, _utils.batchReadAll)({
145
+ table: this.table(),
146
+ items: batch
147
+ });
148
+ const data = keys.reduce((collection, key) => {
149
+ const result = results.find(item => {
150
+ return item.PK === (0, _keys.createPartitionKey)() && item.SK === (0, _keys.createSortKey)({
151
+ key
152
+ });
153
+ });
154
+ if (!result?.value) {
155
+ // @ts-expect-error
156
+ collection[key] = null;
157
+ return collection;
158
+ }
159
+ try {
160
+ // @ts-expect-error
161
+ collection[key] = JSON.parse(result.value);
162
+ } catch {
163
+ // @ts-expect-error
164
+ collection[key] = null;
165
+ }
166
+ return collection;
167
+ }, {});
168
+ return {
169
+ keys,
170
+ data
171
+ };
172
+ } catch (ex) {
173
+ return {
174
+ keys,
175
+ error: ex
176
+ };
177
+ }
178
+ }
179
+ async listValues(params) {
180
+ try {
181
+ const partitionKey = (0, _keys.createPartitionKey)();
182
+ const options = {
183
+ ...params
184
+ };
185
+ const results = await (0, _utils.queryAll)({
186
+ entity: this.entity(),
187
+ partitionKey,
188
+ options
189
+ });
190
+ const data = results.reduce((collection, item) => {
191
+ try {
192
+ // @ts-expect-error
193
+ collection[item.key] = JSON.parse(item.value);
194
+ } catch (ex) {
195
+ // @ts-expect-error
196
+ collection[item.key] = null;
197
+ }
198
+ return collection;
199
+ }, {});
200
+ return {
201
+ keys: Object.keys(data),
202
+ data
203
+ };
204
+ } catch (ex) {
205
+ return {
206
+ error: ex
207
+ };
208
+ }
209
+ }
210
+ async removeValue(key) {
211
+ const result = await this.getValue(key);
212
+ if (result.error) {
213
+ return {
214
+ key,
215
+ error: result.error
216
+ };
217
+ }
218
+ try {
219
+ await this.entity().delete({
220
+ PK: (0, _keys.createPartitionKey)(),
221
+ SK: (0, _keys.createSortKey)({
222
+ key
223
+ })
224
+ });
225
+ return {
226
+ key,
227
+ data: result.data
228
+ };
229
+ } catch (ex) {
230
+ return {
231
+ key,
232
+ error: ex
233
+ };
234
+ }
235
+ }
236
+ async removeValues(input) {
237
+ const keys = [...input];
238
+ const batch = keys.map(key => {
239
+ return this.entity().deleteBatch({
240
+ PK: (0, _keys.createPartitionKey)(),
241
+ SK: (0, _keys.createSortKey)({
242
+ key
243
+ })
244
+ });
245
+ });
246
+ try {
247
+ await (0, _utils.batchWriteAll)({
248
+ table: this.table(),
249
+ items: batch
250
+ });
251
+ return {
252
+ keys
253
+ };
254
+ } catch (ex) {
255
+ return {
256
+ keys,
257
+ error: ex
258
+ };
259
+ }
260
+ }
16
261
  }
17
262
  var _default = exports.default = DynamoDbDriver;
18
263
 
@@ -1 +1 @@
1
- {"version":3,"names":["DynamoDbDriver","constructor","documentClient","getClient","_default","exports","default"],"sources":["DynamoDbDriver.ts"],"sourcesContent":["import { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { DbDriver } from \"@webiny/db\";\n\ninterface ConstructorArgs {\n documentClient: DynamoDBDocument;\n}\n\nclass DynamoDbDriver implements DbDriver<DynamoDBDocument> {\n public readonly documentClient: DynamoDBDocument;\n constructor({ documentClient }: ConstructorArgs) {\n this.documentClient = documentClient;\n }\n\n getClient() {\n return this.documentClient;\n }\n}\n\nexport default DynamoDbDriver;\n"],"mappings":";;;;;;AAOA,MAAMA,cAAc,CAAuC;EAEvDC,WAAWA,CAAC;IAAEC;EAAgC,CAAC,EAAE;IAC7C,IAAI,CAACA,cAAc,GAAGA,cAAc;EACxC;EAEAC,SAASA,CAAA,EAAG;IACR,OAAO,IAAI,CAACD,cAAc;EAC9B;AACJ;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcN,cAAc","ignoreList":[]}
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 { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport {\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 { Entity } from \"dynamodb-toolbox\";\nimport { createTable, Table } from \"~/utils/createTable\";\nimport { 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 { 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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/db-dynamodb",
3
- "version": "5.41.4",
3
+ "version": "5.42.0-beta.1",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,12 +10,12 @@
10
10
  "author": "Webiny Ltd",
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@webiny/api": "5.41.4",
14
- "@webiny/aws-sdk": "5.41.4",
15
- "@webiny/db": "5.41.4",
16
- "@webiny/error": "5.41.4",
17
- "@webiny/plugins": "5.41.4",
18
- "@webiny/utils": "5.41.4",
13
+ "@webiny/api": "5.42.0-beta.1",
14
+ "@webiny/aws-sdk": "5.42.0-beta.1",
15
+ "@webiny/db": "5.42.0-beta.1",
16
+ "@webiny/error": "5.42.0-beta.1",
17
+ "@webiny/plugins": "5.42.0-beta.1",
18
+ "@webiny/utils": "5.42.0-beta.1",
19
19
  "date-fns": "2.29.3",
20
20
  "dot-prop": "6.0.1",
21
21
  "dynamodb-toolbox": "0.9.2",
@@ -23,14 +23,12 @@
23
23
  "lodash": "4.17.21"
24
24
  },
25
25
  "devDependencies": {
26
- "@babel/cli": "7.24.1",
27
- "@babel/core": "7.24.3",
28
- "@types/is-number": "7.0.3",
29
- "@webiny/cli": "5.41.4",
30
- "@webiny/project-utils": "5.41.4",
26
+ "@types/is-number": "7.0.5",
27
+ "@webiny/cli": "5.42.0-beta.1",
28
+ "@webiny/project-utils": "5.42.0-beta.1",
31
29
  "jest": "29.7.0",
32
30
  "jest-dynalite": "3.6.1",
33
- "rimraf": "5.0.5",
31
+ "rimraf": "6.0.1",
34
32
  "ttypescript": "1.5.15",
35
33
  "typescript": "4.9.5"
36
34
  },
@@ -42,5 +40,5 @@
42
40
  "build": "yarn webiny run build",
43
41
  "watch": "yarn webiny run watch"
44
42
  },
45
- "gitHead": "94922b33af59db5afe75127bb07443ce7f1448c4"
43
+ "gitHead": "5e69da579efa4f2c8268e0c97ac6407ddc3f5f07"
46
44
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_plugins","reservedFields","AttributePlugin","Plugin","type","entity","_entity","attribute","_attribute","constructor","params","validateReserved","_params","getDefinition","includes","WebinyError","exports"],"sources":["AttributePlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Plugin } from \"@webiny/plugins\";\nimport { AttributeDefinition } from \"~/toolbox\";\n\nconst reservedFields = [\"PK\", \"SK\", \"index\", \"data\"];\n\nexport interface AttributePluginParams {\n entity: string;\n attribute: string;\n params: AttributeDefinition;\n}\n\nexport abstract class AttributePlugin extends Plugin {\n public static override readonly type: string = \"db.dynamodb.attribute\";\n private readonly _entity: string;\n private readonly _attribute: string;\n private readonly _params: AttributeDefinition;\n\n public get entity(): string {\n return this._entity;\n }\n\n public get attribute(): string {\n return this._attribute;\n }\n\n public constructor({ entity, attribute, params }: AttributePluginParams) {\n super();\n\n this.validateReserved(attribute);\n\n this._entity = entity;\n this._attribute = attribute;\n this._params = params;\n }\n\n public getDefinition(): Record<string, AttributeDefinition> {\n return {\n [this.attribute]: this._params\n };\n }\n\n private validateReserved(attribute: string): void {\n if (reservedFields.includes(attribute) === false) {\n return;\n }\n throw new WebinyError(\n `Attribute name \"${attribute}\" is not allowed.`,\n \"ATTRIBUTE_NOT_ALLOWED\",\n {\n attribute\n }\n );\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGA,MAAME,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;AAQ7C,MAAeC,eAAe,SAASC,eAAM,CAAC;EACjD,OAAgCC,IAAI,GAAW,uBAAuB;EAKtE,IAAWC,MAAMA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACC,OAAO;EACvB;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACC,UAAU;EAC1B;EAEOC,WAAWA,CAAC;IAAEJ,MAAM;IAAEE,SAAS;IAAEG;EAA8B,CAAC,EAAE;IACrE,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,gBAAgB,CAACJ,SAAS,CAAC;IAEhC,IAAI,CAACD,OAAO,GAAGD,MAAM;IACrB,IAAI,CAACG,UAAU,GAAGD,SAAS;IAC3B,IAAI,CAACK,OAAO,GAAGF,MAAM;EACzB;EAEOG,aAAaA,CAAA,EAAwC;IACxD,OAAO;MACH,CAAC,IAAI,CAACN,SAAS,GAAG,IAAI,CAACK;IAC3B,CAAC;EACL;EAEQD,gBAAgBA,CAACJ,SAAiB,EAAQ;IAC9C,IAAIN,cAAc,CAACa,QAAQ,CAACP,SAAS,CAAC,KAAK,KAAK,EAAE;MAC9C;IACJ;IACA,MAAM,IAAIQ,cAAW,CAChB,mBAAkBR,SAAU,mBAAkB,EAC/C,uBAAuB,EACvB;MACIA;IACJ,CACJ,CAAC;EACL;AACJ;AAACS,OAAA,CAAAd,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_plugins","reservedFields","AttributePlugin","Plugin","type","entity","_entity","attribute","_attribute","constructor","params","validateReserved","_params","getDefinition","includes","WebinyError","exports"],"sources":["AttributePlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Plugin } from \"@webiny/plugins\";\nimport { AttributeDefinition } from \"~/toolbox\";\n\nconst reservedFields = [\"PK\", \"SK\", \"index\", \"data\"];\n\nexport interface AttributePluginParams {\n entity: string;\n attribute: string;\n params: AttributeDefinition;\n}\n\nexport abstract class AttributePlugin extends Plugin {\n public static override readonly type: string = \"db.dynamodb.attribute\";\n private readonly _entity: string;\n private readonly _attribute: string;\n private readonly _params: AttributeDefinition;\n\n public get entity(): string {\n return this._entity;\n }\n\n public get attribute(): string {\n return this._attribute;\n }\n\n public constructor({ entity, attribute, params }: AttributePluginParams) {\n super();\n\n this.validateReserved(attribute);\n\n this._entity = entity;\n this._attribute = attribute;\n this._params = params;\n }\n\n public getDefinition(): Record<string, AttributeDefinition> {\n return {\n [this.attribute]: this._params\n };\n }\n\n private validateReserved(attribute: string): void {\n if (reservedFields.includes(attribute) === false) {\n return;\n }\n throw new WebinyError(\n `Attribute name \"${attribute}\" is not allowed.`,\n \"ATTRIBUTE_NOT_ALLOWED\",\n {\n attribute\n }\n );\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGA,MAAME,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;AAQ7C,MAAeC,eAAe,SAASC,eAAM,CAAC;EACjD,OAAgCC,IAAI,GAAW,uBAAuB;EAKtE,IAAWC,MAAMA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACC,OAAO;EACvB;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACC,UAAU;EAC1B;EAEOC,WAAWA,CAAC;IAAEJ,MAAM;IAAEE,SAAS;IAAEG;EAA8B,CAAC,EAAE;IACrE,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,gBAAgB,CAACJ,SAAS,CAAC;IAEhC,IAAI,CAACD,OAAO,GAAGD,MAAM;IACrB,IAAI,CAACG,UAAU,GAAGD,SAAS;IAC3B,IAAI,CAACK,OAAO,GAAGF,MAAM;EACzB;EAEOG,aAAaA,CAAA,EAAwC;IACxD,OAAO;MACH,CAAC,IAAI,CAACN,SAAS,GAAG,IAAI,CAACK;IAC3B,CAAC;EACL;EAEQD,gBAAgBA,CAACJ,SAAiB,EAAQ;IAC9C,IAAIN,cAAc,CAACa,QAAQ,CAACP,SAAS,CAAC,KAAK,KAAK,EAAE;MAC9C;IACJ;IACA,MAAM,IAAIQ,cAAW,CACjB,mBAAmBR,SAAS,mBAAmB,EAC/C,uBAAuB,EACvB;MACIA;IACJ,CACJ,CAAC;EACL;AACJ;AAACS,OAAA,CAAAd,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","_assignFields","FieldPathPlugin","Plugin","type","constructor","params","_params","fields","assignFields","canCreate","field","includes","createPath","WebinyError","exports"],"sources":["FieldPathPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface CreatePath {\n (field: string): string;\n}\nexport interface FieldPathPluginParams {\n /**\n * Which field(s) is this plugin for.\n */\n fields: string | string[];\n /**\n * Create a path for given field.\n * Field is passed because it can be a multi-field plugin.\n */\n createPath: CreatePath;\n}\n\nexport class FieldPathPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.path\";\n private readonly _params: Omit<FieldPathPluginParams, \"fields\"> & { fields: string[] };\n\n public constructor(params: FieldPathPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canCreate(field: string): boolean {\n return this._params.fields.includes(field);\n }\n\n public createPath(field: string): string {\n if (!this._params.createPath) {\n throw new WebinyError(`Missing \"createPath\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.createPath(field);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAiBO,MAAMI,eAAe,SAASC,eAAM,CAAC;EACxC,OAAgCC,IAAI,GAAW,qBAAqB;EAG7DC,WAAWA,CAACC,MAA6B,EAAE;IAC9C,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAG;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE,IAAAC,0BAAY,EAACH,MAAM,CAACE,MAAM;IACtC,CAAC;EACL;EAEOE,SAASA,CAACC,KAAa,EAAW;IACrC,OAAO,IAAI,CAACJ,OAAO,CAACC,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;EAC9C;EAEOE,UAAUA,CAACF,KAAa,EAAU;IACrC,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACM,UAAU,EAAE;MAC1B,MAAM,IAAIC,cAAW,CAAE,qCAAoC,EAAE,iBAAiB,EAAE;QAC5EN,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACM,UAAU,CAACF,KAAK,CAAC;EACzC;AACJ;AAACI,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","_assignFields","FieldPathPlugin","Plugin","type","constructor","params","_params","fields","assignFields","canCreate","field","includes","createPath","WebinyError","exports"],"sources":["FieldPathPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface CreatePath {\n (field: string): string;\n}\nexport interface FieldPathPluginParams {\n /**\n * Which field(s) is this plugin for.\n */\n fields: string | string[];\n /**\n * Create a path for given field.\n * Field is passed because it can be a multi-field plugin.\n */\n createPath: CreatePath;\n}\n\nexport class FieldPathPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.path\";\n private readonly _params: Omit<FieldPathPluginParams, \"fields\"> & { fields: string[] };\n\n public constructor(params: FieldPathPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canCreate(field: string): boolean {\n return this._params.fields.includes(field);\n }\n\n public createPath(field: string): string {\n if (!this._params.createPath) {\n throw new WebinyError(`Missing \"createPath\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.createPath(field);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAiBO,MAAMI,eAAe,SAASC,eAAM,CAAC;EACxC,OAAgCC,IAAI,GAAW,qBAAqB;EAG7DC,WAAWA,CAACC,MAA6B,EAAE;IAC9C,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAG;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE,IAAAC,0BAAY,EAACH,MAAM,CAACE,MAAM;IACtC,CAAC;EACL;EAEOE,SAASA,CAACC,KAAa,EAAW;IACrC,OAAO,IAAI,CAACJ,OAAO,CAACC,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;EAC9C;EAEOE,UAAUA,CAACF,KAAa,EAAU;IACrC,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACM,UAAU,EAAE;MAC1B,MAAM,IAAIC,cAAW,CAAC,qCAAqC,EAAE,iBAAiB,EAAE;QAC5EN,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACM,UAAU,CAACF,KAAK,CAAC;EACzC;AACJ;AAACI,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ValueTransformPlugin","require","_error","_interopRequireDefault","transformTime","params","value","undefined","WebinyError","Array","isArray","converted","Number","isNaN","time","milliseconds","split","values","map","length","hours","minutes","seconds","TimeTransformPlugin","ValueTransformPlugin","constructor","transform","exports"],"sources":["TimeTransformPlugin.ts"],"sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\n\nconst transformTime = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n if (value === undefined || value === null) {\n throw new WebinyError(`Time value is null or undefined.`, \"TIME_PARSE_ERROR\", {\n value\n });\n } else if (typeof value === \"boolean\" || value === \"\" || Array.isArray(value)) {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n const converted = Number(`${value}`);\n if (typeof value === \"number\" || isNaN(converted) === false) {\n return Number(value);\n } else if (typeof value !== \"string\") {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n /**\n * This is for the time format, eg. 12:36:25 or 12:36:25.881\n */\n const [time, milliseconds = 0] = value.split(\".\");\n const values = time.split(\":\").map(Number);\n if (values.length < 2) {\n throw new WebinyError(\"Time must contain at least hours and minutes.\", \"TIME_PARSE_ERROR\", {\n value\n });\n }\n const [hours, minutes, seconds = 0] = values;\n return (hours * 60 * 60 + minutes * 60 + seconds) * 1000 + Number(milliseconds);\n};\n\nexport class TimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformTime,\n ...params\n });\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,MAAMG,aAAa,GAAIC,MAAiD,IAAa;EACjF,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,IAAIC,KAAK,KAAKC,SAAS,IAAID,KAAK,KAAK,IAAI,EAAE;IACvC,MAAM,IAAIE,cAAW,CAAE,kCAAiC,EAAE,kBAAkB,EAAE;MAC1EF;IACJ,CAAC,CAAC;EACN,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,SAAS,IAAIA,KAAK,KAAK,EAAE,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;IAC3E,MAAM,IAAIE,cAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIF;IACJ,CACJ,CAAC;EACL;EACA,MAAMK,SAAS,GAAGC,MAAM,CAAE,GAAEN,KAAM,EAAC,CAAC;EACpC,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIO,KAAK,CAACF,SAAS,CAAC,KAAK,KAAK,EAAE;IACzD,OAAOC,MAAM,CAACN,KAAK,CAAC;EACxB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAClC,MAAM,IAAIE,cAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIF;IACJ,CACJ,CAAC;EACL;EACA;AACJ;AACA;EACI,MAAM,CAACQ,IAAI,EAAEC,YAAY,GAAG,CAAC,CAAC,GAAGT,KAAK,CAACU,KAAK,CAAC,GAAG,CAAC;EACjD,MAAMC,MAAM,GAAGH,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAACE,GAAG,CAACN,MAAM,CAAC;EAC1C,IAAIK,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;IACnB,MAAM,IAAIX,cAAW,CAAC,+CAA+C,EAAE,kBAAkB,EAAE;MACvFF;IACJ,CAAC,CAAC;EACN;EACA,MAAM,CAACc,KAAK,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,GAAGL,MAAM;EAC5C,OAAO,CAACG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGC,OAAO,GAAG,EAAE,GAAGC,OAAO,IAAI,IAAI,GAAGV,MAAM,CAACG,YAAY,CAAC;AACnF,CAAC;AAEM,MAAMQ,mBAAmB,SAASC,0CAAoB,CAAC;EACnDC,WAAWA,CAACpB,MAAqD,EAAE;IACtE,KAAK,CAAC;MACFqB,SAAS,EAAEtB,aAAa;MACxB,GAAGC;IACP,CAAC,CAAC;EACN;AACJ;AAACsB,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ValueTransformPlugin","require","_error","_interopRequireDefault","transformTime","params","value","undefined","WebinyError","Array","isArray","converted","Number","isNaN","time","milliseconds","split","values","map","length","hours","minutes","seconds","TimeTransformPlugin","ValueTransformPlugin","constructor","transform","exports"],"sources":["TimeTransformPlugin.ts"],"sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\n\nconst transformTime = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n if (value === undefined || value === null) {\n throw new WebinyError(`Time value is null or undefined.`, \"TIME_PARSE_ERROR\", {\n value\n });\n } else if (typeof value === \"boolean\" || value === \"\" || Array.isArray(value)) {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n const converted = Number(`${value}`);\n if (typeof value === \"number\" || isNaN(converted) === false) {\n return Number(value);\n } else if (typeof value !== \"string\") {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n /**\n * This is for the time format, eg. 12:36:25 or 12:36:25.881\n */\n const [time, milliseconds = 0] = value.split(\".\");\n const values = time.split(\":\").map(Number);\n if (values.length < 2) {\n throw new WebinyError(\"Time must contain at least hours and minutes.\", \"TIME_PARSE_ERROR\", {\n value\n });\n }\n const [hours, minutes, seconds = 0] = values;\n return (hours * 60 * 60 + minutes * 60 + seconds) * 1000 + Number(milliseconds);\n};\n\nexport class TimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformTime,\n ...params\n });\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,MAAMG,aAAa,GAAIC,MAAiD,IAAa;EACjF,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,IAAIC,KAAK,KAAKC,SAAS,IAAID,KAAK,KAAK,IAAI,EAAE;IACvC,MAAM,IAAIE,cAAW,CAAC,kCAAkC,EAAE,kBAAkB,EAAE;MAC1EF;IACJ,CAAC,CAAC;EACN,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,SAAS,IAAIA,KAAK,KAAK,EAAE,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;IAC3E,MAAM,IAAIE,cAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIF;IACJ,CACJ,CAAC;EACL;EACA,MAAMK,SAAS,GAAGC,MAAM,CAAC,GAAGN,KAAK,EAAE,CAAC;EACpC,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIO,KAAK,CAACF,SAAS,CAAC,KAAK,KAAK,EAAE;IACzD,OAAOC,MAAM,CAACN,KAAK,CAAC;EACxB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAClC,MAAM,IAAIE,cAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIF;IACJ,CACJ,CAAC;EACL;EACA;AACJ;AACA;EACI,MAAM,CAACQ,IAAI,EAAEC,YAAY,GAAG,CAAC,CAAC,GAAGT,KAAK,CAACU,KAAK,CAAC,GAAG,CAAC;EACjD,MAAMC,MAAM,GAAGH,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAACE,GAAG,CAACN,MAAM,CAAC;EAC1C,IAAIK,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;IACnB,MAAM,IAAIX,cAAW,CAAC,+CAA+C,EAAE,kBAAkB,EAAE;MACvFF;IACJ,CAAC,CAAC;EACN;EACA,MAAM,CAACc,KAAK,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,GAAGL,MAAM;EAC5C,OAAO,CAACG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGC,OAAO,GAAG,EAAE,GAAGC,OAAO,IAAI,IAAI,GAAGV,MAAM,CAACG,YAAY,CAAC;AACnF,CAAC;AAEM,MAAMQ,mBAAmB,SAASC,0CAAoB,CAAC;EACnDC,WAAWA,CAACpB,MAAqD,EAAE;IACtE,KAAK,CAAC;MACFqB,SAAS,EAAEtB,aAAa;MACxB,GAAGC;IACP,CAAC,CAAC;EACN;AACJ;AAACsB,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","ValueFilterPlugin","Plugin","type","operation","getOperation","constructor","params","_params","canUse","matches","WebinyError","plugin","exports"],"sources":["ValueFilterPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\n\nexport interface ValueFilterPluginParamsMatchesParams<V = any, C = any> {\n value: V;\n compareValue: C;\n}\n\nexport interface ValueFilterPluginParamsMatches {\n (params: ValueFilterPluginParamsMatchesParams): boolean;\n}\n\nexport interface ValueFilterPluginParams {\n operation: string;\n canUse?: (params: ValueFilterPluginParamsMatchesParams) => boolean;\n matches: ValueFilterPluginParamsMatches;\n}\nexport class ValueFilterPlugin<V = any, C = any> extends Plugin {\n public static override readonly type: string = \"dynamodb.value.filter\";\n private readonly _params: ValueFilterPluginParams;\n\n public get operation(): string {\n return this.getOperation();\n }\n\n public constructor(params: ValueFilterPluginParams) {\n super();\n this._params = params;\n }\n\n public canUse(params: ValueFilterPluginParamsMatchesParams<V, C>): boolean {\n if (!this._params.canUse) {\n return true;\n }\n return this._params.canUse(params);\n }\n\n public matches(params: ValueFilterPluginParamsMatchesParams): boolean {\n if (!this._params || !this._params.matches) {\n throw new WebinyError(`Missing \"matches\" in the plugin.`, \"MATCHES_ERROR\", {\n plugin: this,\n params\n });\n }\n return this._params.matches(params);\n }\n\n public getOperation(): string {\n if (!this._params || !this._params.operation) {\n throw new WebinyError(`Missing \"operation\" in the plugin.`, \"OPERATION_ERROR\");\n }\n return this._params.operation;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAgBO,MAAMG,iBAAiB,SAA2BC,eAAM,CAAC;EAC5D,OAAgCC,IAAI,GAAW,uBAAuB;EAGtE,IAAWC,SAASA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACC,YAAY,CAAC,CAAC;EAC9B;EAEOC,WAAWA,CAACC,MAA+B,EAAE;IAChD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAGD,MAAM;EACzB;EAEOE,MAAMA,CAACF,MAAkD,EAAW;IACvE,IAAI,CAAC,IAAI,CAACC,OAAO,CAACC,MAAM,EAAE;MACtB,OAAO,IAAI;IACf;IACA,OAAO,IAAI,CAACD,OAAO,CAACC,MAAM,CAACF,MAAM,CAAC;EACtC;EAEOG,OAAOA,CAACH,MAA4C,EAAW;IAClE,IAAI,CAAC,IAAI,CAACC,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACE,OAAO,EAAE;MACxC,MAAM,IAAIC,cAAW,CAAE,kCAAiC,EAAE,eAAe,EAAE;QACvEC,MAAM,EAAE,IAAI;QACZL;MACJ,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACC,OAAO,CAACE,OAAO,CAACH,MAAM,CAAC;EACvC;EAEOF,YAAYA,CAAA,EAAW;IAC1B,IAAI,CAAC,IAAI,CAACG,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACJ,SAAS,EAAE;MAC1C,MAAM,IAAIO,cAAW,CAAE,oCAAmC,EAAE,iBAAiB,CAAC;IAClF;IACA,OAAO,IAAI,CAACH,OAAO,CAACJ,SAAS;EACjC;AACJ;AAACS,OAAA,CAAAZ,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","ValueFilterPlugin","Plugin","type","operation","getOperation","constructor","params","_params","canUse","matches","WebinyError","plugin","exports"],"sources":["ValueFilterPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\n\nexport interface ValueFilterPluginParamsMatchesParams<V = any, C = any> {\n value: V;\n compareValue: C;\n}\n\nexport interface ValueFilterPluginParamsMatches {\n (params: ValueFilterPluginParamsMatchesParams): boolean;\n}\n\nexport interface ValueFilterPluginParams {\n operation: string;\n canUse?: (params: ValueFilterPluginParamsMatchesParams) => boolean;\n matches: ValueFilterPluginParamsMatches;\n}\nexport class ValueFilterPlugin<V = any, C = any> extends Plugin {\n public static override readonly type: string = \"dynamodb.value.filter\";\n private readonly _params: ValueFilterPluginParams;\n\n public get operation(): string {\n return this.getOperation();\n }\n\n public constructor(params: ValueFilterPluginParams) {\n super();\n this._params = params;\n }\n\n public canUse(params: ValueFilterPluginParamsMatchesParams<V, C>): boolean {\n if (!this._params.canUse) {\n return true;\n }\n return this._params.canUse(params);\n }\n\n public matches(params: ValueFilterPluginParamsMatchesParams): boolean {\n if (!this._params || !this._params.matches) {\n throw new WebinyError(`Missing \"matches\" in the plugin.`, \"MATCHES_ERROR\", {\n plugin: this,\n params\n });\n }\n return this._params.matches(params);\n }\n\n public getOperation(): string {\n if (!this._params || !this._params.operation) {\n throw new WebinyError(`Missing \"operation\" in the plugin.`, \"OPERATION_ERROR\");\n }\n return this._params.operation;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAgBO,MAAMG,iBAAiB,SAA2BC,eAAM,CAAC;EAC5D,OAAgCC,IAAI,GAAW,uBAAuB;EAGtE,IAAWC,SAASA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACC,YAAY,CAAC,CAAC;EAC9B;EAEOC,WAAWA,CAACC,MAA+B,EAAE;IAChD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAGD,MAAM;EACzB;EAEOE,MAAMA,CAACF,MAAkD,EAAW;IACvE,IAAI,CAAC,IAAI,CAACC,OAAO,CAACC,MAAM,EAAE;MACtB,OAAO,IAAI;IACf;IACA,OAAO,IAAI,CAACD,OAAO,CAACC,MAAM,CAACF,MAAM,CAAC;EACtC;EAEOG,OAAOA,CAACH,MAA4C,EAAW;IAClE,IAAI,CAAC,IAAI,CAACC,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACE,OAAO,EAAE;MACxC,MAAM,IAAIC,cAAW,CAAC,kCAAkC,EAAE,eAAe,EAAE;QACvEC,MAAM,EAAE,IAAI;QACZL;MACJ,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACC,OAAO,CAACE,OAAO,CAACH,MAAM,CAAC;EACvC;EAEOF,YAAYA,CAAA,EAAW;IAC1B,IAAI,CAAC,IAAI,CAACG,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACJ,SAAS,EAAE;MAC1C,MAAM,IAAIO,cAAW,CAAC,oCAAoC,EAAE,iBAAiB,CAAC;IAClF;IACA,OAAO,IAAI,CAACH,OAAO,CAACJ,SAAS;EACjC;AACJ;AAACS,OAAA,CAAAZ,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","_assignFields","ValueTransformPlugin","Plugin","type","constructor","params","_params","fields","assignFields","canTransform","field","includes","transform","WebinyError","exports"],"sources":["ValueTransformPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface ValueTransformPluginParamsTransformParams {\n value: Date | string | null | undefined;\n}\nexport interface ValueTransformPluginParamsTransform {\n (params: ValueTransformPluginParamsTransformParams): any;\n}\nexport interface CanTransform {\n (field: string): boolean;\n}\nexport interface ValueTransformPluginParams {\n fields: string[];\n transform: ValueTransformPluginParamsTransform;\n canTransform?: CanTransform;\n}\n\nexport class ValueTransformPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.transform\";\n\n private readonly _params: ValueTransformPluginParams;\n\n public constructor(params: ValueTransformPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canTransform(field: string): boolean {\n if (!this._params.canTransform) {\n return this._params.fields.includes(field);\n }\n return this._params.canTransform(field);\n }\n\n public transform(params: ValueTransformPluginParamsTransformParams): any {\n if (!this._params.transform) {\n throw new WebinyError(`Missing \"transform\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.transform(params);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAiBO,MAAMI,oBAAoB,SAASC,eAAM,CAAC;EAC7C,OAAgCC,IAAI,GAAW,0BAA0B;EAIlEC,WAAWA,CAACC,MAAkC,EAAE;IACnD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAG;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE,IAAAC,0BAAY,EAACH,MAAM,CAACE,MAAM;IACtC,CAAC;EACL;EAEOE,YAAYA,CAACC,KAAa,EAAW;IACxC,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACG,YAAY,EAAE;MAC5B,OAAO,IAAI,CAACH,OAAO,CAACC,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;IAC9C;IACA,OAAO,IAAI,CAACJ,OAAO,CAACG,YAAY,CAACC,KAAK,CAAC;EAC3C;EAEOE,SAASA,CAACP,MAAiD,EAAO;IACrE,IAAI,CAAC,IAAI,CAACC,OAAO,CAACM,SAAS,EAAE;MACzB,MAAM,IAAIC,cAAW,CAAE,oCAAmC,EAAE,iBAAiB,EAAE;QAC3EN,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACM,SAAS,CAACP,MAAM,CAAC;EACzC;AACJ;AAACS,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","_assignFields","ValueTransformPlugin","Plugin","type","constructor","params","_params","fields","assignFields","canTransform","field","includes","transform","WebinyError","exports"],"sources":["ValueTransformPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface ValueTransformPluginParamsTransformParams {\n value: Date | string | null | undefined;\n}\nexport interface ValueTransformPluginParamsTransform {\n (params: ValueTransformPluginParamsTransformParams): any;\n}\nexport interface CanTransform {\n (field: string): boolean;\n}\nexport interface ValueTransformPluginParams {\n fields: string[];\n transform: ValueTransformPluginParamsTransform;\n canTransform?: CanTransform;\n}\n\nexport class ValueTransformPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.transform\";\n\n private readonly _params: ValueTransformPluginParams;\n\n public constructor(params: ValueTransformPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canTransform(field: string): boolean {\n if (!this._params.canTransform) {\n return this._params.fields.includes(field);\n }\n return this._params.canTransform(field);\n }\n\n public transform(params: ValueTransformPluginParamsTransformParams): any {\n if (!this._params.transform) {\n throw new WebinyError(`Missing \"transform\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.transform(params);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAiBO,MAAMI,oBAAoB,SAASC,eAAM,CAAC;EAC7C,OAAgCC,IAAI,GAAW,0BAA0B;EAIlEC,WAAWA,CAACC,MAAkC,EAAE;IACnD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAG;MACX,GAAGD,MAAM;MACTE,MAAM,EAAE,IAAAC,0BAAY,EAACH,MAAM,CAACE,MAAM;IACtC,CAAC;EACL;EAEOE,YAAYA,CAACC,KAAa,EAAW;IACxC,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACG,YAAY,EAAE;MAC5B,OAAO,IAAI,CAACH,OAAO,CAACC,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;IAC9C;IACA,OAAO,IAAI,CAACJ,OAAO,CAACG,YAAY,CAACC,KAAK,CAAC;EAC3C;EAEOE,SAASA,CAACP,MAAiD,EAAO;IACrE,IAAI,CAAC,IAAI,CAACC,OAAO,CAACM,SAAS,EAAE;MACzB,MAAM,IAAIC,cAAW,CAAC,oCAAoC,EAAE,iBAAiB,EAAE;QAC3EN,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACM,SAAS,CAACP,MAAM,CAAC;EACzC;AACJ;AAACS,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ValueFilterPlugin","require","_error","_interopRequireDefault","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes","name","_default","exports","default"],"sources":["andIn.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nconst plugin = new ValueFilterPlugin({\n operation: \"and_in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.every(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n\nplugin.name = \"dynamodb.value.filter.and_in\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAOA,MAAMG,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,QAAQ;EACnBC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAA4B,CAAC,KAAK;IACjD,IAAI,CAACA,YAAY,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,KAAK,EAAE;MACxD,MAAM,IAAIG,cAAW,CAChB,qDAAoD,EACrD,qBAAqB,EACrB;QACIJ,KAAK;QACLC;MACJ,CACJ,CAAC;IACL;IACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOC,YAAY,CAACI,KAAK,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACrD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACY,IAAI,GAAG,8BAA8B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE9Bf,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["_ValueFilterPlugin","require","_error","_interopRequireDefault","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes","name","_default","exports","default"],"sources":["andIn.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nconst plugin = new ValueFilterPlugin({\n operation: \"and_in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.every(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n\nplugin.name = \"dynamodb.value.filter.and_in\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAOA,MAAMG,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,QAAQ;EACnBC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAA4B,CAAC,KAAK;IACjD,IAAI,CAACA,YAAY,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,KAAK,EAAE;MACxD,MAAM,IAAIG,cAAW,CACjB,qDAAqD,EACrD,qBAAqB,EACrB;QACIJ,KAAK;QACLC;MACJ,CACJ,CAAC;IACL;IACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOC,YAAY,CAACI,KAAK,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACrD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACY,IAAI,GAAG,8BAA8B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE9Bf,MAAM","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ValueFilterPlugin","require","createValues","initialValue","values","Array","isArray","filter","Boolean","createCompareValues","value","replace","trim","split","val","length","plugin","ValueFilterPlugin","operation","matches","compareValue","initialCompareValue","undefined","compareValues","some","target","every","match","RegExp","name","_default","exports","default"],"sources":["contains.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst createValues = (initialValue: string | string[]) => {\n const values = Array.isArray(initialValue) ? initialValue : [initialValue];\n\n return values.filter(Boolean);\n};\n\nconst createCompareValues = (value: string) => {\n return value\n .replace(/\\s+/g, \" \")\n .trim()\n .replace(/\\?/g, `\\\\?`)\n .replace(/\\//g, `\\\\/`)\n .replace(/:/g, ``)\n .replace(/\\-/g, `\\\\-`)\n .split(\" \")\n .filter(val => {\n return val.length > 0;\n });\n};\n\nconst plugin = new ValueFilterPlugin({\n operation: \"contains\",\n matches: ({ value: initialValue, compareValue: initialCompareValue }) => {\n if (!initialValue || (Array.isArray(initialValue) && initialValue.length === 0)) {\n return false;\n } else if (initialCompareValue === undefined || initialCompareValue === null) {\n return true;\n }\n const values = createValues(initialValue);\n const compareValues = createCompareValues(initialCompareValue);\n return values.some(target => {\n return compareValues.every(compareValue => {\n return target.match(new RegExp(compareValue, \"gi\")) !== null;\n });\n });\n }\n});\n\nplugin.name = \"dynamodb.value.filter.contains\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,MAAMC,YAAY,GAAIC,YAA+B,IAAK;EACtD,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC;EAE1E,OAAOC,MAAM,CAACG,MAAM,CAACC,OAAO,CAAC;AACjC,CAAC;AAED,MAAMC,mBAAmB,GAAIC,KAAa,IAAK;EAC3C,OAAOA,KAAK,CACPC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBC,IAAI,CAAC,CAAC,CACND,OAAO,CAAC,KAAK,EAAG,KAAI,CAAC,CACrBA,OAAO,CAAC,KAAK,EAAG,KAAI,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAG,EAAC,CAAC,CACjBA,OAAO,CAAC,KAAK,EAAG,KAAI,CAAC,CACrBE,KAAK,CAAC,GAAG,CAAC,CACVN,MAAM,CAACO,GAAG,IAAI;IACX,OAAOA,GAAG,CAACC,MAAM,GAAG,CAAC;EACzB,CAAC,CAAC;AACV,CAAC;AAED,MAAMC,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,UAAU;EACrBC,OAAO,EAAEA,CAAC;IAAET,KAAK,EAAEP,YAAY;IAAEiB,YAAY,EAAEC;EAAoB,CAAC,KAAK;IACrE,IAAI,CAAClB,YAAY,IAAKE,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,IAAIA,YAAY,CAACY,MAAM,KAAK,CAAE,EAAE;MAC7E,OAAO,KAAK;IAChB,CAAC,MAAM,IAAIM,mBAAmB,KAAKC,SAAS,IAAID,mBAAmB,KAAK,IAAI,EAAE;MAC1E,OAAO,IAAI;IACf;IACA,MAAMjB,MAAM,GAAGF,YAAY,CAACC,YAAY,CAAC;IACzC,MAAMoB,aAAa,GAAGd,mBAAmB,CAACY,mBAAmB,CAAC;IAC9D,OAAOjB,MAAM,CAACoB,IAAI,CAACC,MAAM,IAAI;MACzB,OAAOF,aAAa,CAACG,KAAK,CAACN,YAAY,IAAI;QACvC,OAAOK,MAAM,CAACE,KAAK,CAAC,IAAIC,MAAM,CAACR,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;MAChE,CAAC,CAAC;IACN,CAAC,CAAC;EACN;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACa,IAAI,GAAG,gCAAgC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEhChB,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["_ValueFilterPlugin","require","createValues","initialValue","values","Array","isArray","filter","Boolean","createCompareValues","value","replace","trim","split","val","length","plugin","ValueFilterPlugin","operation","matches","compareValue","initialCompareValue","undefined","compareValues","some","target","every","match","RegExp","name","_default","exports","default"],"sources":["contains.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst createValues = (initialValue: string | string[]) => {\n const values = Array.isArray(initialValue) ? initialValue : [initialValue];\n\n return values.filter(Boolean);\n};\n\nconst createCompareValues = (value: string) => {\n return value\n .replace(/\\s+/g, \" \")\n .trim()\n .replace(/\\?/g, `\\\\?`)\n .replace(/\\//g, `\\\\/`)\n .replace(/:/g, ``)\n .replace(/\\-/g, `\\\\-`)\n .split(\" \")\n .filter(val => {\n return val.length > 0;\n });\n};\n\nconst plugin = new ValueFilterPlugin({\n operation: \"contains\",\n matches: ({ value: initialValue, compareValue: initialCompareValue }) => {\n if (!initialValue || (Array.isArray(initialValue) && initialValue.length === 0)) {\n return false;\n } else if (initialCompareValue === undefined || initialCompareValue === null) {\n return true;\n }\n const values = createValues(initialValue);\n const compareValues = createCompareValues(initialCompareValue);\n return values.some(target => {\n return compareValues.every(compareValue => {\n return target.match(new RegExp(compareValue, \"gi\")) !== null;\n });\n });\n }\n});\n\nplugin.name = \"dynamodb.value.filter.contains\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,MAAMC,YAAY,GAAIC,YAA+B,IAAK;EACtD,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC;EAE1E,OAAOC,MAAM,CAACG,MAAM,CAACC,OAAO,CAAC;AACjC,CAAC;AAED,MAAMC,mBAAmB,GAAIC,KAAa,IAAK;EAC3C,OAAOA,KAAK,CACPC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBC,IAAI,CAAC,CAAC,CACND,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACrBA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACjBA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACrBE,KAAK,CAAC,GAAG,CAAC,CACVN,MAAM,CAACO,GAAG,IAAI;IACX,OAAOA,GAAG,CAACC,MAAM,GAAG,CAAC;EACzB,CAAC,CAAC;AACV,CAAC;AAED,MAAMC,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,UAAU;EACrBC,OAAO,EAAEA,CAAC;IAAET,KAAK,EAAEP,YAAY;IAAEiB,YAAY,EAAEC;EAAoB,CAAC,KAAK;IACrE,IAAI,CAAClB,YAAY,IAAKE,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,IAAIA,YAAY,CAACY,MAAM,KAAK,CAAE,EAAE;MAC7E,OAAO,KAAK;IAChB,CAAC,MAAM,IAAIM,mBAAmB,KAAKC,SAAS,IAAID,mBAAmB,KAAK,IAAI,EAAE;MAC1E,OAAO,IAAI;IACf;IACA,MAAMjB,MAAM,GAAGF,YAAY,CAACC,YAAY,CAAC;IACzC,MAAMoB,aAAa,GAAGd,mBAAmB,CAACY,mBAAmB,CAAC;IAC9D,OAAOjB,MAAM,CAACoB,IAAI,CAACC,MAAM,IAAI;MACzB,OAAOF,aAAa,CAACG,KAAK,CAACN,YAAY,IAAI;QACvC,OAAOK,MAAM,CAACE,KAAK,CAAC,IAAIC,MAAM,CAACR,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;MAChE,CAAC,CAAC;IACN,CAAC,CAAC;EACN;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACa,IAAI,GAAG,gCAAgC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEhChB,MAAM","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ValueFilterPlugin","require","_error","_interopRequireDefault","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","some","c","includes","name","_default","exports","default"],"sources":["in.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nconst plugin = new ValueFilterPlugin({\n operation: \"in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.some(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n\nplugin.name = \"dynamodb.value.filter.in\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAOA,MAAMG,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAA4B,CAAC,KAAK;IACjD,IAAI,CAACA,YAAY,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,KAAK,EAAE;MACxD,MAAM,IAAIG,cAAW,CAChB,qDAAoD,EACrD,qBAAqB,EACrB;QACIJ,KAAK;QACLC;MACJ,CACJ,CAAC;IACL;IACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOC,YAAY,CAACI,IAAI,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACpD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACY,IAAI,GAAG,0BAA0B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE1Bf,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["_ValueFilterPlugin","require","_error","_interopRequireDefault","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","some","c","includes","name","_default","exports","default"],"sources":["in.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nconst plugin = new ValueFilterPlugin({\n operation: \"in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.some(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n\nplugin.name = \"dynamodb.value.filter.in\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAOA,MAAMG,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAA4B,CAAC,KAAK;IACjD,IAAI,CAACA,YAAY,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,KAAK,EAAE;MACxD,MAAM,IAAIG,cAAW,CACjB,qDAAqD,EACrD,qBAAqB,EACrB;QACIJ,KAAK;QACLC;MACJ,CACJ,CAAC;IACL;IACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOC,YAAY,CAACI,IAAI,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACpD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACY,IAAI,GAAG,0BAA0B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE1Bf,MAAM","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * TODO determine if GSIs are needed
3
+ */
4
+ import { Entity } from "../toolbox";
5
+ import { Table } from "../utils";
6
+ export interface ICreateEntityParams {
7
+ table: Table;
8
+ }
9
+ export declare const createEntity: ({ table }: ICreateEntityParams) => Entity<"WebinyKeyValue", undefined, undefined, Table, true, true, true, "created", "modified", "entity", false, {
10
+ PK: {
11
+ partitionKey: true;
12
+ };
13
+ SK: {
14
+ sortKey: true;
15
+ };
16
+ TYPE: {
17
+ type: "string";
18
+ };
19
+ key: {
20
+ type: "string";
21
+ };
22
+ value: {
23
+ type: "string";
24
+ };
25
+ }, {
26
+ PK: {
27
+ partitionKey: true;
28
+ };
29
+ SK: {
30
+ sortKey: true;
31
+ };
32
+ TYPE: {
33
+ type: "string";
34
+ };
35
+ key: {
36
+ type: "string";
37
+ };
38
+ value: {
39
+ type: "string";
40
+ };
41
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParseAttributes<{
42
+ PK: {
43
+ partitionKey: true;
44
+ };
45
+ SK: {
46
+ sortKey: true;
47
+ };
48
+ TYPE: {
49
+ type: "string";
50
+ };
51
+ key: {
52
+ type: "string";
53
+ };
54
+ value: {
55
+ type: "string";
56
+ };
57
+ }, true, "created", "modified", "entity", false, "created" | "modified" | "entity", "created" | "modified" | "entity", "PK", never, never, "SK", never, never, "PK" | "SK", "modified", "created" | "entity", "PK" | "SK" | "created" | "modified" | "entity" | "TYPE" | "key" | "value", never>, {
58
+ TYPE?: string | undefined;
59
+ key?: string | undefined;
60
+ value?: string | undefined;
61
+ PK: any;
62
+ SK: any;
63
+ created: string;
64
+ modified: string;
65
+ entity: string;
66
+ }, {
67
+ TYPE?: string | undefined;
68
+ key?: string | undefined;
69
+ value?: string | undefined;
70
+ PK: any;
71
+ SK: any;
72
+ created: string;
73
+ modified: string;
74
+ entity: string;
75
+ }, {
76
+ PK: any;
77
+ SK: any;
78
+ }>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createEntity = void 0;
7
+ var _toolbox = require("../toolbox");
8
+ /**
9
+ * TODO determine if GSIs are needed
10
+ */
11
+
12
+ const createEntity = ({
13
+ table
14
+ }) => {
15
+ return new _toolbox.Entity({
16
+ table,
17
+ name: "WebinyKeyValue",
18
+ attributes: {
19
+ PK: {
20
+ partitionKey: true
21
+ },
22
+ SK: {
23
+ sortKey: true
24
+ },
25
+ TYPE: {
26
+ type: "string"
27
+ },
28
+ key: {
29
+ type: "string"
30
+ },
31
+ value: {
32
+ type: "string"
33
+ }
34
+ },
35
+ autoExecute: true,
36
+ autoParse: true
37
+ });
38
+ };
39
+ exports.createEntity = createEntity;
40
+
41
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_toolbox","require","createEntity","table","Entity","name","attributes","PK","partitionKey","SK","sortKey","TYPE","type","key","value","autoExecute","autoParse","exports"],"sources":["entity.ts"],"sourcesContent":["/**\n * TODO determine if GSIs are needed\n */\nimport { Entity } from \"~/toolbox\";\nimport { Table } from \"~/utils\";\n\nexport interface ICreateEntityParams {\n table: Table;\n}\n\nexport const createEntity = ({ table }: ICreateEntityParams) => {\n return new Entity({\n table,\n name: \"WebinyKeyValue\",\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n key: {\n type: \"string\"\n },\n value: {\n type: \"string\"\n }\n },\n autoExecute: true,\n autoParse: true\n });\n};\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAQO,MAAMC,YAAY,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAC5D,OAAO,IAAIC,eAAM,CAAC;IACdD,KAAK;IACLE,IAAI,EAAE,gBAAgB;IACtBC,UAAU,EAAE;MACRC,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,IAAI,EAAE;QACFC,IAAI,EAAE;MACV,CAAC;MACDC,GAAG,EAAE;QACDD,IAAI,EAAE;MACV,CAAC;MACDE,KAAK,EAAE;QACHF,IAAI,EAAE;MACV;IACJ,CAAC;IACDG,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAf,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ export interface IParams {
2
+ key: string;
3
+ }
4
+ export declare const createPartitionKey: () => string;
5
+ export declare const createSortKey: ({ key }: IParams) => string;
6
+ export declare const createType: () => string;