@webiny/db-dynamodb 0.0.0-mt-3 → 0.0.0-unstable.06b2ede40f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DynamoDbDriver.d.ts +23 -25
- package/DynamoDbDriver.js +232 -240
- package/DynamoDbDriver.js.map +1 -0
- package/README.md +81 -1
- package/index.d.ts +2 -0
- package/index.js +18 -3
- package/index.js.map +1 -0
- package/package.json +19 -22
- package/plugins/definitions/AttributePlugin.d.ts +6 -8
- package/plugins/definitions/AttributePlugin.js +5 -20
- package/plugins/definitions/AttributePlugin.js.map +1 -0
- package/plugins/definitions/DateTimeTransformPlugin.d.ts +3 -2
- package/plugins/definitions/DateTimeTransformPlugin.js +16 -28
- package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -0
- package/plugins/definitions/FieldPathPlugin.d.ts +3 -3
- package/plugins/definitions/FieldPathPlugin.js +7 -21
- package/plugins/definitions/FieldPathPlugin.js.map +1 -0
- package/plugins/definitions/FieldPlugin.d.ts +5 -5
- package/plugins/definitions/FieldPlugin.js +2 -24
- package/plugins/definitions/FieldPlugin.js.map +1 -0
- package/plugins/definitions/TimeTransformPlugin.d.ts +3 -2
- package/plugins/definitions/TimeTransformPlugin.js +19 -30
- package/plugins/definitions/TimeTransformPlugin.js.map +1 -0
- package/plugins/definitions/ValueFilterPlugin.d.ts +13 -11
- package/plugins/definitions/ValueFilterPlugin.js +10 -16
- package/plugins/definitions/ValueFilterPlugin.js.map +1 -0
- package/plugins/definitions/ValueTransformPlugin.d.ts +9 -9
- package/plugins/definitions/ValueTransformPlugin.js +7 -22
- package/plugins/definitions/ValueTransformPlugin.js.map +1 -0
- package/plugins/definitions/assignFields.js +3 -10
- package/plugins/definitions/assignFields.js.map +1 -0
- package/plugins/filters/andIn.d.ts +2 -2
- package/plugins/filters/andIn.js +5 -9
- package/plugins/filters/andIn.js.map +1 -0
- package/plugins/filters/between.d.ts +2 -2
- package/plugins/filters/between.js +5 -9
- package/plugins/filters/between.js.map +1 -0
- package/plugins/filters/contains.d.ts +2 -2
- package/plugins/filters/contains.js +44 -17
- package/plugins/filters/contains.js.map +1 -0
- package/plugins/filters/eq.d.ts +2 -2
- package/plugins/filters/eq.js +17 -5
- package/plugins/filters/eq.js.map +1 -0
- package/plugins/filters/fuzzy.d.ts +2 -2
- package/plugins/filters/fuzzy.js +18 -12
- package/plugins/filters/fuzzy.js.map +1 -0
- package/plugins/filters/gt.d.ts +2 -2
- package/plugins/filters/gt.js +4 -4
- package/plugins/filters/gt.js.map +1 -0
- package/plugins/filters/gte.d.ts +2 -2
- package/plugins/filters/gte.js +4 -4
- package/plugins/filters/gte.js.map +1 -0
- package/plugins/filters/in.d.ts +2 -2
- package/plugins/filters/in.js +5 -9
- package/plugins/filters/in.js.map +1 -0
- package/plugins/filters/index.d.ts +1 -1
- package/plugins/filters/index.js +5 -15
- package/plugins/filters/index.js.map +1 -0
- package/plugins/filters/lt.d.ts +2 -2
- package/plugins/filters/lt.js +4 -4
- package/plugins/filters/lt.js.map +1 -0
- package/plugins/filters/lte.d.ts +2 -2
- package/plugins/filters/lte.js +4 -4
- package/plugins/filters/lte.js.map +1 -0
- package/plugins/filters/startsWith.d.ts +3 -0
- package/plugins/filters/startsWith.js +40 -0
- package/plugins/filters/startsWith.js.map +1 -0
- package/plugins/index.d.ts +1 -1
- package/plugins/index.js +3 -5
- package/plugins/index.js.map +1 -0
- package/store/entity.d.ts +78 -0
- package/store/entity.js +41 -0
- package/store/entity.js.map +1 -0
- package/store/keys.d.ts +6 -0
- package/store/keys.js +22 -0
- package/store/keys.js.map +1 -0
- package/store/types.d.ts +7 -0
- package/store/types.js +7 -0
- package/store/types.js.map +1 -0
- package/toolbox.d.ts +3 -0
- package/toolbox.js +20 -0
- package/toolbox.js.map +1 -0
- package/types.d.ts +37 -21
- package/types.js +3 -1
- package/types.js.map +1 -0
- package/utils/attributes.d.ts +5 -5
- package/utils/attributes.js +6 -14
- package/utils/attributes.js.map +1 -0
- package/utils/batch/batchRead.d.ts +15 -0
- package/utils/batch/batchRead.js +72 -0
- package/utils/batch/batchRead.js.map +1 -0
- package/utils/batch/batchWrite.d.ts +13 -0
- package/utils/batch/batchWrite.js +65 -0
- package/utils/batch/batchWrite.js.map +1 -0
- package/utils/batch/index.d.ts +3 -0
- package/utils/batch/index.js +40 -0
- package/utils/batch/index.js.map +1 -0
- package/utils/batch/types.d.ts +25 -0
- package/utils/batch/types.js +7 -0
- package/utils/batch/types.js.map +1 -0
- package/utils/cleanup.d.ts +3 -3
- package/utils/cleanup.js +11 -27
- package/utils/cleanup.js.map +1 -0
- package/utils/count.d.ts +2 -0
- package/utils/count.js +23 -0
- package/utils/count.js.map +1 -0
- package/utils/createEntity.d.ts +54 -0
- package/utils/createEntity.js +61 -0
- package/utils/createEntity.js.map +1 -0
- package/utils/createTable.d.ts +8 -0
- package/utils/createTable.js +29 -0
- package/utils/createTable.js.map +1 -0
- package/utils/cursor.d.ts +2 -2
- package/utils/cursor.js +2 -6
- package/utils/cursor.js.map +1 -0
- package/utils/delete.d.ts +10 -0
- package/utils/delete.js +18 -0
- package/utils/delete.js.map +1 -0
- package/utils/entity/Entity.d.ts +26 -0
- package/utils/entity/Entity.js +77 -0
- package/utils/entity/Entity.js.map +1 -0
- package/utils/entity/EntityReadBatch.d.ts +17 -0
- package/utils/entity/EntityReadBatch.js +41 -0
- package/utils/entity/EntityReadBatch.js.map +1 -0
- package/utils/entity/EntityReadBatchBuilder.d.ts +10 -0
- package/utils/entity/EntityReadBatchBuilder.js +29 -0
- package/utils/entity/EntityReadBatchBuilder.js.map +1 -0
- package/utils/entity/EntityWriteBatch.d.ts +22 -0
- package/utils/entity/EntityWriteBatch.js +59 -0
- package/utils/entity/EntityWriteBatch.js.map +1 -0
- package/utils/entity/EntityWriteBatchBuilder.d.ts +11 -0
- package/utils/entity/EntityWriteBatchBuilder.js +28 -0
- package/utils/entity/EntityWriteBatchBuilder.js.map +1 -0
- package/utils/entity/getEntity.d.ts +4 -0
- package/utils/entity/getEntity.js +19 -0
- package/utils/entity/getEntity.js.map +1 -0
- package/utils/entity/index.d.ts +7 -0
- package/utils/entity/index.js +84 -0
- package/utils/entity/index.js.map +1 -0
- package/utils/entity/types.d.ts +51 -0
- package/utils/entity/types.js +7 -0
- package/utils/entity/types.js.map +1 -0
- package/utils/filter.d.ts +4 -4
- package/utils/filter.js +12 -43
- package/utils/filter.js.map +1 -0
- package/utils/get.d.ts +10 -8
- package/utils/get.js +16 -7
- package/utils/get.js.map +1 -0
- package/utils/index.d.ts +17 -0
- package/utils/index.js +194 -0
- package/utils/index.js.map +1 -0
- package/utils/listResponse.d.ts +1 -1
- package/utils/listResponse.js +8 -7
- package/utils/listResponse.js.map +1 -0
- package/utils/put.d.ts +12 -0
- package/utils/put.js +19 -0
- package/utils/put.js.map +1 -0
- package/utils/query.d.ts +20 -8
- package/utils/query.js +71 -38
- package/utils/query.js.map +1 -0
- package/utils/scan.d.ts +38 -0
- package/utils/scan.js +90 -0
- package/utils/scan.js.map +1 -0
- package/utils/sort.d.ts +3 -3
- package/utils/sort.js +5 -22
- package/utils/sort.js.map +1 -0
- package/utils/table/Table.d.ts +11 -0
- package/utils/table/Table.js +38 -0
- package/utils/table/Table.js.map +1 -0
- package/utils/table/TableReadBatch.d.ts +19 -0
- package/utils/table/TableReadBatch.js +62 -0
- package/utils/table/TableReadBatch.js.map +1 -0
- package/utils/table/TableWriteBatch.d.ts +21 -0
- package/utils/table/TableWriteBatch.js +69 -0
- package/utils/table/TableWriteBatch.js.map +1 -0
- package/utils/table/index.d.ts +4 -0
- package/utils/table/index.js +51 -0
- package/utils/table/index.js.map +1 -0
- package/utils/table/types.d.ts +39 -0
- package/utils/table/types.js +7 -0
- package/utils/table/types.js.map +1 -0
- package/utils/update.d.ts +12 -0
- package/utils/update.js +19 -0
- package/utils/update.js.map +1 -0
- package/BatchProcess.d.ts +0 -31
- package/BatchProcess.js +0 -196
- package/QueryGenerator.d.ts +0 -19
- package/QueryGenerator.js +0 -79
- package/operators/comparison/beginsWith.d.ts +0 -3
- package/operators/comparison/beginsWith.js +0 -24
- package/operators/comparison/between.d.ts +0 -3
- package/operators/comparison/between.js +0 -30
- package/operators/comparison/eq.d.ts +0 -3
- package/operators/comparison/eq.js +0 -34
- package/operators/comparison/gt.d.ts +0 -3
- package/operators/comparison/gt.js +0 -24
- package/operators/comparison/gte.d.ts +0 -3
- package/operators/comparison/gte.js +0 -24
- package/operators/comparison/lt.d.ts +0 -3
- package/operators/comparison/lt.js +0 -24
- package/operators/comparison/lte.d.ts +0 -3
- package/operators/comparison/lte.js +0 -24
- package/operators/index.d.ts +0 -12
- package/operators/index.js +0 -39
- package/operators/logical/and.d.ts +0 -3
- package/operators/logical/and.js +0 -63
- package/operators/logical/or.d.ts +0 -3
- package/operators/logical/or.js +0 -63
- package/plugins/definitions/NumberTransformPlugin.d.ts +0 -4
- package/plugins/definitions/NumberTransformPlugin.js +0 -49
- package/statements/createKeyConditionExpressionArgs.d.ts +0 -12
- package/statements/createKeyConditionExpressionArgs.js +0 -48
- package/statements/processStatement.d.ts +0 -4
- package/statements/processStatement.js +0 -39
- package/utils/batchRead.d.ts +0 -15
- package/utils/batchRead.js +0 -58
- package/utils/batchWrite.d.ts +0 -17
- package/utils/batchWrite.js +0 -30
- package/utils/documentClient.d.ts +0 -8
- package/utils/documentClient.js +0 -33
- package/utils/table.d.ts +0 -7
- package/utils/table.js +0 -27
package/README.md
CHANGED
|
@@ -14,6 +14,86 @@ For more information, please visit
|
|
|
14
14
|
yarn add @webiny/db-dynamodb
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
### Helper classes
|
|
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";
|
|
22
|
+
|
|
23
|
+
const table = createTable({...params});
|
|
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
|
+
|
|
17
97
|
|
|
18
98
|
### Helper functions
|
|
19
99
|
We have a number [helper](./src/utils) functions that ease the use of either dynamodb-toolbox, filtering, sorting or just creating proper response.
|
|
@@ -64,4 +144,4 @@ This function accepts items (records) to be filtered, a definition of fields to
|
|
|
64
144
|
#### [sort](./src/utils/sort.ts)
|
|
65
145
|
Sort the DynamoDB records by given sort condition.
|
|
66
146
|
|
|
67
|
-
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).
|
|
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).
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -1,15 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
7
|
+
var _exportNames = {
|
|
8
|
+
DynamoDbDriver: true
|
|
9
|
+
};
|
|
8
10
|
Object.defineProperty(exports, "DynamoDbDriver", {
|
|
9
11
|
enumerable: true,
|
|
10
12
|
get: function () {
|
|
11
13
|
return _DynamoDbDriver.default;
|
|
12
14
|
}
|
|
13
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
|
+
});
|
|
14
29
|
|
|
15
|
-
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_DynamoDbDriver","_interopRequireDefault","require","_utils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver\";\n\nexport * from \"./utils\";\nexport type { DbItem } from \"./types\";\n\nexport { DynamoDbDriver };\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/db-dynamodb",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-unstable.06b2ede40f",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,36 +10,33 @@
|
|
|
10
10
|
"author": "Webiny Ltd",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@webiny/
|
|
14
|
-
"@webiny/
|
|
15
|
-
"@webiny/
|
|
16
|
-
"@webiny/
|
|
17
|
-
"@webiny/plugins": "0.0.0-
|
|
18
|
-
"
|
|
13
|
+
"@webiny/api": "0.0.0-unstable.06b2ede40f",
|
|
14
|
+
"@webiny/aws-sdk": "0.0.0-unstable.06b2ede40f",
|
|
15
|
+
"@webiny/db": "0.0.0-unstable.06b2ede40f",
|
|
16
|
+
"@webiny/error": "0.0.0-unstable.06b2ede40f",
|
|
17
|
+
"@webiny/plugins": "0.0.0-unstable.06b2ede40f",
|
|
18
|
+
"@webiny/utils": "0.0.0-unstable.06b2ede40f",
|
|
19
|
+
"date-fns": "2.29.3",
|
|
19
20
|
"dot-prop": "6.0.1",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
21
|
+
"dynamodb-toolbox": "0.9.2",
|
|
22
|
+
"fuse.js": "7.0.0",
|
|
22
23
|
"lodash": "4.17.21"
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
25
|
-
"@
|
|
26
|
-
"@
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"jest-dynalite": "^3.2.0",
|
|
32
|
-
"rimraf": "^3.0.2",
|
|
33
|
-
"ttypescript": "^1.5.12",
|
|
34
|
-
"typescript": "^4.1.3"
|
|
26
|
+
"@types/is-number": "7.0.5",
|
|
27
|
+
"@webiny/project-utils": "0.0.0-unstable.06b2ede40f",
|
|
28
|
+
"jest": "29.7.0",
|
|
29
|
+
"jest-dynalite": "3.6.1",
|
|
30
|
+
"rimraf": "6.0.1",
|
|
31
|
+
"typescript": "5.3.3"
|
|
35
32
|
},
|
|
36
33
|
"publishConfig": {
|
|
37
34
|
"access": "public",
|
|
38
35
|
"directory": "dist"
|
|
39
36
|
},
|
|
40
37
|
"scripts": {
|
|
41
|
-
"build": "
|
|
42
|
-
"watch": "
|
|
38
|
+
"build": "node ../cli/bin.js run build",
|
|
39
|
+
"watch": "node ../cli/bin.js run watch"
|
|
43
40
|
},
|
|
44
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "06b2ede40fc2212a70eeafd74afd50b56fb0ce82"
|
|
45
42
|
}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import { Plugin } from "@webiny/plugins";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export declare type DefinitionParams = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;
|
|
5
|
-
export interface Params {
|
|
2
|
+
import type { AttributeDefinition } from "../../toolbox";
|
|
3
|
+
export interface AttributePluginParams {
|
|
6
4
|
entity: string;
|
|
7
5
|
attribute: string;
|
|
8
|
-
params:
|
|
6
|
+
params: AttributeDefinition;
|
|
9
7
|
}
|
|
10
8
|
export declare abstract class AttributePlugin extends Plugin {
|
|
11
|
-
static readonly type
|
|
9
|
+
static readonly type: string;
|
|
12
10
|
private readonly _entity;
|
|
13
11
|
private readonly _attribute;
|
|
14
12
|
private readonly _params;
|
|
15
13
|
get entity(): string;
|
|
16
14
|
get attribute(): string;
|
|
17
|
-
constructor({ entity, attribute, params }:
|
|
18
|
-
getDefinition(): Record<string,
|
|
15
|
+
constructor({ entity, attribute, params }: AttributePluginParams);
|
|
16
|
+
getDefinition(): Record<string, AttributeDefinition>;
|
|
19
17
|
private validateReserved;
|
|
20
18
|
}
|
|
@@ -1,61 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.AttributePlugin = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _plugins = require("@webiny/plugins");
|
|
13
|
-
|
|
14
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
15
|
-
|
|
9
|
+
var _plugins = require("@webiny/plugins");
|
|
16
10
|
const reservedFields = ["PK", "SK", "index", "data"];
|
|
17
|
-
|
|
18
11
|
class AttributePlugin extends _plugins.Plugin {
|
|
12
|
+
static type = "db.dynamodb.attribute";
|
|
19
13
|
get entity() {
|
|
20
14
|
return this._entity;
|
|
21
15
|
}
|
|
22
|
-
|
|
23
16
|
get attribute() {
|
|
24
17
|
return this._attribute;
|
|
25
18
|
}
|
|
26
|
-
|
|
27
19
|
constructor({
|
|
28
20
|
entity,
|
|
29
21
|
attribute,
|
|
30
22
|
params
|
|
31
23
|
}) {
|
|
32
24
|
super();
|
|
33
|
-
(0, _defineProperty2.default)(this, "_entity", void 0);
|
|
34
|
-
(0, _defineProperty2.default)(this, "_attribute", void 0);
|
|
35
|
-
(0, _defineProperty2.default)(this, "_params", void 0);
|
|
36
25
|
this.validateReserved(attribute);
|
|
37
26
|
this._entity = entity;
|
|
38
27
|
this._attribute = attribute;
|
|
39
28
|
this._params = params;
|
|
40
29
|
}
|
|
41
|
-
|
|
42
30
|
getDefinition() {
|
|
43
31
|
return {
|
|
44
32
|
[this.attribute]: this._params
|
|
45
33
|
};
|
|
46
34
|
}
|
|
47
|
-
|
|
48
35
|
validateReserved(attribute) {
|
|
49
36
|
if (reservedFields.includes(attribute) === false) {
|
|
50
37
|
return;
|
|
51
38
|
}
|
|
52
|
-
|
|
53
39
|
throw new _error.default(`Attribute name "${attribute}" is not allowed.`, "ATTRIBUTE_NOT_ALLOWED", {
|
|
54
40
|
attribute
|
|
55
41
|
});
|
|
56
42
|
}
|
|
57
|
-
|
|
58
43
|
}
|
|
59
|
-
|
|
60
44
|
exports.AttributePlugin = AttributePlugin;
|
|
61
|
-
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=AttributePlugin.js.map
|
|
@@ -0,0 +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 type { 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,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ValueTransformPluginParams } from "./ValueTransformPlugin";
|
|
2
|
+
import { ValueTransformPlugin } from "./ValueTransformPlugin";
|
|
2
3
|
export declare class DateTimeTransformPlugin extends ValueTransformPlugin {
|
|
3
|
-
constructor(params: Omit<
|
|
4
|
+
constructor(params: Omit<ValueTransformPluginParams, "transform">);
|
|
4
5
|
}
|
|
@@ -1,54 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.DateTimeTransformPlugin = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
8
|
var _ValueTransformPlugin = require("./ValueTransformPlugin");
|
|
13
|
-
|
|
14
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
15
|
-
|
|
16
10
|
var _dateFns = require("date-fns");
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
-
|
|
22
11
|
const transformDateTime = params => {
|
|
23
12
|
const {
|
|
24
13
|
value
|
|
25
14
|
} = params;
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
if (value === null || value === undefined) {
|
|
16
|
+
return null;
|
|
17
|
+
} else if (typeof value === "string") {
|
|
18
|
+
const parsedDateTime = (0, _dateFns.parseISO)(value).getTime();
|
|
19
|
+
if (isNaN(parsedDateTime) === false) {
|
|
20
|
+
return parsedDateTime;
|
|
21
|
+
}
|
|
22
|
+
} else if (value instanceof Date || typeof value?.getTime === "function") {
|
|
28
23
|
/**
|
|
29
|
-
* In this case we assume this is a date object and we just get the time.
|
|
24
|
+
* In this case we assume this is a date object, and we just get the time.
|
|
30
25
|
*/
|
|
31
26
|
return value.getTime();
|
|
32
27
|
}
|
|
33
|
-
|
|
34
|
-
const parsedDateTime = (0, _dateFns.parseISO)(value).getTime();
|
|
35
|
-
|
|
36
|
-
if (isNaN(parsedDateTime) === false) {
|
|
37
|
-
return parsedDateTime;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
28
|
throw new _error.default("Could not parse given dateTime value.", "PARSE_DATE_ERROR", {
|
|
41
29
|
value
|
|
42
30
|
});
|
|
43
31
|
};
|
|
44
|
-
|
|
45
32
|
class DateTimeTransformPlugin extends _ValueTransformPlugin.ValueTransformPlugin {
|
|
46
33
|
constructor(params) {
|
|
47
|
-
super(
|
|
48
|
-
transform: transformDateTime
|
|
49
|
-
|
|
34
|
+
super({
|
|
35
|
+
transform: transformDateTime,
|
|
36
|
+
...params
|
|
37
|
+
});
|
|
50
38
|
}
|
|
51
|
-
|
|
52
39
|
}
|
|
40
|
+
exports.DateTimeTransformPlugin = DateTimeTransformPlugin;
|
|
53
41
|
|
|
54
|
-
|
|
42
|
+
//# sourceMappingURL=DateTimeTransformPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ValueTransformPlugin","require","_error","_interopRequireDefault","_dateFns","transformDateTime","params","value","undefined","parsedDateTime","parseISO","getTime","isNaN","Date","WebinyError","DateTimeTransformPlugin","ValueTransformPlugin","constructor","transform","exports"],"sources":["DateTimeTransformPlugin.ts"],"sourcesContent":["import type {\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport { ValueTransformPlugin } from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport { parseISO } from \"date-fns\";\n\nconst transformDateTime = (params: ValueTransformPluginParamsTransformParams): number | null => {\n const { value } = params;\n if (value === null || value === undefined) {\n return null;\n } else if (typeof value === \"string\") {\n const parsedDateTime = parseISO(value).getTime();\n if (isNaN(parsedDateTime) === false) {\n return parsedDateTime;\n }\n } else if (value instanceof Date || typeof (value as unknown as Date)?.getTime === \"function\") {\n /**\n * In this case we assume this is a date object, and we just get the time.\n */\n return value.getTime();\n }\n\n throw new WebinyError(\"Could not parse given dateTime value.\", \"PARSE_DATE_ERROR\", {\n value\n });\n};\n\nexport class DateTimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformDateTime,\n ...params\n });\n }\n}\n"],"mappings":";;;;;;;AAIA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,MAAMI,iBAAiB,GAAIC,MAAiD,IAAoB;EAC5F,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,IAAIC,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACvC,OAAO,IAAI;EACf,CAAC,MAAM,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAClC,MAAME,cAAc,GAAG,IAAAC,iBAAQ,EAACH,KAAK,CAAC,CAACI,OAAO,CAAC,CAAC;IAChD,IAAIC,KAAK,CAACH,cAAc,CAAC,KAAK,KAAK,EAAE;MACjC,OAAOA,cAAc;IACzB;EACJ,CAAC,MAAM,IAAIF,KAAK,YAAYM,IAAI,IAAI,OAAQN,KAAK,EAAsBI,OAAO,KAAK,UAAU,EAAE;IAC3F;AACR;AACA;IACQ,OAAOJ,KAAK,CAACI,OAAO,CAAC,CAAC;EAC1B;EAEA,MAAM,IAAIG,cAAW,CAAC,uCAAuC,EAAE,kBAAkB,EAAE;IAC/EP;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,MAAMQ,uBAAuB,SAASC,0CAAoB,CAAC;EACvDC,WAAWA,CAACX,MAAqD,EAAE;IACtE,KAAK,CAAC;MACFY,SAAS,EAAEb,iBAAiB;MAC5B,GAAGC;IACP,CAAC,CAAC;EACN;AACJ;AAACa,OAAA,CAAAJ,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { Plugin } from "@webiny/plugins";
|
|
|
2
2
|
export interface CreatePath {
|
|
3
3
|
(field: string): string;
|
|
4
4
|
}
|
|
5
|
-
export interface
|
|
5
|
+
export interface FieldPathPluginParams {
|
|
6
6
|
/**
|
|
7
7
|
* Which field(s) is this plugin for.
|
|
8
8
|
*/
|
|
@@ -14,9 +14,9 @@ export interface Params {
|
|
|
14
14
|
createPath: CreatePath;
|
|
15
15
|
}
|
|
16
16
|
export declare class FieldPathPlugin extends Plugin {
|
|
17
|
-
static readonly type
|
|
17
|
+
static readonly type: string;
|
|
18
18
|
private readonly _params;
|
|
19
|
-
constructor(params:
|
|
19
|
+
constructor(params: FieldPathPluginParams);
|
|
20
20
|
canCreate(field: string): boolean;
|
|
21
21
|
createPath(field: string): string;
|
|
22
22
|
}
|
|
@@ -1,48 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.FieldPathPlugin = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
8
|
var _plugins = require("@webiny/plugins");
|
|
13
|
-
|
|
14
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
15
|
-
|
|
16
10
|
var _assignFields = require("./assignFields");
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
-
|
|
22
11
|
class FieldPathPlugin extends _plugins.Plugin {
|
|
12
|
+
static type = "dynamodb.value.path";
|
|
23
13
|
constructor(params) {
|
|
24
14
|
super();
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
this._params = {
|
|
16
|
+
...params,
|
|
27
17
|
fields: (0, _assignFields.assignFields)(params.fields)
|
|
28
|
-
}
|
|
18
|
+
};
|
|
29
19
|
}
|
|
30
|
-
|
|
31
20
|
canCreate(field) {
|
|
32
21
|
return this._params.fields.includes(field);
|
|
33
22
|
}
|
|
34
|
-
|
|
35
23
|
createPath(field) {
|
|
36
24
|
if (!this._params.createPath) {
|
|
37
25
|
throw new _error.default(`Missing "createPath" in the plugin.`, "TRANSFORM_ERROR", {
|
|
38
26
|
fields: this._params.fields
|
|
39
27
|
});
|
|
40
28
|
}
|
|
41
|
-
|
|
42
29
|
return this._params.createPath(field);
|
|
43
30
|
}
|
|
44
|
-
|
|
45
31
|
}
|
|
46
|
-
|
|
47
32
|
exports.FieldPathPlugin = FieldPathPlugin;
|
|
48
|
-
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=FieldPathPlugin.js.map
|
|
@@ -0,0 +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,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,10 +1,10 @@
|
|
|
1
1
|
import { Plugin } from "@webiny/plugins";
|
|
2
|
-
import { DynamoDBTypes } from "
|
|
3
|
-
export
|
|
2
|
+
import type { DynamoDBTypes } from "../../toolbox";
|
|
3
|
+
export type FieldType = DynamoDBTypes & "date" & any;
|
|
4
4
|
export interface TransformValueCb {
|
|
5
5
|
(value: any): any;
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface FieldPluginParams {
|
|
8
8
|
/**
|
|
9
9
|
* Default is string.
|
|
10
10
|
*/
|
|
@@ -18,13 +18,13 @@ export interface Params {
|
|
|
18
18
|
transformValue?: TransformValueCb;
|
|
19
19
|
}
|
|
20
20
|
export declare abstract class FieldPlugin extends Plugin {
|
|
21
|
-
private readonly path
|
|
21
|
+
private readonly path?;
|
|
22
22
|
private readonly field;
|
|
23
23
|
private readonly fieldType;
|
|
24
24
|
private readonly dynamoDbType;
|
|
25
25
|
private readonly sortable;
|
|
26
26
|
private readonly _transformValue;
|
|
27
|
-
constructor(params:
|
|
27
|
+
constructor(params: FieldPluginParams);
|
|
28
28
|
getPath(): string;
|
|
29
29
|
getType(): FieldType;
|
|
30
30
|
getField(): string;
|
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.FieldPlugin = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
7
|
var _plugins = require("@webiny/plugins");
|
|
13
|
-
|
|
14
8
|
class FieldPlugin extends _plugins.Plugin {
|
|
15
9
|
constructor(params) {
|
|
16
10
|
super();
|
|
17
|
-
(0, _defineProperty2.default)(this, "path", void 0);
|
|
18
|
-
(0, _defineProperty2.default)(this, "field", void 0);
|
|
19
|
-
(0, _defineProperty2.default)(this, "fieldType", void 0);
|
|
20
|
-
(0, _defineProperty2.default)(this, "dynamoDbType", void 0);
|
|
21
|
-
(0, _defineProperty2.default)(this, "sortable", void 0);
|
|
22
|
-
(0, _defineProperty2.default)(this, "_transformValue", void 0);
|
|
23
11
|
this.fieldType = params.type || "string";
|
|
24
12
|
this.dynamoDbType = params.type === "date" ? "string" : params.type;
|
|
25
13
|
this.field = params.field;
|
|
@@ -27,47 +15,37 @@ class FieldPlugin extends _plugins.Plugin {
|
|
|
27
15
|
this.sortable = params.sortable === undefined ? true : params.sortable;
|
|
28
16
|
this._transformValue = params.transformValue;
|
|
29
17
|
}
|
|
30
|
-
|
|
31
18
|
getPath() {
|
|
32
19
|
return this.path || this.field;
|
|
33
20
|
}
|
|
34
|
-
|
|
35
21
|
getType() {
|
|
36
22
|
return this.fieldType;
|
|
37
23
|
}
|
|
38
|
-
|
|
39
24
|
getField() {
|
|
40
25
|
return this.field;
|
|
41
26
|
}
|
|
42
|
-
|
|
43
27
|
getDynamoDbType() {
|
|
44
28
|
return this.dynamoDbType;
|
|
45
29
|
}
|
|
46
|
-
|
|
47
30
|
transformValue(value) {
|
|
48
31
|
if (this._transformValue) {
|
|
49
32
|
return this.transformValue(value);
|
|
50
33
|
}
|
|
51
|
-
|
|
52
34
|
switch (this.fieldType) {
|
|
53
35
|
case "number":
|
|
54
36
|
return Number(value);
|
|
55
|
-
|
|
56
37
|
case "date":
|
|
57
38
|
if (!value) {
|
|
58
39
|
return null;
|
|
59
40
|
}
|
|
60
|
-
|
|
61
41
|
return new Date(value);
|
|
62
42
|
}
|
|
63
|
-
|
|
64
43
|
return value;
|
|
65
44
|
}
|
|
66
|
-
|
|
67
45
|
isSortable() {
|
|
68
46
|
return this.sortable;
|
|
69
47
|
}
|
|
70
|
-
|
|
71
48
|
}
|
|
49
|
+
exports.FieldPlugin = FieldPlugin;
|
|
72
50
|
|
|
73
|
-
|
|
51
|
+
//# sourceMappingURL=FieldPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_plugins","require","FieldPlugin","Plugin","constructor","params","fieldType","type","dynamoDbType","field","path","sortable","undefined","_transformValue","transformValue","getPath","getType","getField","getDynamoDbType","value","Number","Date","isSortable","exports"],"sources":["FieldPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type { DynamoDBTypes } from \"~/toolbox\";\n\nexport type FieldType = DynamoDBTypes & \"date\" & any;\n\nexport interface TransformValueCb {\n (value: any): any;\n}\n\nexport interface FieldPluginParams {\n /**\n * Default is string.\n */\n type?: FieldType;\n field: string;\n path?: string;\n /**\n * Default is true.\n */\n sortable?: boolean;\n\n transformValue?: TransformValueCb;\n}\n\nexport abstract class FieldPlugin extends Plugin {\n private readonly path?: string;\n private readonly field: string;\n private readonly fieldType: FieldType;\n private readonly dynamoDbType: DynamoDBTypes;\n private readonly sortable: boolean;\n private readonly _transformValue: TransformValueCb | undefined;\n\n public constructor(params: FieldPluginParams) {\n super();\n this.fieldType = params.type || \"string\";\n this.dynamoDbType = params.type === \"date\" ? \"string\" : params.type;\n this.field = params.field;\n this.path = params.path;\n this.sortable = params.sortable === undefined ? true : params.sortable;\n this._transformValue = params.transformValue;\n }\n\n public getPath(): string {\n return this.path || this.field;\n }\n\n public getType(): FieldType {\n return this.fieldType;\n }\n\n public getField(): string {\n return this.field;\n }\n\n public getDynamoDbType(): string {\n return this.dynamoDbType;\n }\n\n public transformValue(value: any): any {\n if (this._transformValue) {\n return this.transformValue(value);\n }\n switch (this.fieldType) {\n case \"number\":\n return Number(value);\n case \"date\":\n if (!value) {\n return null;\n }\n return new Date(value);\n }\n return value;\n }\n\n public isSortable(): boolean {\n return this.sortable;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAwBO,MAAeC,WAAW,SAASC,eAAM,CAAC;EAQtCC,WAAWA,CAACC,MAAyB,EAAE;IAC1C,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,SAAS,GAAGD,MAAM,CAACE,IAAI,IAAI,QAAQ;IACxC,IAAI,CAACC,YAAY,GAAGH,MAAM,CAACE,IAAI,KAAK,MAAM,GAAG,QAAQ,GAAGF,MAAM,CAACE,IAAI;IACnE,IAAI,CAACE,KAAK,GAAGJ,MAAM,CAACI,KAAK;IACzB,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI;IACvB,IAAI,CAACC,QAAQ,GAAGN,MAAM,CAACM,QAAQ,KAAKC,SAAS,GAAG,IAAI,GAAGP,MAAM,CAACM,QAAQ;IACtE,IAAI,CAACE,eAAe,GAAGR,MAAM,CAACS,cAAc;EAChD;EAEOC,OAAOA,CAAA,EAAW;IACrB,OAAO,IAAI,CAACL,IAAI,IAAI,IAAI,CAACD,KAAK;EAClC;EAEOO,OAAOA,CAAA,EAAc;IACxB,OAAO,IAAI,CAACV,SAAS;EACzB;EAEOW,QAAQA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACR,KAAK;EACrB;EAEOS,eAAeA,CAAA,EAAW;IAC7B,OAAO,IAAI,CAACV,YAAY;EAC5B;EAEOM,cAAcA,CAACK,KAAU,EAAO;IACnC,IAAI,IAAI,CAACN,eAAe,EAAE;MACtB,OAAO,IAAI,CAACC,cAAc,CAACK,KAAK,CAAC;IACrC;IACA,QAAQ,IAAI,CAACb,SAAS;MAClB,KAAK,QAAQ;QACT,OAAOc,MAAM,CAACD,KAAK,CAAC;MACxB,KAAK,MAAM;QACP,IAAI,CAACA,KAAK,EAAE;UACR,OAAO,IAAI;QACf;QACA,OAAO,IAAIE,IAAI,CAACF,KAAK,CAAC;IAC9B;IACA,OAAOA,KAAK;EAChB;EAEOG,UAAUA,CAAA,EAAY;IACzB,OAAO,IAAI,CAACX,QAAQ;EACxB;AACJ;AAACY,OAAA,CAAArB,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ValueTransformPluginParams } from "./ValueTransformPlugin";
|
|
2
|
+
import { ValueTransformPlugin } from "./ValueTransformPlugin";
|
|
2
3
|
export declare class TimeTransformPlugin extends ValueTransformPlugin {
|
|
3
|
-
constructor(params: Omit<
|
|
4
|
+
constructor(params: Omit<ValueTransformPluginParams, "transform">);
|
|
4
5
|
}
|