@webiny/db-dynamodb 0.0.0-mt-2 → 0.0.0-unstable.085ff6572f
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.d.ts +27 -11
- package/BatchProcess.js +10 -42
- package/BatchProcess.js.map +1 -0
- package/DynamoDbDriver.d.ts +19 -11
- package/DynamoDbDriver.js +11 -44
- package/DynamoDbDriver.js.map +1 -0
- package/QueryGenerator.d.ts +15 -13
- package/QueryGenerator.js +16 -31
- package/QueryGenerator.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.js +25 -4
- package/index.js.map +1 -0
- package/operators/comparison/beginsWith.js.map +1 -0
- package/operators/comparison/between.js.map +1 -0
- package/operators/comparison/eq.js +0 -2
- package/operators/comparison/eq.js.map +1 -0
- package/operators/comparison/gt.js.map +1 -0
- package/operators/comparison/gte.js.map +1 -0
- package/operators/comparison/lt.js.map +1 -0
- package/operators/comparison/lte.js.map +1 -0
- package/operators/index.js +1 -12
- package/operators/index.js.map +1 -0
- package/operators/logical/and.js +0 -5
- package/operators/logical/and.js.map +1 -0
- package/operators/logical/or.js +0 -5
- package/operators/logical/or.js.map +1 -0
- package/package.json +20 -19
- package/plugins/definitions/AttributePlugin.d.ts +3 -3
- package/plugins/definitions/AttributePlugin.js +1 -14
- package/plugins/definitions/AttributePlugin.js.map +1 -0
- package/plugins/definitions/DateTimeTransformPlugin.d.ts +2 -2
- package/plugins/definitions/DateTimeTransformPlugin.js +6 -20
- package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -0
- package/plugins/definitions/FieldPathPlugin.d.ts +3 -3
- package/plugins/definitions/FieldPathPlugin.js +3 -17
- package/plugins/definitions/FieldPathPlugin.js.map +1 -0
- package/plugins/definitions/FieldPlugin.d.ts +3 -3
- package/plugins/definitions/FieldPlugin.js +1 -17
- package/plugins/definitions/FieldPlugin.js.map +1 -0
- package/plugins/definitions/NumberTransformPlugin.d.ts +2 -2
- package/plugins/definitions/NumberTransformPlugin.js +3 -18
- package/plugins/definitions/NumberTransformPlugin.js.map +1 -0
- package/plugins/definitions/TimeTransformPlugin.d.ts +2 -2
- package/plugins/definitions/TimeTransformPlugin.js +3 -21
- package/plugins/definitions/TimeTransformPlugin.js.map +1 -0
- package/plugins/definitions/ValueFilterPlugin.d.ts +10 -10
- package/plugins/definitions/ValueFilterPlugin.js +1 -13
- package/plugins/definitions/ValueFilterPlugin.js.map +1 -0
- package/plugins/definitions/ValueTransformPlugin.d.ts +8 -8
- package/plugins/definitions/ValueTransformPlugin.js +3 -18
- package/plugins/definitions/ValueTransformPlugin.js.map +1 -0
- package/plugins/definitions/assignFields.js +1 -10
- package/plugins/definitions/assignFields.js.map +1 -0
- package/plugins/filters/andIn.d.ts +2 -2
- package/plugins/filters/andIn.js +4 -9
- package/plugins/filters/andIn.js.map +1 -0
- package/plugins/filters/between.d.ts +2 -2
- package/plugins/filters/between.js +4 -9
- package/plugins/filters/between.js.map +1 -0
- package/plugins/filters/contains.d.ts +2 -2
- package/plugins/filters/contains.js +3 -6
- package/plugins/filters/contains.js.map +1 -0
- package/plugins/filters/eq.d.ts +2 -2
- package/plugins/filters/eq.js +15 -4
- package/plugins/filters/eq.js.map +1 -0
- package/plugins/filters/fuzzy.d.ts +2 -2
- package/plugins/filters/fuzzy.js +9 -9
- package/plugins/filters/fuzzy.js.map +1 -0
- package/plugins/filters/gt.d.ts +2 -2
- package/plugins/filters/gt.js +3 -4
- package/plugins/filters/gt.js.map +1 -0
- package/plugins/filters/gte.d.ts +2 -2
- package/plugins/filters/gte.js +3 -4
- package/plugins/filters/gte.js.map +1 -0
- package/plugins/filters/in.d.ts +2 -2
- package/plugins/filters/in.js +4 -9
- package/plugins/filters/in.js.map +1 -0
- package/plugins/filters/index.js +3 -15
- package/plugins/filters/index.js.map +1 -0
- package/plugins/filters/lt.d.ts +2 -2
- package/plugins/filters/lt.js +3 -4
- package/plugins/filters/lt.js.map +1 -0
- package/plugins/filters/lte.d.ts +2 -2
- package/plugins/filters/lte.js +3 -4
- package/plugins/filters/lte.js.map +1 -0
- package/plugins/filters/startsWith.d.ts +3 -0
- package/plugins/filters/startsWith.js +29 -0
- package/plugins/filters/startsWith.js.map +1 -0
- package/plugins/index.js +1 -5
- package/plugins/index.js.map +1 -0
- package/statements/createKeyConditionExpressionArgs.d.ts +12 -9
- package/statements/createKeyConditionExpressionArgs.js +5 -8
- package/statements/createKeyConditionExpressionArgs.js.map +1 -0
- package/statements/processStatement.d.ts +3 -4
- package/statements/processStatement.js +7 -11
- package/statements/processStatement.js.map +1 -0
- package/types.d.ts +45 -8
- package/types.js.map +1 -0
- package/utils/attributes.d.ts +2 -2
- package/utils/attributes.js +3 -14
- package/utils/attributes.js.map +1 -0
- package/utils/batchRead.d.ts +4 -5
- package/utils/batchRead.js +43 -34
- package/utils/batchRead.js.map +1 -0
- package/utils/batchWrite.d.ts +4 -5
- package/utils/batchWrite.js +1 -7
- package/utils/batchWrite.js.map +1 -0
- package/utils/cleanup.d.ts +2 -2
- package/utils/cleanup.js +9 -27
- package/utils/cleanup.js.map +1 -0
- package/utils/createEntity.d.ts +14 -0
- package/utils/createEntity.js +60 -0
- package/utils/createEntity.js.map +1 -0
- package/utils/createTable.d.ts +7 -0
- package/utils/createTable.js +25 -0
- package/utils/createTable.js.map +1 -0
- package/utils/cursor.d.ts +2 -2
- package/utils/cursor.js +0 -6
- package/utils/cursor.js.map +1 -0
- package/utils/filter.d.ts +2 -2
- package/utils/filter.js +7 -43
- package/utils/filter.js.map +1 -0
- package/utils/get.d.ts +2 -2
- package/utils/get.js +0 -4
- package/utils/get.js.map +1 -0
- package/utils/index.d.ts +12 -0
- package/utils/index.js +137 -0
- package/utils/index.js.map +1 -0
- package/utils/listResponse.d.ts +1 -1
- package/utils/listResponse.js +7 -8
- package/utils/listResponse.js.map +1 -0
- package/utils/query.d.ts +8 -4
- package/utils/query.js +28 -36
- package/utils/query.js.map +1 -0
- package/utils/sort.d.ts +2 -2
- package/utils/sort.js +4 -23
- package/utils/sort.js.map +1 -0
- package/utils/table.js +1 -6
- package/utils/table.js.map +1 -0
- package/utils/documentClient.d.ts +0 -8
- package/utils/documentClient.js +0 -33
|
@@ -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: "contains",
|
|
12
10
|
matches: ({
|
|
13
11
|
value,
|
|
@@ -20,13 +18,12 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
|
20
18
|
return v.match(re) !== null;
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
|
-
|
|
24
21
|
return false;
|
|
25
22
|
}
|
|
26
|
-
|
|
27
23
|
const re = new RegExp(compareValue, "i");
|
|
28
24
|
return value.match(re) !== null;
|
|
29
25
|
}
|
|
30
26
|
});
|
|
31
|
-
|
|
27
|
+
plugin.name = "dynamodb.value.filter.contains";
|
|
28
|
+
var _default = plugin;
|
|
32
29
|
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","re","RegExp","some","v","match","name"],"sources":["contains.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"contains\",\n matches: ({ value, compareValue }) => {\n if (typeof value !== \"string\") {\n if (Array.isArray(value) === true) {\n const re = new RegExp(compareValue, \"i\");\n return value.some((v: string) => {\n return v.match(re) !== null;\n });\n }\n return false;\n }\n const re = new RegExp(compareValue, \"i\");\n return value.match(re) !== null;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.contains\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,UAAU;EACrBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;MAC3B,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;QAC/B,MAAMI,EAAE,GAAG,IAAIC,MAAM,CAACJ,YAAY,EAAE,GAAG,CAAC;QACxC,OAAOD,KAAK,CAACM,IAAI,CAAEC,CAAS,IAAK;UAC7B,OAAOA,CAAC,CAACC,KAAK,CAACJ,EAAE,CAAC,KAAK,IAAI;QAC/B,CAAC,CAAC;MACN;MACA,OAAO,KAAK;IAChB;IACA,MAAMA,EAAE,GAAG,IAAIC,MAAM,CAACJ,YAAY,EAAE,GAAG,CAAC;IACxC,OAAOD,KAAK,CAACQ,KAAK,CAACJ,EAAE,CAAC,KAAK,IAAI;EACnC;AACJ,CAAC,CAAC;AAEFR,MAAM,CAACa,IAAI,GAAG,gCAAgC;AAAC,eAEhCb,MAAM;AAAA"}
|
package/plugins/filters/eq.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/eq.js
CHANGED
|
@@ -4,17 +4,28 @@ 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: "eq",
|
|
12
10
|
matches: ({
|
|
13
11
|
value,
|
|
14
12
|
compareValue
|
|
15
13
|
}) => {
|
|
14
|
+
/**
|
|
15
|
+
* Possibility that either input value or one from the system is array.
|
|
16
|
+
*/
|
|
17
|
+
if (Array.isArray(value) === true) {
|
|
18
|
+
return value.some(v => {
|
|
19
|
+
return Array.isArray(compareValue) ? compareValue.includes(v) : compareValue === v;
|
|
20
|
+
});
|
|
21
|
+
} else if (Array.isArray(compareValue) === true) {
|
|
22
|
+
return compareValue.every(v => {
|
|
23
|
+
return value === v;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
16
26
|
return value === compareValue;
|
|
17
27
|
}
|
|
18
28
|
});
|
|
19
|
-
|
|
29
|
+
plugin.name = "dynamodb.value.filter.eq";
|
|
30
|
+
var _default = plugin;
|
|
20
31
|
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","some","v","includes","every","name"],"sources":["eq.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"eq\",\n matches: ({ value, compareValue }) => {\n /**\n * Possibility that either input value or one from the system is array.\n */\n if (Array.isArray(value) === true) {\n return value.some((v: string) => {\n return Array.isArray(compareValue) ? compareValue.includes(v) : compareValue === v;\n });\n } else if (Array.isArray(compareValue) === true) {\n return compareValue.every((v: string) => {\n return value === v;\n });\n }\n return value === compareValue;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.eq\";\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;AACR;AACA;IACQ,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOA,KAAK,CAACI,IAAI,CAAEC,CAAS,IAAK;QAC7B,OAAOH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,GAAGA,YAAY,CAACK,QAAQ,CAACD,CAAC,CAAC,GAAGJ,YAAY,KAAKI,CAAC;MACtF,CAAC,CAAC;IACN,CAAC,MAAM,IAAIH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,IAAI,EAAE;MAC7C,OAAOA,YAAY,CAACM,KAAK,CAAEF,CAAS,IAAK;QACrC,OAAOL,KAAK,KAAKK,CAAC;MACtB,CAAC,CAAC;IACN;IACA,OAAOL,KAAK,KAAKC,YAAY;EACjC;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACY,IAAI,GAAG,0BAA0B;AAAC,eAE1BZ,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;
|
package/plugins/filters/fuzzy.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
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.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _fuse = _interopRequireDefault(require("fuse.js"));
|
|
11
|
-
|
|
12
9
|
var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
|
|
13
|
-
|
|
14
|
-
var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
10
|
+
const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
15
11
|
operation: "fuzzy",
|
|
16
12
|
matches: ({
|
|
17
13
|
value,
|
|
@@ -20,11 +16,15 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
|
20
16
|
if (typeof value !== "string") {
|
|
21
17
|
return false;
|
|
22
18
|
}
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
const f = new _fuse.default([value], {
|
|
20
|
+
includeScore: true,
|
|
21
|
+
minMatchCharLength: 3,
|
|
22
|
+
threshold: 0.6
|
|
23
|
+
});
|
|
25
24
|
const result = f.search(compareValue);
|
|
26
25
|
return result.length > 0;
|
|
27
26
|
}
|
|
28
27
|
});
|
|
29
|
-
|
|
28
|
+
plugin.name = "dynamodb.value.filter.fuzzy";
|
|
29
|
+
var _default = plugin;
|
|
30
30
|
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","f","Fuse","includeScore","minMatchCharLength","threshold","result","search","length","name"],"sources":["fuzzy.ts"],"sourcesContent":["import Fuse from \"fuse.js\";\nimport {\n ValueFilterPluginParamsMatchesParams,\n ValueFilterPlugin\n} from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"fuzzy\",\n matches: ({\n value,\n compareValue\n }: ValueFilterPluginParamsMatchesParams<string | null, string>) => {\n if (typeof value !== \"string\") {\n return false;\n }\n const f = new Fuse([value], {\n includeScore: true,\n minMatchCharLength: 3,\n threshold: 0.6\n });\n const result = f.search(compareValue);\n\n return result.length > 0;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.fuzzy\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA;AACA;AAKA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,OAAO;EAClBC,OAAO,EAAE,CAAC;IACNC,KAAK;IACLC;EACyD,CAAC,KAAK;IAC/D,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;MAC3B,OAAO,KAAK;IAChB;IACA,MAAME,CAAC,GAAG,IAAIC,aAAI,CAAC,CAACH,KAAK,CAAC,EAAE;MACxBI,YAAY,EAAE,IAAI;MAClBC,kBAAkB,EAAE,CAAC;MACrBC,SAAS,EAAE;IACf,CAAC,CAAC;IACF,MAAMC,MAAM,GAAGL,CAAC,CAACM,MAAM,CAACP,YAAY,CAAC;IAErC,OAAOM,MAAM,CAACE,MAAM,GAAG,CAAC;EAC5B;AACJ,CAAC,CAAC;AAEFb,MAAM,CAACc,IAAI,GAAG,6BAA6B;AAAC,eAE7Bd,MAAM;AAAA"}
|
package/plugins/filters/gt.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/gt.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: "gt",
|
|
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.gt";
|
|
18
|
+
var _default = plugin;
|
|
20
19
|
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","name"],"sources":["gt.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"gt\",\n matches: ({ value, compareValue }) => {\n return value > compareValue;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.gt\";\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/gte.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/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;
|
|
@@ -0,0 +1 @@
|
|
|
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
|
-
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.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;
|
|
@@ -0,0 +1 @@
|
|
|
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,32 +1,20 @@
|
|
|
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.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
|
-
var _default = () => [_eq.default, _andIn.default, _in.default, _gt.default, _lt.default, _gte.default, _lte.default, _between.default, _contains.default, _fuzzy.default];
|
|
31
|
-
|
|
18
|
+
var _startsWith = _interopRequireDefault(require("./startsWith"));
|
|
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];
|
|
32
20
|
exports.default = _default;
|
|
@@ -0,0 +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":";;;;;;;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;
|
|
@@ -0,0 +1 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
|
|
8
|
+
const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
|
|
9
|
+
operation: "startsWith",
|
|
10
|
+
matches: ({
|
|
11
|
+
value,
|
|
12
|
+
compareValue
|
|
13
|
+
}) => {
|
|
14
|
+
/**
|
|
15
|
+
* We do "case-insensitive" comparison.
|
|
16
|
+
*/
|
|
17
|
+
const compareValueInLowerCase = compareValue.toLowerCase();
|
|
18
|
+
if (typeof value !== "string") {
|
|
19
|
+
if (Array.isArray(value) === true) {
|
|
20
|
+
return value.some(v => v.toLowerCase().startsWith(compareValueInLowerCase));
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return value.toLowerCase().startsWith(compareValueInLowerCase);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
plugin.name = "dynamodb.value.filter.startsWith";
|
|
28
|
+
var _default = plugin;
|
|
29
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
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
|
-
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.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;
|
|
@@ -0,0 +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":";;;;;;;AAGA;AAHA;AACA;AACA;AAFA,eAKe,MAAM;EACjB,OAAO,CAAC,IAAAA,gBAAa,GAAE,CAAC;AAC5B,CAAC;AAAA"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
sort: any;
|
|
4
|
-
key: any;
|
|
5
|
-
}) => {
|
|
1
|
+
import { Query, QueryKey, QuerySort } from "../types";
|
|
2
|
+
interface Output {
|
|
6
3
|
KeyConditionExpression: string;
|
|
7
|
-
ExpressionAttributeNames:
|
|
8
|
-
ExpressionAttributeValues:
|
|
4
|
+
ExpressionAttributeNames: Record<string, any>;
|
|
5
|
+
ExpressionAttributeValues: Record<string, any>;
|
|
9
6
|
ScanIndexForward: boolean;
|
|
10
|
-
IndexName:
|
|
11
|
-
}
|
|
7
|
+
IndexName: string;
|
|
8
|
+
}
|
|
9
|
+
interface Params {
|
|
10
|
+
query: Query;
|
|
11
|
+
sort: QuerySort;
|
|
12
|
+
key: QueryKey;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: ({ query, sort, key }: Params) => Output;
|
|
12
15
|
export default _default;
|
|
@@ -1,14 +1,15 @@
|
|
|
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.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _processStatement = _interopRequireDefault(require("./processStatement"));
|
|
11
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Remove this when no apps are using our internal db drivers anymore
|
|
11
|
+
*/
|
|
12
|
+
// @ts-nocheck
|
|
12
13
|
var _default = ({
|
|
13
14
|
query,
|
|
14
15
|
sort,
|
|
@@ -33,16 +34,12 @@ var _default = ({
|
|
|
33
34
|
IndexName: null
|
|
34
35
|
};
|
|
35
36
|
const sortKey = key.fields && key.fields[1];
|
|
36
|
-
|
|
37
37
|
if (sort && sort[sortKey.name] === -1) {
|
|
38
38
|
output.ScanIndexForward = false;
|
|
39
39
|
}
|
|
40
|
-
|
|
41
40
|
if (!key.primary) {
|
|
42
41
|
output.IndexName = key.name;
|
|
43
42
|
}
|
|
44
|
-
|
|
45
43
|
return output;
|
|
46
44
|
};
|
|
47
|
-
|
|
48
45
|
exports.default = _default;
|
|
@@ -0,0 +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":";;;;;;;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,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}): void;
|
|
1
|
+
import { ProcessStatementCallable } from "../types";
|
|
2
|
+
declare const processStatement: ProcessStatementCallable;
|
|
3
|
+
export default processStatement;
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports.default =
|
|
9
|
-
|
|
7
|
+
exports.default = void 0;
|
|
10
8
|
var _operators = _interopRequireDefault(require("./../operators"));
|
|
11
|
-
|
|
12
|
-
function processStatement({
|
|
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,7 +28,8 @@ function processStatement({
|
|
|
33
28
|
continue outerLoop;
|
|
34
29
|
}
|
|
35
30
|
}
|
|
36
|
-
|
|
37
31
|
throw new Error(`Invalid operator {${key} : ${value}}.`);
|
|
38
32
|
}
|
|
39
|
-
}
|
|
33
|
+
};
|
|
34
|
+
var _default = processStatement;
|
|
35
|
+
exports.default = _default;
|
|
@@ -0,0 +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":";;;;;;;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
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface OperatorArgs {
|
|
2
2
|
expression: string;
|
|
3
3
|
attributeNames: Record<string, any>;
|
|
4
4
|
attributeValues: Record<string, any>;
|
|
5
|
-
}
|
|
6
|
-
|
|
5
|
+
}
|
|
6
|
+
interface CanProcessArgs {
|
|
7
7
|
key: string;
|
|
8
8
|
value: any;
|
|
9
9
|
args: OperatorArgs;
|
|
10
|
-
}
|
|
11
|
-
|
|
10
|
+
}
|
|
11
|
+
interface ProcessArgs {
|
|
12
12
|
key: string;
|
|
13
13
|
value: any;
|
|
14
14
|
args: OperatorArgs;
|
|
15
15
|
processStatement: any;
|
|
16
|
-
}
|
|
17
|
-
export
|
|
16
|
+
}
|
|
17
|
+
export interface Operator {
|
|
18
18
|
canProcess: ({ key }: CanProcessArgs) => boolean;
|
|
19
19
|
process: ({ key, value, args }: ProcessArgs) => void;
|
|
20
|
-
}
|
|
20
|
+
}
|
|
21
21
|
/**
|
|
22
22
|
* We use this definition to search for a value in any given field that was passed.
|
|
23
23
|
* It works as an "OR" condition.
|
|
@@ -26,4 +26,41 @@ export interface DynamoDbContainsFilter {
|
|
|
26
26
|
fields: string[];
|
|
27
27
|
value: string;
|
|
28
28
|
}
|
|
29
|
+
export interface ProcessStatementArgsParam {
|
|
30
|
+
expression: string;
|
|
31
|
+
attributeNames: Record<string, any>;
|
|
32
|
+
attributeValues: Record<string, any>;
|
|
33
|
+
}
|
|
34
|
+
export interface ProcessStatementQueryParam {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
}
|
|
37
|
+
export interface ProcessStatementParams {
|
|
38
|
+
args: ProcessStatementArgsParam;
|
|
39
|
+
query: ProcessStatementQueryParam;
|
|
40
|
+
}
|
|
41
|
+
export interface ProcessStatementCallable {
|
|
42
|
+
(params: ProcessStatementParams): void;
|
|
43
|
+
}
|
|
44
|
+
export interface Query {
|
|
45
|
+
[key: string]: string;
|
|
46
|
+
}
|
|
47
|
+
export interface QueryKeyField {
|
|
48
|
+
name: string;
|
|
49
|
+
}
|
|
50
|
+
export interface QueryKey {
|
|
51
|
+
fields: QueryKeyField[];
|
|
52
|
+
primary?: boolean;
|
|
53
|
+
unique?: boolean;
|
|
54
|
+
name: string;
|
|
55
|
+
}
|
|
56
|
+
export declare type QueryKeys = QueryKey[];
|
|
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
|
+
};
|
|
29
66
|
export {};
|
package/types.js.map
ADDED
|
@@ -0,0 +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\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":""}
|