@webiny/db-dynamodb 0.0.0-unstable.40876133bb → 0.0.0-unstable.496cf268ac
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/BatchProcess.js +3 -37
- package/BatchProcess.js.map +1 -1
- package/DynamoDbDriver.js +3 -38
- package/DynamoDbDriver.js.map +1 -1
- package/QueryGenerator.js +4 -18
- package/QueryGenerator.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +24 -3
- package/index.js.map +1 -1
- package/operators/comparison/beginsWith.js.map +1 -1
- package/operators/comparison/between.js.map +1 -1
- package/operators/comparison/eq.js +0 -2
- package/operators/comparison/eq.js.map +1 -1
- package/operators/comparison/gt.js.map +1 -1
- package/operators/comparison/gte.js.map +1 -1
- package/operators/comparison/lt.js.map +1 -1
- package/operators/comparison/lte.js.map +1 -1
- package/operators/index.js +0 -11
- package/operators/index.js.map +1 -1
- package/operators/logical/and.js +0 -5
- package/operators/logical/and.js.map +1 -1
- package/operators/logical/or.js +0 -5
- package/operators/logical/or.js.map +1 -1
- package/package.json +9 -9
- package/plugins/definitions/AttributePlugin.js +0 -13
- package/plugins/definitions/AttributePlugin.js.map +1 -1
- package/plugins/definitions/DateTimeTransformPlugin.js +0 -14
- package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -1
- package/plugins/definitions/FieldPathPlugin.js +0 -12
- package/plugins/definitions/FieldPathPlugin.js.map +1 -1
- package/plugins/definitions/FieldPlugin.js +0 -16
- package/plugins/definitions/FieldPlugin.js.map +1 -1
- package/plugins/definitions/NumberTransformPlugin.js +0 -11
- package/plugins/definitions/NumberTransformPlugin.js.map +1 -1
- package/plugins/definitions/TimeTransformPlugin.js +0 -14
- package/plugins/definitions/TimeTransformPlugin.js.map +1 -1
- package/plugins/definitions/ValueFilterPlugin.js +0 -12
- package/plugins/definitions/ValueFilterPlugin.js.map +1 -1
- package/plugins/definitions/ValueTransformPlugin.js +0 -13
- package/plugins/definitions/ValueTransformPlugin.js.map +1 -1
- package/plugins/definitions/assignFields.js +0 -9
- package/plugins/definitions/assignFields.js.map +1 -1
- package/plugins/filters/andIn.d.ts +2 -2
- package/plugins/filters/andIn.js +3 -8
- package/plugins/filters/andIn.js.map +1 -1
- package/plugins/filters/between.d.ts +2 -2
- package/plugins/filters/between.js +3 -8
- package/plugins/filters/between.js.map +1 -1
- package/plugins/filters/contains.d.ts +2 -2
- package/plugins/filters/contains.js +3 -6
- package/plugins/filters/contains.js.map +1 -1
- package/plugins/filters/eq.d.ts +2 -2
- package/plugins/filters/eq.js +3 -5
- package/plugins/filters/eq.js.map +1 -1
- package/plugins/filters/fuzzy.d.ts +2 -2
- package/plugins/filters/fuzzy.js +3 -7
- package/plugins/filters/fuzzy.js.map +1 -1
- package/plugins/filters/gt.d.ts +2 -2
- package/plugins/filters/gt.js +3 -4
- package/plugins/filters/gt.js.map +1 -1
- package/plugins/filters/gte.d.ts +2 -2
- package/plugins/filters/gte.js +3 -4
- package/plugins/filters/gte.js.map +1 -1
- package/plugins/filters/in.d.ts +2 -2
- package/plugins/filters/in.js +3 -8
- package/plugins/filters/in.js.map +1 -1
- package/plugins/filters/index.js +0 -14
- package/plugins/filters/index.js.map +1 -1
- package/plugins/filters/lt.d.ts +2 -2
- package/plugins/filters/lt.js +3 -4
- package/plugins/filters/lt.js.map +1 -1
- package/plugins/filters/lte.d.ts +2 -2
- package/plugins/filters/lte.js +3 -4
- package/plugins/filters/lte.js.map +1 -1
- package/plugins/filters/startsWith.d.ts +2 -2
- package/plugins/filters/startsWith.js +3 -7
- package/plugins/filters/startsWith.js.map +1 -1
- package/plugins/index.js +0 -4
- package/plugins/index.js.map +1 -1
- package/statements/createKeyConditionExpressionArgs.js +0 -7
- package/statements/createKeyConditionExpressionArgs.js.map +1 -1
- package/statements/processStatement.js +0 -7
- package/statements/processStatement.js.map +1 -1
- package/types.d.ts +8 -0
- package/types.js.map +1 -1
- package/utils/attributes.js +0 -7
- package/utils/attributes.js.map +1 -1
- package/utils/batchRead.js +0 -22
- package/utils/batchRead.js.map +1 -1
- package/utils/batchWrite.js +0 -6
- package/utils/batchWrite.js.map +1 -1
- package/utils/cleanup.js +0 -10
- package/utils/cleanup.js.map +1 -1
- package/utils/createStandardEntity.d.ts +2 -0
- package/utils/createStandardEntity.js +34 -0
- package/utils/createStandardEntity.js.map +1 -0
- package/utils/cursor.js +0 -6
- package/utils/cursor.js.map +1 -1
- package/utils/filter.js +0 -37
- package/utils/filter.js.map +1 -1
- package/utils/get.js +0 -4
- package/utils/get.js.map +1 -1
- package/utils/listResponse.js +0 -4
- package/utils/listResponse.js.map +1 -1
- package/utils/query.d.ts +6 -1
- package/utils/query.js +21 -21
- package/utils/query.js.map +1 -1
- package/utils/sort.js +0 -17
- package/utils/sort.js.map +1 -1
- package/utils/table.js +0 -5
- package/utils/table.js.map +1 -1
package/plugins/filters/gte.js
CHANGED
|
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
|
|
9
|
-
|
|
10
|
-
var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
8
|
+
const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
11
9
|
operation: "gte",
|
|
12
10
|
matches: ({
|
|
13
11
|
value,
|
|
@@ -16,5 +14,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
|
16
14
|
return value >= compareValue;
|
|
17
15
|
}
|
|
18
16
|
});
|
|
19
|
-
|
|
17
|
+
plugin.name = "dynamodb.value.filter.gte";
|
|
18
|
+
var _default = plugin;
|
|
20
19
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["gte.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","name"],"sources":["gte.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"gte\",\n matches: ({ value, compareValue }) => {\n return value >= compareValue;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.gte\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,OAAOD,KAAK,IAAIC,YAAY;EAChC;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACM,IAAI,GAAG,2BAA2B;AAAC,eAE3BN,MAAM;AAAA"}
|
package/plugins/filters/in.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
|
|
2
|
-
declare const
|
|
3
|
-
export default
|
|
2
|
+
declare const plugin: ValueFilterPlugin;
|
|
3
|
+
export default plugin;
|
package/plugins/filters/in.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
|
|
11
|
-
|
|
12
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
|
-
|
|
14
|
-
var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
10
|
+
const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
15
11
|
operation: "in",
|
|
16
12
|
matches: ({
|
|
17
13
|
value,
|
|
@@ -23,13 +19,12 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
|
23
19
|
compareValue
|
|
24
20
|
});
|
|
25
21
|
}
|
|
26
|
-
|
|
27
22
|
if (Array.isArray(value) === true) {
|
|
28
23
|
return compareValue.some(c => value.includes(c));
|
|
29
24
|
}
|
|
30
|
-
|
|
31
25
|
return compareValue.includes(value);
|
|
32
26
|
}
|
|
33
27
|
});
|
|
34
|
-
|
|
28
|
+
plugin.name = "dynamodb.value.filter.in";
|
|
29
|
+
var _default = plugin;
|
|
35
30
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","some","c","includes"],"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\
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","some","c","includes","name"],"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;AACA;AAOA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,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,CAAC,CACJ;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,eAE1BZ,MAAM;AAAA"}
|
package/plugins/filters/index.js
CHANGED
|
@@ -1,34 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _eq = _interopRequireDefault(require("./eq"));
|
|
11
|
-
|
|
12
9
|
var _between = _interopRequireDefault(require("./between"));
|
|
13
|
-
|
|
14
10
|
var _andIn = _interopRequireDefault(require("./andIn"));
|
|
15
|
-
|
|
16
11
|
var _in = _interopRequireDefault(require("./in"));
|
|
17
|
-
|
|
18
12
|
var _gt = _interopRequireDefault(require("./gt"));
|
|
19
|
-
|
|
20
13
|
var _gte = _interopRequireDefault(require("./gte"));
|
|
21
|
-
|
|
22
14
|
var _lt = _interopRequireDefault(require("./lt"));
|
|
23
|
-
|
|
24
15
|
var _lte = _interopRequireDefault(require("./lte"));
|
|
25
|
-
|
|
26
16
|
var _contains = _interopRequireDefault(require("./contains"));
|
|
27
|
-
|
|
28
17
|
var _fuzzy = _interopRequireDefault(require("./fuzzy"));
|
|
29
|
-
|
|
30
18
|
var _startsWith = _interopRequireDefault(require("./startsWith"));
|
|
31
|
-
|
|
32
19
|
var _default = () => [_eq.default, _andIn.default, _in.default, _gt.default, _lt.default, _gte.default, _lte.default, _between.default, _contains.default, _fuzzy.default, _startsWith.default];
|
|
33
|
-
|
|
34
20
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["eqFilter","andInFilter","inFilter","gtFilter","ltFilter","gteFilter","lteFilter","betweenFilter","containsFilter","fuzzyFilter","startsWithFilter"],"sources":["index.ts"],"sourcesContent":["import eqFilter from \"./eq\";\nimport betweenFilter from \"./between\";\nimport andInFilter from \"./andIn\";\nimport inFilter from \"./in\";\nimport gtFilter from \"./gt\";\nimport gteFilter from \"./gte\";\nimport ltFilter from \"./lt\";\nimport lteFilter from \"./lte\";\nimport containsFilter from \"./contains\";\nimport fuzzyFilter from \"./fuzzy\";\nimport startsWithFilter from \"./startsWith\";\n\nexport default () => [\n eqFilter,\n andInFilter,\n inFilter,\n gtFilter,\n ltFilter,\n gteFilter,\n lteFilter,\n betweenFilter,\n containsFilter,\n fuzzyFilter,\n startsWithFilter\n];\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["eqFilter","andInFilter","inFilter","gtFilter","ltFilter","gteFilter","lteFilter","betweenFilter","containsFilter","fuzzyFilter","startsWithFilter"],"sources":["index.ts"],"sourcesContent":["import eqFilter from \"./eq\";\nimport betweenFilter from \"./between\";\nimport andInFilter from \"./andIn\";\nimport inFilter from \"./in\";\nimport gtFilter from \"./gt\";\nimport gteFilter from \"./gte\";\nimport ltFilter from \"./lt\";\nimport lteFilter from \"./lte\";\nimport containsFilter from \"./contains\";\nimport fuzzyFilter from \"./fuzzy\";\nimport startsWithFilter from \"./startsWith\";\n\nexport default () => [\n eqFilter,\n andInFilter,\n inFilter,\n gtFilter,\n ltFilter,\n gteFilter,\n lteFilter,\n betweenFilter,\n containsFilter,\n fuzzyFilter,\n startsWithFilter\n];\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA4C,eAE7B,MAAM,CACjBA,WAAQ,EACRC,cAAW,EACXC,WAAQ,EACRC,WAAQ,EACRC,WAAQ,EACRC,YAAS,EACTC,YAAS,EACTC,gBAAa,EACbC,iBAAc,EACdC,cAAW,EACXC,mBAAgB,CACnB;AAAA"}
|
package/plugins/filters/lt.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
|
|
2
|
-
declare const
|
|
3
|
-
export default
|
|
2
|
+
declare const plugin: ValueFilterPlugin;
|
|
3
|
+
export default plugin;
|
package/plugins/filters/lt.js
CHANGED
|
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
|
|
9
|
-
|
|
10
|
-
var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
8
|
+
const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
11
9
|
operation: "lt",
|
|
12
10
|
matches: ({
|
|
13
11
|
value,
|
|
@@ -16,5 +14,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
|
16
14
|
return value < compareValue;
|
|
17
15
|
}
|
|
18
16
|
});
|
|
19
|
-
|
|
17
|
+
plugin.name = "dynamodb.value.filter.lt";
|
|
18
|
+
var _default = plugin;
|
|
20
19
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["lt.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","name"],"sources":["lt.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"lt\",\n matches: ({ value, compareValue }) => {\n return value < compareValue;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.lt\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,OAAOD,KAAK,GAAGC,YAAY;EAC/B;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACM,IAAI,GAAG,0BAA0B;AAAC,eAE1BN,MAAM;AAAA"}
|
package/plugins/filters/lte.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
|
|
2
|
-
declare const
|
|
3
|
-
export default
|
|
2
|
+
declare const plugin: ValueFilterPlugin;
|
|
3
|
+
export default plugin;
|
package/plugins/filters/lte.js
CHANGED
|
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
|
|
9
|
-
|
|
10
|
-
var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
8
|
+
const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
11
9
|
operation: "lte",
|
|
12
10
|
matches: ({
|
|
13
11
|
value,
|
|
@@ -16,5 +14,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
|
16
14
|
return value <= compareValue;
|
|
17
15
|
}
|
|
18
16
|
});
|
|
19
|
-
|
|
17
|
+
plugin.name = "dynamodb.value.filter.lte";
|
|
18
|
+
var _default = plugin;
|
|
20
19
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["lte.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","name"],"sources":["lte.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"lte\",\n matches: ({ value, compareValue }) => {\n return value <= compareValue;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.lte\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,OAAOD,KAAK,IAAIC,YAAY;EAChC;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACM,IAAI,GAAG,2BAA2B;AAAC,eAE3BN,MAAM;AAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
|
|
2
|
-
declare const
|
|
3
|
-
export default
|
|
2
|
+
declare const plugin: ValueFilterPlugin;
|
|
3
|
+
export default plugin;
|
|
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
|
|
9
|
-
|
|
10
|
-
var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
8
|
+
const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
11
9
|
operation: "startsWith",
|
|
12
10
|
matches: ({
|
|
13
11
|
value,
|
|
@@ -17,17 +15,15 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
|
17
15
|
* We do "case-insensitive" comparison.
|
|
18
16
|
*/
|
|
19
17
|
const compareValueInLowerCase = compareValue.toLowerCase();
|
|
20
|
-
|
|
21
18
|
if (typeof value !== "string") {
|
|
22
19
|
if (Array.isArray(value) === true) {
|
|
23
20
|
return value.some(v => v.toLowerCase().startsWith(compareValueInLowerCase));
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
return false;
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
return value.toLowerCase().startsWith(compareValueInLowerCase);
|
|
30
25
|
}
|
|
31
26
|
});
|
|
32
|
-
|
|
27
|
+
plugin.name = "dynamodb.value.filter.startsWith";
|
|
28
|
+
var _default = plugin;
|
|
33
29
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","compareValueInLowerCase","toLowerCase","Array","isArray","some","v","startsWith"],"sources":["startsWith.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","compareValueInLowerCase","toLowerCase","Array","isArray","some","v","startsWith","name"],"sources":["startsWith.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"startsWith\",\n matches: ({ value, compareValue }) => {\n /**\n * We do \"case-insensitive\" comparison.\n */\n const compareValueInLowerCase = compareValue.toLowerCase();\n\n if (typeof value !== \"string\") {\n if (Array.isArray(value) === true) {\n return value.some((v: string) =>\n v.toLowerCase().startsWith(compareValueInLowerCase)\n );\n }\n return false;\n }\n\n return value.toLowerCase().startsWith(compareValueInLowerCase);\n }\n});\n\nplugin.name = \"dynamodb.value.filter.startsWith\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,YAAY;EACvBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC;AACR;AACA;IACQ,MAAMC,uBAAuB,GAAGD,YAAY,CAACE,WAAW,EAAE;IAE1D,IAAI,OAAOH,KAAK,KAAK,QAAQ,EAAE;MAC3B,IAAII,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,KAAK,IAAI,EAAE;QAC/B,OAAOA,KAAK,CAACM,IAAI,CAAEC,CAAS,IACxBA,CAAC,CAACJ,WAAW,EAAE,CAACK,UAAU,CAACN,uBAAuB,CAAC,CACtD;MACL;MACA,OAAO,KAAK;IAChB;IAEA,OAAOF,KAAK,CAACG,WAAW,EAAE,CAACK,UAAU,CAACN,uBAAuB,CAAC;EAClE;AACJ,CAAC,CAAC;AAEFN,MAAM,CAACa,IAAI,GAAG,kCAAkC;AAAC,eAElCb,MAAM;AAAA"}
|
package/plugins/index.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _filters = _interopRequireDefault(require("./filters"));
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* List everything that needs to be loaded by default.
|
|
14
11
|
*/
|
|
15
12
|
var _default = () => {
|
|
16
13
|
return [(0, _filters.default)()];
|
|
17
14
|
};
|
|
18
|
-
|
|
19
15
|
exports.default = _default;
|
package/plugins/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["filterPlugins"],"sources":["index.ts"],"sourcesContent":["/**\n * List everything that needs to be loaded by default.\n */\nimport filterPlugins from \"./filters\";\n\nexport default () => {\n return [filterPlugins()];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["filterPlugins"],"sources":["index.ts"],"sourcesContent":["/**\n * List everything that needs to be loaded by default.\n */\nimport filterPlugins from \"./filters\";\n\nexport default () => {\n return [filterPlugins()];\n};\n"],"mappings":";;;;;;;AAGA;AAHA;AACA;AACA;AAFA,eAKe,MAAM;EACjB,OAAO,CAAC,IAAAA,gBAAa,GAAE,CAAC;AAC5B,CAAC;AAAA"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _processStatement = _interopRequireDefault(require("./processStatement"));
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Remove this when no apps are using our internal db drivers anymore
|
|
14
11
|
*/
|
|
@@ -37,16 +34,12 @@ var _default = ({
|
|
|
37
34
|
IndexName: null
|
|
38
35
|
};
|
|
39
36
|
const sortKey = key.fields && key.fields[1];
|
|
40
|
-
|
|
41
37
|
if (sort && sort[sortKey.name] === -1) {
|
|
42
38
|
output.ScanIndexForward = false;
|
|
43
39
|
}
|
|
44
|
-
|
|
45
40
|
if (!key.primary) {
|
|
46
41
|
output.IndexName = key.name;
|
|
47
42
|
}
|
|
48
|
-
|
|
49
43
|
return output;
|
|
50
44
|
};
|
|
51
|
-
|
|
52
45
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["query","sort","key","args","expression","attributeNames","attributeValues","processStatement","$and","output","KeyConditionExpression","ExpressionAttributeNames","ExpressionAttributeValues","ScanIndexForward","IndexName","sortKey","fields","name","primary"],"sources":["createKeyConditionExpressionArgs.ts"],"sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport processStatement from \"./processStatement\";\nimport { ProcessStatementArgsParam, Query, QueryKey, QuerySort } from \"~/types\";\n\ninterface Output {\n KeyConditionExpression: string;\n ExpressionAttributeNames: Record<string, any>;\n ExpressionAttributeValues: Record<string, any>;\n ScanIndexForward: boolean;\n IndexName: string;\n}\ninterface Params {\n query: Query;\n sort: QuerySort;\n key: QueryKey;\n}\nexport default ({ query, sort, key }: Params): Output => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query: { $and: query } });\n\n const output: Output = {\n KeyConditionExpression: args.expression,\n ExpressionAttributeNames: args.attributeNames,\n ExpressionAttributeValues: args.attributeValues,\n ScanIndexForward: true,\n IndexName: null\n };\n\n const sortKey = key.fields && key.fields[1];\n if (sort && sort[sortKey.name] === -1) {\n output.ScanIndexForward = false;\n }\n\n if (!key.primary) {\n output.IndexName = key.name;\n }\n\n return output;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["query","sort","key","args","expression","attributeNames","attributeValues","processStatement","$and","output","KeyConditionExpression","ExpressionAttributeNames","ExpressionAttributeValues","ScanIndexForward","IndexName","sortKey","fields","name","primary"],"sources":["createKeyConditionExpressionArgs.ts"],"sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport processStatement from \"./processStatement\";\nimport { ProcessStatementArgsParam, Query, QueryKey, QuerySort } from \"~/types\";\n\ninterface Output {\n KeyConditionExpression: string;\n ExpressionAttributeNames: Record<string, any>;\n ExpressionAttributeValues: Record<string, any>;\n ScanIndexForward: boolean;\n IndexName: string;\n}\ninterface Params {\n query: Query;\n sort: QuerySort;\n key: QueryKey;\n}\nexport default ({ query, sort, key }: Params): Output => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query: { $and: query } });\n\n const output: Output = {\n KeyConditionExpression: args.expression,\n ExpressionAttributeNames: args.attributeNames,\n ExpressionAttributeValues: args.attributeValues,\n ScanIndexForward: true,\n IndexName: null\n };\n\n const sortKey = key.fields && key.fields[1];\n if (sort && sort[sortKey.name] === -1) {\n output.ScanIndexForward = false;\n }\n\n if (!key.primary) {\n output.IndexName = key.name;\n }\n\n return output;\n};\n"],"mappings":";;;;;;;AAIA;AAJA;AACA;AACA;AACA;AAAA,eAgBe,CAAC;EAAEA,KAAK;EAAEC,IAAI;EAAEC;AAAY,CAAC,KAAa;EACrD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EAAE;IACdC,cAAc,EAAE,CAAC,CAAC;IAClBC,eAAe,EAAE,CAAC;EACtB,CAAC;EAED,IAAAC,yBAAgB,EAAC;IAAEJ,IAAI;IAAEH,KAAK,EAAE;MAAEQ,IAAI,EAAER;IAAM;EAAE,CAAC,CAAC;EAElD,MAAMS,MAAc,GAAG;IACnBC,sBAAsB,EAAEP,IAAI,CAACC,UAAU;IACvCO,wBAAwB,EAAER,IAAI,CAACE,cAAc;IAC7CO,yBAAyB,EAAET,IAAI,CAACG,eAAe;IAC/CO,gBAAgB,EAAE,IAAI;IACtBC,SAAS,EAAE;EACf,CAAC;EAED,MAAMC,OAAO,GAAGb,GAAG,CAACc,MAAM,IAAId,GAAG,CAACc,MAAM,CAAC,CAAC,CAAC;EAC3C,IAAIf,IAAI,IAAIA,IAAI,CAACc,OAAO,CAACE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;IACnCR,MAAM,CAACI,gBAAgB,GAAG,KAAK;EACnC;EAEA,IAAI,CAACX,GAAG,CAACgB,OAAO,EAAE;IACdT,MAAM,CAACK,SAAS,GAAGZ,GAAG,CAACe,IAAI;EAC/B;EAEA,OAAOR,MAAM;AACjB,CAAC;AAAA"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _operators = _interopRequireDefault(require("./../operators"));
|
|
11
|
-
|
|
12
9
|
const processStatement = ({
|
|
13
10
|
args,
|
|
14
11
|
query
|
|
15
12
|
}) => {
|
|
16
13
|
outerLoop: for (const [key, value] of Object.entries(query)) {
|
|
17
14
|
const operators = Object.values(_operators.default);
|
|
18
|
-
|
|
19
15
|
for (let i = 0; i < operators.length; i++) {
|
|
20
16
|
const operator = operators[i];
|
|
21
|
-
|
|
22
17
|
if (operator.canProcess({
|
|
23
18
|
key,
|
|
24
19
|
value,
|
|
@@ -33,10 +28,8 @@ const processStatement = ({
|
|
|
33
28
|
continue outerLoop;
|
|
34
29
|
}
|
|
35
30
|
}
|
|
36
|
-
|
|
37
31
|
throw new Error(`Invalid operator {${key} : ${value}}.`);
|
|
38
32
|
}
|
|
39
33
|
};
|
|
40
|
-
|
|
41
34
|
var _default = processStatement;
|
|
42
35
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["processStatement","args","query","outerLoop","key","value","Object","entries","operators","values","allOperators","i","length","operator","canProcess","process","Error"],"sources":["processStatement.ts"],"sourcesContent":["import allOperators from \"./../operators\";\nimport { ProcessStatementCallable } from \"~/types\";\n\nconst processStatement: ProcessStatementCallable = ({ args, query }) => {\n outerLoop: for (const [key, value] of Object.entries(query)) {\n const operators = Object.values(allOperators);\n for (let i = 0; i < operators.length; i++) {\n const operator = operators[i];\n if (operator.canProcess({ key, value, args })) {\n operator.process({ key, value, args, processStatement });\n continue outerLoop;\n }\n }\n throw new Error(`Invalid operator {${key} : ${value}}.`);\n }\n};\nexport default processStatement;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["processStatement","args","query","outerLoop","key","value","Object","entries","operators","values","allOperators","i","length","operator","canProcess","process","Error"],"sources":["processStatement.ts"],"sourcesContent":["import allOperators from \"./../operators\";\nimport { ProcessStatementCallable } from \"~/types\";\n\nconst processStatement: ProcessStatementCallable = ({ args, query }) => {\n outerLoop: for (const [key, value] of Object.entries(query)) {\n const operators = Object.values(allOperators);\n for (let i = 0; i < operators.length; i++) {\n const operator = operators[i];\n if (operator.canProcess({ key, value, args })) {\n operator.process({ key, value, args, processStatement });\n continue outerLoop;\n }\n }\n throw new Error(`Invalid operator {${key} : ${value}}.`);\n }\n};\nexport default processStatement;\n"],"mappings":";;;;;;;AAAA;AAGA,MAAMA,gBAA0C,GAAG,CAAC;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EACpEC,SAAS,EAAE,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IACzD,MAAMM,SAAS,GAAGF,MAAM,CAACG,MAAM,CAACC,kBAAY,CAAC;IAC7C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,SAAS,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MACvC,MAAME,QAAQ,GAAGL,SAAS,CAACG,CAAC,CAAC;MAC7B,IAAIE,QAAQ,CAACC,UAAU,CAAC;QAAEV,GAAG;QAAEC,KAAK;QAAEJ;MAAK,CAAC,CAAC,EAAE;QAC3CY,QAAQ,CAACE,OAAO,CAAC;UAAEX,GAAG;UAAEC,KAAK;UAAEJ,IAAI;UAAED;QAAiB,CAAC,CAAC;QACxD,SAASG,SAAS;MACtB;IACJ;IACA,MAAM,IAAIa,KAAK,CAAE,qBAAoBZ,GAAI,MAAKC,KAAM,IAAG,CAAC;EAC5D;AACJ,CAAC;AAAC,eACaL,gBAAgB;AAAA"}
|
package/types.d.ts
CHANGED
|
@@ -55,4 +55,12 @@ export interface QueryKey {
|
|
|
55
55
|
}
|
|
56
56
|
export declare type QueryKeys = QueryKey[];
|
|
57
57
|
export declare type QuerySort = Record<string, -1 | 1>;
|
|
58
|
+
export declare type DbItem<TData extends Record<string, any> = Record<string, any>> = {
|
|
59
|
+
PK: string;
|
|
60
|
+
SK: string;
|
|
61
|
+
GSI1_PK: string;
|
|
62
|
+
GSI1_SK: string;
|
|
63
|
+
TYPE: string;
|
|
64
|
+
data: TData;
|
|
65
|
+
};
|
|
58
66
|
export {};
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface OperatorArgs {\n expression: string;\n attributeNames: Record<string, any>;\n attributeValues: Record<string, any>;\n}\n\ninterface CanProcessArgs {\n key: string;\n value: any;\n args: OperatorArgs;\n}\n\ninterface ProcessArgs {\n key: string;\n value: any;\n args: OperatorArgs;\n processStatement: any;\n}\n\nexport interface Operator {\n canProcess: ({ key }: CanProcessArgs) => boolean;\n process: ({ key, value, args }: ProcessArgs) => void;\n}\n\n/**\n * We use this definition to search for a value in any given field that was passed.\n * It works as an \"OR\" condition.\n */\nexport interface DynamoDbContainsFilter {\n fields: string[];\n value: string;\n}\n\nexport interface ProcessStatementArgsParam {\n expression: string;\n attributeNames: Record<string, any>;\n attributeValues: Record<string, any>;\n}\nexport interface ProcessStatementQueryParam {\n [key: string]: any;\n}\nexport interface ProcessStatementParams {\n args: ProcessStatementArgsParam;\n query: ProcessStatementQueryParam;\n}\n\nexport interface ProcessStatementCallable {\n (params: ProcessStatementParams): void;\n}\n\nexport interface Query {\n [key: string]: string;\n}\nexport interface QueryKeyField {\n name: string;\n}\nexport interface QueryKey {\n fields: QueryKeyField[];\n primary?: boolean;\n unique?: boolean;\n name: string;\n}\nexport type QueryKeys = QueryKey[];\n\nexport type QuerySort = Record<string, -1 | 1>;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface OperatorArgs {\n expression: string;\n attributeNames: Record<string, any>;\n attributeValues: Record<string, any>;\n}\n\ninterface CanProcessArgs {\n key: string;\n value: any;\n args: OperatorArgs;\n}\n\ninterface ProcessArgs {\n key: string;\n value: any;\n args: OperatorArgs;\n processStatement: any;\n}\n\nexport interface Operator {\n canProcess: ({ key }: CanProcessArgs) => boolean;\n process: ({ key, value, args }: ProcessArgs) => void;\n}\n\n/**\n * We use this definition to search for a value in any given field that was passed.\n * It works as an \"OR\" condition.\n */\nexport interface DynamoDbContainsFilter {\n fields: string[];\n value: string;\n}\n\nexport interface ProcessStatementArgsParam {\n expression: string;\n attributeNames: Record<string, any>;\n attributeValues: Record<string, any>;\n}\nexport interface ProcessStatementQueryParam {\n [key: string]: any;\n}\nexport interface ProcessStatementParams {\n args: ProcessStatementArgsParam;\n query: ProcessStatementQueryParam;\n}\n\nexport interface ProcessStatementCallable {\n (params: ProcessStatementParams): void;\n}\n\nexport interface Query {\n [key: string]: string;\n}\nexport interface QueryKeyField {\n name: string;\n}\nexport interface QueryKey {\n fields: QueryKeyField[];\n primary?: boolean;\n unique?: boolean;\n name: string;\n}\nexport type QueryKeys = QueryKey[];\n\nexport type QuerySort = Record<string, -1 | 1>;\n\nexport type DbItem<TData extends Record<string, any> = Record<string, any>> = {\n PK: string;\n SK: string;\n GSI1_PK: string;\n GSI1_SK: string;\n TYPE: string;\n data: TData;\n};\n"],"mappings":""}
|
package/utils/attributes.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.getExtraAttributesFromPlugins = exports.getExtraAttributes = void 0;
|
|
9
|
-
|
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
-
|
|
12
9
|
var _AttributePlugin = require("../plugins/definitions/AttributePlugin");
|
|
13
|
-
|
|
14
10
|
/**
|
|
15
11
|
* Will be removed in favor of directly assigning attributes to a certain entity when creating the storage operations.
|
|
16
12
|
*
|
|
@@ -19,13 +15,10 @@ var _AttributePlugin = require("../plugins/definitions/AttributePlugin");
|
|
|
19
15
|
const getExtraAttributes = (context, entity) => {
|
|
20
16
|
return getExtraAttributesFromPlugins(context.plugins, entity);
|
|
21
17
|
};
|
|
22
|
-
|
|
23
18
|
exports.getExtraAttributes = getExtraAttributes;
|
|
24
|
-
|
|
25
19
|
const getExtraAttributesFromPlugins = (plugins, entity) => {
|
|
26
20
|
return plugins.byType(_AttributePlugin.AttributePlugin.type).filter(plugin => plugin.entity === entity).reduce((attributes, plugin) => {
|
|
27
21
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, attributes), plugin.getDefinition());
|
|
28
22
|
}, {});
|
|
29
23
|
};
|
|
30
|
-
|
|
31
24
|
exports.getExtraAttributesFromPlugins = getExtraAttributesFromPlugins;
|
package/utils/attributes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getExtraAttributes","context","entity","getExtraAttributesFromPlugins","plugins","byType","AttributePlugin","type","filter","plugin","reduce","attributes","getDefinition"],"sources":["attributes.ts"],"sourcesContent":["import { Context } from \"@webiny/api/types\";\nimport { AttributePlugin, DefinitionParams } from \"~/plugins/definitions/AttributePlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\n/**\n * Will be removed in favor of directly assigning attributes to a certain entity when creating the storage operations.\n *\n * @deprecated\n */\nexport const getExtraAttributes = (\n context: Context,\n entity: string\n): Record<string, DefinitionParams> => {\n return getExtraAttributesFromPlugins(context.plugins, entity);\n};\n\nexport const getExtraAttributesFromPlugins = (\n plugins: PluginsContainer,\n entity: string\n): Record<string, DefinitionParams> => {\n return plugins\n .byType<AttributePlugin>(AttributePlugin.type)\n .filter(plugin => plugin.entity === entity)\n .reduce((attributes, plugin) => {\n return {\n ...attributes,\n ...plugin.getDefinition()\n };\n }, {});\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["getExtraAttributes","context","entity","getExtraAttributesFromPlugins","plugins","byType","AttributePlugin","type","filter","plugin","reduce","attributes","getDefinition"],"sources":["attributes.ts"],"sourcesContent":["import { Context } from \"@webiny/api/types\";\nimport { AttributePlugin, DefinitionParams } from \"~/plugins/definitions/AttributePlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\n/**\n * Will be removed in favor of directly assigning attributes to a certain entity when creating the storage operations.\n *\n * @deprecated\n */\nexport const getExtraAttributes = (\n context: Context,\n entity: string\n): Record<string, DefinitionParams> => {\n return getExtraAttributesFromPlugins(context.plugins, entity);\n};\n\nexport const getExtraAttributesFromPlugins = (\n plugins: PluginsContainer,\n entity: string\n): Record<string, DefinitionParams> => {\n return plugins\n .byType<AttributePlugin>(AttributePlugin.type)\n .filter(plugin => plugin.entity === entity)\n .reduce((attributes, plugin) => {\n return {\n ...attributes,\n ...plugin.getDefinition()\n };\n }, {});\n};\n"],"mappings":";;;;;;;;AACA;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAG,CAC9BC,OAAgB,EAChBC,MAAc,KACqB;EACnC,OAAOC,6BAA6B,CAACF,OAAO,CAACG,OAAO,EAAEF,MAAM,CAAC;AACjE,CAAC;AAAC;AAEK,MAAMC,6BAA6B,GAAG,CACzCC,OAAyB,EACzBF,MAAc,KACqB;EACnC,OAAOE,OAAO,CACTC,MAAM,CAAkBC,gCAAe,CAACC,IAAI,CAAC,CAC7CC,MAAM,CAACC,MAAM,IAAIA,MAAM,CAACP,MAAM,KAAKA,MAAM,CAAC,CAC1CQ,MAAM,CAAC,CAACC,UAAU,EAAEF,MAAM,KAAK;IAC5B,mEACOE,UAAU,GACVF,MAAM,CAACG,aAAa,EAAE;EAEjC,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAAC"}
|
package/utils/batchRead.js
CHANGED
|
@@ -1,29 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.batchReadAll = void 0;
|
|
9
|
-
|
|
10
8
|
var _chunk = _interopRequireDefault(require("lodash/chunk"));
|
|
11
|
-
|
|
12
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
|
-
|
|
14
10
|
const MAX_BATCH_ITEMS = 100;
|
|
15
|
-
|
|
16
11
|
const flatten = responses => {
|
|
17
12
|
const entries = [];
|
|
18
13
|
const values = Object.values(responses);
|
|
19
|
-
|
|
20
14
|
for (const items of values) {
|
|
21
15
|
entries.push(...items);
|
|
22
16
|
}
|
|
23
|
-
|
|
24
17
|
return entries;
|
|
25
18
|
};
|
|
26
|
-
|
|
27
19
|
const batchReadAllChunk = async params => {
|
|
28
20
|
const {
|
|
29
21
|
table,
|
|
@@ -31,38 +23,28 @@ const batchReadAllChunk = async params => {
|
|
|
31
23
|
} = params;
|
|
32
24
|
const records = [];
|
|
33
25
|
const result = await table.batchGet(items);
|
|
34
|
-
|
|
35
26
|
if (!result || !result.Responses) {
|
|
36
27
|
return records;
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
records.push(...flatten(result.Responses));
|
|
40
|
-
|
|
41
30
|
if (!result.next || typeof result.next !== "function") {
|
|
42
31
|
return records;
|
|
43
32
|
}
|
|
44
|
-
|
|
45
33
|
let previous = result;
|
|
46
|
-
|
|
47
34
|
while (typeof previous.next === "function") {
|
|
48
35
|
const nextResult = await previous.next();
|
|
49
|
-
|
|
50
36
|
if (!nextResult) {
|
|
51
37
|
return records;
|
|
52
38
|
}
|
|
53
|
-
|
|
54
39
|
records.push(...flatten(nextResult.Responses));
|
|
55
40
|
previous = nextResult;
|
|
56
41
|
}
|
|
57
|
-
|
|
58
42
|
return records;
|
|
59
43
|
};
|
|
60
44
|
/**
|
|
61
45
|
* This helper function is meant to be used to batch read from one table.
|
|
62
46
|
* It will fetch all results, as there is a next() method call built in.
|
|
63
47
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
48
|
const batchReadAll = async (params, maxChunk = MAX_BATCH_ITEMS) => {
|
|
67
49
|
if (params.items.length === 0) {
|
|
68
50
|
return [];
|
|
@@ -71,10 +53,8 @@ const batchReadAll = async (params, maxChunk = MAX_BATCH_ITEMS) => {
|
|
|
71
53
|
maxChunk
|
|
72
54
|
});
|
|
73
55
|
}
|
|
74
|
-
|
|
75
56
|
const records = [];
|
|
76
57
|
const chunkItemsList = (0, _chunk.default)(params.items, maxChunk);
|
|
77
|
-
|
|
78
58
|
for (const chunkItems of chunkItemsList) {
|
|
79
59
|
const results = await batchReadAllChunk({
|
|
80
60
|
table: params.table,
|
|
@@ -82,8 +62,6 @@ const batchReadAll = async (params, maxChunk = MAX_BATCH_ITEMS) => {
|
|
|
82
62
|
});
|
|
83
63
|
records.push(...results);
|
|
84
64
|
}
|
|
85
|
-
|
|
86
65
|
return records;
|
|
87
66
|
};
|
|
88
|
-
|
|
89
67
|
exports.batchReadAll = batchReadAll;
|
package/utils/batchRead.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MAX_BATCH_ITEMS","flatten","responses","entries","values","Object","items","push","batchReadAllChunk","params","table","records","result","batchGet","Responses","next","previous","nextResult","batchReadAll","maxChunk","length","WebinyError","chunkItemsList","lodashChunk","chunkItems","results"],"sources":["batchRead.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport WebinyError from \"@webiny/error\";\n\ninterface Item {\n Table: Table;\n Key: any;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\nconst MAX_BATCH_ITEMS = 100;\n\nconst flatten = (responses: Record<string, any[]>): any[] => {\n const entries = [];\n const values = Object.values(responses);\n for (const items of values) {\n entries.push(...items);\n }\n return entries;\n};\n\ninterface BatchReadAllChunkParams {\n table: Table;\n items: Item[];\n}\nconst batchReadAllChunk = async <T = any>(params: BatchReadAllChunkParams): Promise<T[]> => {\n const { table, items } = params;\n const records: T[] = [];\n\n const result = await table.batchGet(items);\n if (!result || !result.Responses) {\n return records;\n }\n records.push(...flatten(result.Responses));\n if (!result.next || typeof result.next !== \"function\") {\n return records;\n }\n let previous = result;\n while (typeof previous.next === \"function\") {\n const nextResult = await previous.next();\n if (!nextResult) {\n return records;\n }\n records.push(...flatten(nextResult.Responses));\n previous = nextResult;\n }\n return records;\n};\n/**\n * This helper function is meant to be used to batch read from one table.\n * It will fetch all results, as there is a next() method call built in.\n */\nexport const batchReadAll = async <T = any>(\n params: Params,\n maxChunk = MAX_BATCH_ITEMS\n): Promise<T[]> => {\n if (params.items.length === 0) {\n return [];\n } else if (maxChunk > MAX_BATCH_ITEMS) {\n throw new WebinyError(\n `Cannot set to load more than ${MAX_BATCH_ITEMS} items from the DynamoDB at once.`,\n \"DYNAMODB_MAX_BATCH_GET_LIMIT_ERROR\",\n {\n maxChunk\n }\n );\n }\n\n const records: T[] = [];\n\n const chunkItemsList: Item[][] = lodashChunk(params.items, maxChunk);\n\n for (const chunkItems of chunkItemsList) {\n const results = await batchReadAllChunk<T>({\n table: params.table,\n items: chunkItems\n });\n\n records.push(...results);\n }\n\n return records;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["MAX_BATCH_ITEMS","flatten","responses","entries","values","Object","items","push","batchReadAllChunk","params","table","records","result","batchGet","Responses","next","previous","nextResult","batchReadAll","maxChunk","length","WebinyError","chunkItemsList","lodashChunk","chunkItems","results"],"sources":["batchRead.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport WebinyError from \"@webiny/error\";\n\ninterface Item {\n Table: Table;\n Key: any;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\nconst MAX_BATCH_ITEMS = 100;\n\nconst flatten = (responses: Record<string, any[]>): any[] => {\n const entries = [];\n const values = Object.values(responses);\n for (const items of values) {\n entries.push(...items);\n }\n return entries;\n};\n\ninterface BatchReadAllChunkParams {\n table: Table;\n items: Item[];\n}\nconst batchReadAllChunk = async <T = any>(params: BatchReadAllChunkParams): Promise<T[]> => {\n const { table, items } = params;\n const records: T[] = [];\n\n const result = await table.batchGet(items);\n if (!result || !result.Responses) {\n return records;\n }\n records.push(...flatten(result.Responses));\n if (!result.next || typeof result.next !== \"function\") {\n return records;\n }\n let previous = result;\n while (typeof previous.next === \"function\") {\n const nextResult = await previous.next();\n if (!nextResult) {\n return records;\n }\n records.push(...flatten(nextResult.Responses));\n previous = nextResult;\n }\n return records;\n};\n/**\n * This helper function is meant to be used to batch read from one table.\n * It will fetch all results, as there is a next() method call built in.\n */\nexport const batchReadAll = async <T = any>(\n params: Params,\n maxChunk = MAX_BATCH_ITEMS\n): Promise<T[]> => {\n if (params.items.length === 0) {\n return [];\n } else if (maxChunk > MAX_BATCH_ITEMS) {\n throw new WebinyError(\n `Cannot set to load more than ${MAX_BATCH_ITEMS} items from the DynamoDB at once.`,\n \"DYNAMODB_MAX_BATCH_GET_LIMIT_ERROR\",\n {\n maxChunk\n }\n );\n }\n\n const records: T[] = [];\n\n const chunkItemsList: Item[][] = lodashChunk(params.items, maxChunk);\n\n for (const chunkItems of chunkItemsList) {\n const results = await batchReadAllChunk<T>({\n table: params.table,\n items: chunkItems\n });\n\n records.push(...results);\n }\n\n return records;\n};\n"],"mappings":";;;;;;;AACA;AACA;AAWA,MAAMA,eAAe,GAAG,GAAG;AAE3B,MAAMC,OAAO,GAAIC,SAAgC,IAAY;EACzD,MAAMC,OAAO,GAAG,EAAE;EAClB,MAAMC,MAAM,GAAGC,MAAM,CAACD,MAAM,CAACF,SAAS,CAAC;EACvC,KAAK,MAAMI,KAAK,IAAIF,MAAM,EAAE;IACxBD,OAAO,CAACI,IAAI,CAAC,GAAGD,KAAK,CAAC;EAC1B;EACA,OAAOH,OAAO;AAClB,CAAC;AAMD,MAAMK,iBAAiB,GAAG,MAAgBC,MAA+B,IAAmB;EACxF,MAAM;IAAEC,KAAK;IAAEJ;EAAM,CAAC,GAAGG,MAAM;EAC/B,MAAME,OAAY,GAAG,EAAE;EAEvB,MAAMC,MAAM,GAAG,MAAMF,KAAK,CAACG,QAAQ,CAACP,KAAK,CAAC;EAC1C,IAAI,CAACM,MAAM,IAAI,CAACA,MAAM,CAACE,SAAS,EAAE;IAC9B,OAAOH,OAAO;EAClB;EACAA,OAAO,CAACJ,IAAI,CAAC,GAAGN,OAAO,CAACW,MAAM,CAACE,SAAS,CAAC,CAAC;EAC1C,IAAI,CAACF,MAAM,CAACG,IAAI,IAAI,OAAOH,MAAM,CAACG,IAAI,KAAK,UAAU,EAAE;IACnD,OAAOJ,OAAO;EAClB;EACA,IAAIK,QAAQ,GAAGJ,MAAM;EACrB,OAAO,OAAOI,QAAQ,CAACD,IAAI,KAAK,UAAU,EAAE;IACxC,MAAME,UAAU,GAAG,MAAMD,QAAQ,CAACD,IAAI,EAAE;IACxC,IAAI,CAACE,UAAU,EAAE;MACb,OAAON,OAAO;IAClB;IACAA,OAAO,CAACJ,IAAI,CAAC,GAAGN,OAAO,CAACgB,UAAU,CAACH,SAAS,CAAC,CAAC;IAC9CE,QAAQ,GAAGC,UAAU;EACzB;EACA,OAAON,OAAO;AAClB,CAAC;AACD;AACA;AACA;AACA;AACO,MAAMO,YAAY,GAAG,OACxBT,MAAc,EACdU,QAAQ,GAAGnB,eAAe,KACX;EACf,IAAIS,MAAM,CAACH,KAAK,CAACc,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACb,CAAC,MAAM,IAAID,QAAQ,GAAGnB,eAAe,EAAE;IACnC,MAAM,IAAIqB,cAAW,CAChB,gCAA+BrB,eAAgB,mCAAkC,EAClF,oCAAoC,EACpC;MACImB;IACJ,CAAC,CACJ;EACL;EAEA,MAAMR,OAAY,GAAG,EAAE;EAEvB,MAAMW,cAAwB,GAAG,IAAAC,cAAW,EAACd,MAAM,CAACH,KAAK,EAAEa,QAAQ,CAAC;EAEpE,KAAK,MAAMK,UAAU,IAAIF,cAAc,EAAE;IACrC,MAAMG,OAAO,GAAG,MAAMjB,iBAAiB,CAAI;MACvCE,KAAK,EAAED,MAAM,CAACC,KAAK;MACnBJ,KAAK,EAAEkB;IACX,CAAC,CAAC;IAEFb,OAAO,CAACJ,IAAI,CAAC,GAAGkB,OAAO,CAAC;EAC5B;EAEA,OAAOd,OAAO;AAClB,CAAC;AAAC"}
|
package/utils/batchWrite.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.batchWriteAll = void 0;
|
|
9
|
-
|
|
10
8
|
var _chunk = _interopRequireDefault(require("lodash/chunk"));
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Method is meant for batch writing to a single table.
|
|
14
11
|
* It expects already prepared items for the write.
|
|
@@ -19,12 +16,9 @@ const batchWriteAll = async (params, maxChunk = 25) => {
|
|
|
19
16
|
if (params.items.length === 0) {
|
|
20
17
|
return;
|
|
21
18
|
}
|
|
22
|
-
|
|
23
19
|
const chunkedItems = (0, _chunk.default)(params.items, maxChunk);
|
|
24
|
-
|
|
25
20
|
for (const items of chunkedItems) {
|
|
26
21
|
await params.table.batchWrite(items);
|
|
27
22
|
}
|
|
28
23
|
};
|
|
29
|
-
|
|
30
24
|
exports.batchWriteAll = batchWriteAll;
|
package/utils/batchWrite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["batchWriteAll","params","maxChunk","items","length","chunkedItems","lodashChunk","table","batchWrite"],"sources":["batchWrite.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\n\ninterface Item {\n [key: string]: DocumentClient.WriteRequest;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\n/**\n * Method is meant for batch writing to a single table.\n * It expects already prepared items for the write.\n * It can either delete or put items\n * The method does not check items before actually sending them into the underlying library.\n */\nexport const batchWriteAll = async (params: Params, maxChunk = 25): Promise<void> => {\n if (params.items.length === 0) {\n return;\n }\n const chunkedItems: Item[][] = lodashChunk(params.items, maxChunk);\n for (const items of chunkedItems) {\n await params.table.batchWrite(items);\n }\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["batchWriteAll","params","maxChunk","items","length","chunkedItems","lodashChunk","table","batchWrite"],"sources":["batchWrite.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\n\ninterface Item {\n [key: string]: DocumentClient.WriteRequest;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\n/**\n * Method is meant for batch writing to a single table.\n * It expects already prepared items for the write.\n * It can either delete or put items\n * The method does not check items before actually sending them into the underlying library.\n */\nexport const batchWriteAll = async (params: Params, maxChunk = 25): Promise<void> => {\n if (params.items.length === 0) {\n return;\n }\n const chunkedItems: Item[][] = lodashChunk(params.items, maxChunk);\n for (const items of chunkedItems) {\n await params.table.batchWrite(items);\n }\n};\n"],"mappings":";;;;;;;AACA;AAWA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GAAG,OAAOC,MAAc,EAAEC,QAAQ,GAAG,EAAE,KAAoB;EACjF,IAAID,MAAM,CAACE,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B;EACJ;EACA,MAAMC,YAAsB,GAAG,IAAAC,cAAW,EAACL,MAAM,CAACE,KAAK,EAAED,QAAQ,CAAC;EAClE,KAAK,MAAMC,KAAK,IAAIE,YAAY,EAAE;IAC9B,MAAMJ,MAAM,CAACM,KAAK,CAACC,UAAU,CAACL,KAAK,CAAC;EACxC;AACJ,CAAC;AAAC"}
|