@webiny/db-dynamodb 0.0.0-unstable.990c3ab1b6 → 0.0.0-unstable.99666aeb00

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/BatchProcess.d.ts +1 -1
  2. package/index.d.ts +2 -0
  3. package/index.js +24 -1
  4. package/index.js.map +1 -1
  5. package/package.json +17 -17
  6. package/plugins/filters/andIn.d.ts +2 -2
  7. package/plugins/filters/andIn.js +3 -1
  8. package/plugins/filters/andIn.js.map +1 -1
  9. package/plugins/filters/between.d.ts +2 -2
  10. package/plugins/filters/between.js +3 -1
  11. package/plugins/filters/between.js.map +1 -1
  12. package/plugins/filters/contains.d.ts +2 -2
  13. package/plugins/filters/contains.js +3 -1
  14. package/plugins/filters/contains.js.map +1 -1
  15. package/plugins/filters/eq.d.ts +2 -2
  16. package/plugins/filters/eq.js +3 -1
  17. package/plugins/filters/eq.js.map +1 -1
  18. package/plugins/filters/fuzzy.d.ts +2 -2
  19. package/plugins/filters/fuzzy.js +8 -2
  20. package/plugins/filters/fuzzy.js.map +1 -1
  21. package/plugins/filters/gt.d.ts +2 -2
  22. package/plugins/filters/gt.js +3 -1
  23. package/plugins/filters/gt.js.map +1 -1
  24. package/plugins/filters/gte.d.ts +2 -2
  25. package/plugins/filters/gte.js +3 -1
  26. package/plugins/filters/gte.js.map +1 -1
  27. package/plugins/filters/in.d.ts +2 -2
  28. package/plugins/filters/in.js +3 -1
  29. package/plugins/filters/in.js.map +1 -1
  30. package/plugins/filters/lt.d.ts +2 -2
  31. package/plugins/filters/lt.js +3 -1
  32. package/plugins/filters/lt.js.map +1 -1
  33. package/plugins/filters/lte.d.ts +2 -2
  34. package/plugins/filters/lte.js +3 -1
  35. package/plugins/filters/lte.js.map +1 -1
  36. package/plugins/filters/startsWith.d.ts +2 -2
  37. package/plugins/filters/startsWith.js +3 -1
  38. package/plugins/filters/startsWith.js.map +1 -1
  39. package/types.d.ts +8 -0
  40. package/types.js.map +1 -1
  41. package/utils/batchRead.d.ts +4 -5
  42. package/utils/batchRead.js.map +1 -1
  43. package/utils/batchWrite.d.ts +4 -5
  44. package/utils/batchWrite.js.map +1 -1
  45. package/utils/createEntity.d.ts +14 -0
  46. package/utils/createEntity.js +60 -0
  47. package/utils/createEntity.js.map +1 -0
  48. package/utils/createTable.d.ts +7 -0
  49. package/utils/createTable.js +25 -0
  50. package/utils/createTable.js.map +1 -0
  51. package/utils/index.d.ts +12 -0
  52. package/utils/index.js +137 -0
  53. package/utils/index.js.map +1 -0
  54. package/utils/query.d.ts +6 -1
  55. package/utils/query.js +22 -3
  56. package/utils/query.js.map +1 -1
package/BatchProcess.d.ts CHANGED
@@ -42,6 +42,6 @@ declare class BatchProcess {
42
42
  addBatchDelete(args: AddBatchOperationArgs): AddBatchOperationResponse;
43
43
  addBatchGet(args: AddBatchOperationArgs): AddBatchOperationResponse;
44
44
  allOperationsAdded(): boolean;
45
- startExecution(): import("aws-sdk/lib/request").Request<DocumentClient.BatchWriteItemOutput, import("aws-sdk/lib/error").AWSError> | import("aws-sdk/lib/request").Request<DocumentClient.BatchGetItemOutput, import("aws-sdk/lib/error").AWSError>;
45
+ startExecution(): import("aws-sdk/lib/request").Request<DocumentClient.BatchGetItemOutput, import("aws-sdk/lib/error").AWSError> | import("aws-sdk/lib/request").Request<DocumentClient.BatchWriteItemOutput, import("aws-sdk/lib/error").AWSError>;
46
46
  }
47
47
  export default BatchProcess;
package/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  import { default as DynamoDbDriver } from "./DynamoDbDriver";
2
+ export * from "./utils";
3
+ export { DbItem } from "./types";
2
4
  export { DynamoDbDriver };
package/index.js CHANGED
@@ -4,10 +4,33 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ var _exportNames = {
8
+ DynamoDbDriver: true,
9
+ DbItem: true
10
+ };
11
+ Object.defineProperty(exports, "DbItem", {
12
+ enumerable: true,
13
+ get: function () {
14
+ return _types.DbItem;
15
+ }
16
+ });
7
17
  Object.defineProperty(exports, "DynamoDbDriver", {
8
18
  enumerable: true,
9
19
  get: function () {
10
20
  return _DynamoDbDriver.default;
11
21
  }
12
22
  });
13
- var _DynamoDbDriver = _interopRequireDefault(require("./DynamoDbDriver"));
23
+ var _DynamoDbDriver = _interopRequireDefault(require("./DynamoDbDriver"));
24
+ var _utils = require("./utils");
25
+ Object.keys(_utils).forEach(function (key) {
26
+ if (key === "default" || key === "__esModule") return;
27
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
28
+ if (key in exports && exports[key] === _utils[key]) return;
29
+ Object.defineProperty(exports, key, {
30
+ enumerable: true,
31
+ get: function () {
32
+ return _utils[key];
33
+ }
34
+ });
35
+ });
36
+ var _types = require("./types");
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver\";\n\nexport { DynamoDbDriver };\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver\";\nexport * from \"./utils\";\nexport { DbItem } from \"./types\";\n\nexport { DynamoDbDriver };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/db-dynamodb",
3
- "version": "0.0.0-unstable.990c3ab1b6",
3
+ "version": "0.0.0-unstable.99666aeb00",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,11 +10,11 @@
10
10
  "author": "Webiny Ltd",
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@webiny/api": "0.0.0-unstable.990c3ab1b6",
14
- "@webiny/db": "0.0.0-unstable.990c3ab1b6",
15
- "@webiny/error": "0.0.0-unstable.990c3ab1b6",
16
- "@webiny/handler-db": "0.0.0-unstable.990c3ab1b6",
17
- "@webiny/plugins": "0.0.0-unstable.990c3ab1b6",
13
+ "@webiny/api": "0.0.0-unstable.99666aeb00",
14
+ "@webiny/db": "0.0.0-unstable.99666aeb00",
15
+ "@webiny/error": "0.0.0-unstable.99666aeb00",
16
+ "@webiny/handler-db": "0.0.0-unstable.99666aeb00",
17
+ "@webiny/plugins": "0.0.0-unstable.99666aeb00",
18
18
  "date-fns": "2.29.3",
19
19
  "dot-prop": "6.0.1",
20
20
  "fuse.js": "6.6.2",
@@ -22,16 +22,16 @@
22
22
  "lodash": "4.17.21"
23
23
  },
24
24
  "devDependencies": {
25
- "@babel/cli": "^7.19.3",
26
- "@babel/core": "^7.19.3",
27
- "@types/is-number": "^7.0.2",
28
- "@webiny/cli": "^0.0.0-unstable.990c3ab1b6",
29
- "@webiny/project-utils": "^0.0.0-unstable.990c3ab1b6",
30
- "dynamodb-toolbox": "^0.3.5",
31
- "jest": "^28.1.0",
32
- "jest-dynalite": "^3.2.0",
33
- "rimraf": "^3.0.2",
34
- "ttypescript": "^1.5.12",
25
+ "@babel/cli": "7.20.7",
26
+ "@babel/core": "7.20.12",
27
+ "@types/is-number": "7.0.3",
28
+ "@webiny/cli": "0.0.0-unstable.99666aeb00",
29
+ "@webiny/project-utils": "0.0.0-unstable.99666aeb00",
30
+ "dynamodb-toolbox": "0.3.5",
31
+ "jest": "29.5.0",
32
+ "jest-dynalite": "3.6.1",
33
+ "rimraf": "3.0.2",
34
+ "ttypescript": "1.5.15",
35
35
  "typescript": "4.7.4"
36
36
  },
37
37
  "publishConfig": {
@@ -42,5 +42,5 @@
42
42
  "build": "yarn webiny run build",
43
43
  "watch": "yarn webiny run watch"
44
44
  },
45
- "gitHead": "87e7b4d0a643f65b31d029d6bf2a81902fb940a8"
45
+ "gitHead": "99666aeb00056c56292eeb5dbb6aba7fda2439e2"
46
46
  }
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
9
9
  var _error = _interopRequireDefault(require("@webiny/error"));
10
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
10
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
11
11
  operation: "and_in",
12
12
  matches: ({
13
13
  value,
@@ -25,4 +25,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
25
25
  return compareValue.includes(value);
26
26
  }
27
27
  });
28
+ plugin.name = "dynamodb.value.filter.and_in";
29
+ var _default = plugin;
28
30
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes"],"sources":["andIn.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nexport default new ValueFilterPlugin({\n operation: \"and_in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.every(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n"],"mappings":";;;;;;;AAAA;AACA;AAAwC,eAOzB,IAAIA,oCAAiB,CAAC;EACjCC,SAAS,EAAE,QAAQ;EACnBC,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,KAAK,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACrD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAAA"}
1
+ {"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes","name"],"sources":["andIn.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nconst plugin = new ValueFilterPlugin({\n operation: \"and_in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.every(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n\nplugin.name = \"dynamodb.value.filter.and_in\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA;AACA;AAOA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,QAAQ;EACnBC,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,KAAK,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACrD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACY,IAAI,GAAG,8BAA8B;AAAC,eAE9BZ,MAAM;AAAA"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _error = _interopRequireDefault(require("@webiny/error"));
9
9
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
10
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
10
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
11
11
  operation: "between",
12
12
  matches: ({
13
13
  value,
@@ -26,4 +26,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
26
26
  return value >= compareValue && value <= compareValue;
27
27
  }
28
28
  });
29
+ plugin.name = "dynamodb.value.filter.between";
30
+ var _default = plugin;
29
31
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","length","WebinyError","from","to"],"sources":["between.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"between\",\n matches: ({ value, compareValue }) => {\n if (Array.isArray(compareValue)) {\n if (compareValue.length !== 2) {\n throw new WebinyError(\n \"When comparing between and you give an array, there must be two items in it.\",\n \"FILTER_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n const [from, to] = compareValue;\n return value >= from && value <= to;\n }\n return value >= compareValue && value <= compareValue;\n }\n});\n"],"mappings":";;;;;;;AAAA;AACA;AAAqE,eAEtD,IAAIA,oCAAiB,CAAC;EACjCC,SAAS,EAAE,SAAS;EACpBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,EAAE;MAC7B,IAAIA,YAAY,CAACG,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAIC,cAAW,CACjB,8EAA8E,EAC9E,cAAc,EACd;UACIL,KAAK;UACLC;QACJ,CAAC,CACJ;MACL;MACA,MAAM,CAACK,IAAI,EAAEC,EAAE,CAAC,GAAGN,YAAY;MAC/B,OAAOD,KAAK,IAAIM,IAAI,IAAIN,KAAK,IAAIO,EAAE;IACvC;IACA,OAAOP,KAAK,IAAIC,YAAY,IAAID,KAAK,IAAIC,YAAY;EACzD;AACJ,CAAC,CAAC;AAAA"}
1
+ {"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","length","WebinyError","from","to","name"],"sources":["between.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = new ValueFilterPlugin({\n operation: \"between\",\n matches: ({ value, compareValue }) => {\n if (Array.isArray(compareValue)) {\n if (compareValue.length !== 2) {\n throw new WebinyError(\n \"When comparing between and you give an array, there must be two items in it.\",\n \"FILTER_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n const [from, to] = compareValue;\n return value >= from && value <= to;\n }\n return value >= compareValue && value <= compareValue;\n }\n});\n\nplugin.name = \"dynamodb.value.filter.between\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA;AACA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,SAAS;EACpBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,EAAE;MAC7B,IAAIA,YAAY,CAACG,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAIC,cAAW,CACjB,8EAA8E,EAC9E,cAAc,EACd;UACIL,KAAK;UACLC;QACJ,CAAC,CACJ;MACL;MACA,MAAM,CAACK,IAAI,EAAEC,EAAE,CAAC,GAAGN,YAAY;MAC/B,OAAOD,KAAK,IAAIM,IAAI,IAAIN,KAAK,IAAIO,EAAE;IACvC;IACA,OAAOP,KAAK,IAAIC,YAAY,IAAID,KAAK,IAAIC,YAAY;EACzD;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACY,IAAI,GAAG,+BAA+B;AAAC,eAE/BZ,MAAM;AAAA"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
8
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
8
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
9
9
  operation: "contains",
10
10
  matches: ({
11
11
  value,
@@ -24,4 +24,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
24
24
  return value.match(re) !== null;
25
25
  }
26
26
  });
27
+ plugin.name = "dynamodb.value.filter.contains";
28
+ var _default = plugin;
27
29
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","re","RegExp","some","v","match"],"sources":["contains.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default 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"],"mappings":";;;;;;AAAA;AAAqE,eAEtD,IAAIA,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;AAAA"}
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"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
8
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
8
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
9
9
  operation: "eq",
10
10
  matches: ({
11
11
  value,
@@ -26,4 +26,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
26
26
  return value === compareValue;
27
27
  }
28
28
  });
29
+ plugin.name = "dynamodb.value.filter.eq";
30
+ var _default = plugin;
29
31
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","some","v","includes","every"],"sources":["eq.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default 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"],"mappings":";;;;;;AAAA;AAAqE,eAEtD,IAAIA,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;AAAA"}
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 _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _fuse = _interopRequireDefault(require("fuse.js"));
9
9
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
10
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
10
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
11
11
  operation: "fuzzy",
12
12
  matches: ({
13
13
  value,
@@ -16,9 +16,15 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
16
16
  if (typeof value !== "string") {
17
17
  return false;
18
18
  }
19
- const f = new _fuse.default([value], {});
19
+ const f = new _fuse.default([value], {
20
+ includeScore: true,
21
+ minMatchCharLength: 3,
22
+ threshold: 0.6
23
+ });
20
24
  const result = f.search(compareValue);
21
25
  return result.length > 0;
22
26
  }
23
27
  });
28
+ plugin.name = "dynamodb.value.filter.fuzzy";
29
+ var _default = plugin;
24
30
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","f","Fuse","result","search","length"],"sources":["fuzzy.ts"],"sourcesContent":["import Fuse from \"fuse.js\";\nimport {\n ValueFilterPluginParamsMatchesParams,\n ValueFilterPlugin\n} from \"../definitions/ValueFilterPlugin\";\n\nexport default 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 const result = f.search(compareValue);\n\n return result.length > 0;\n }\n});\n"],"mappings":";;;;;;;AAAA;AACA;AAG0C,eAE3B,IAAIA,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,CAAC,CAAC,CAAC;IAC/B,MAAMI,MAAM,GAAGF,CAAC,CAACG,MAAM,CAACJ,YAAY,CAAC;IAErC,OAAOG,MAAM,CAACE,MAAM,GAAG,CAAC;EAC5B;AACJ,CAAC,CAAC;AAAA"}
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"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
8
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
8
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
9
9
  operation: "gt",
10
10
  matches: ({
11
11
  value,
@@ -14,4 +14,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
14
14
  return value > compareValue;
15
15
  }
16
16
  });
17
+ plugin.name = "dynamodb.value.filter.gt";
18
+ var _default = plugin;
17
19
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["gt.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"gt\",\n matches: ({ value, compareValue }) => {\n return value > compareValue;\n }\n});\n"],"mappings":";;;;;;AAAA;AAAqE,eAEtD,IAAIA,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;AAAA"}
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"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
8
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
8
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
9
9
  operation: "gte",
10
10
  matches: ({
11
11
  value,
@@ -14,4 +14,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
14
14
  return value >= compareValue;
15
15
  }
16
16
  });
17
+ plugin.name = "dynamodb.value.filter.gte";
18
+ var _default = plugin;
17
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\nexport default new ValueFilterPlugin({\n operation: \"gte\",\n matches: ({ value, compareValue }) => {\n return value >= compareValue;\n }\n});\n"],"mappings":";;;;;;AAAA;AAAqE,eAEtD,IAAIA,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;AAAA"}
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"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
9
9
  var _error = _interopRequireDefault(require("@webiny/error"));
10
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
10
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
11
11
  operation: "in",
12
12
  matches: ({
13
13
  value,
@@ -25,4 +25,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
25
25
  return compareValue.includes(value);
26
26
  }
27
27
  });
28
+ plugin.name = "dynamodb.value.filter.in";
29
+ var _default = plugin;
28
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\nexport default 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"],"mappings":";;;;;;;AAAA;AACA;AAAwC,eAOzB,IAAIA,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;AAAA"}
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"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
8
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
8
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
9
9
  operation: "lt",
10
10
  matches: ({
11
11
  value,
@@ -14,4 +14,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
14
14
  return value < compareValue;
15
15
  }
16
16
  });
17
+ plugin.name = "dynamodb.value.filter.lt";
18
+ var _default = plugin;
17
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\nexport default new ValueFilterPlugin({\n operation: \"lt\",\n matches: ({ value, compareValue }) => {\n return value < compareValue;\n }\n});\n"],"mappings":";;;;;;AAAA;AAAqE,eAEtD,IAAIA,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;AAAA"}
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"}
@@ -1,3 +1,3 @@
1
1
  import { ValueFilterPlugin } from "../definitions/ValueFilterPlugin";
2
- declare const _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
8
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
8
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
9
9
  operation: "lte",
10
10
  matches: ({
11
11
  value,
@@ -14,4 +14,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
14
14
  return value <= compareValue;
15
15
  }
16
16
  });
17
+ plugin.name = "dynamodb.value.filter.lte";
18
+ var _default = plugin;
17
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\nexport default new ValueFilterPlugin({\n operation: \"lte\",\n matches: ({ value, compareValue }) => {\n return value <= compareValue;\n }\n});\n"],"mappings":";;;;;;AAAA;AAAqE,eAEtD,IAAIA,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;AAAA"}
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 _default: ValueFilterPlugin;
3
- export default _default;
2
+ declare const plugin: ValueFilterPlugin;
3
+ export default plugin;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ValueFilterPlugin = require("../definitions/ValueFilterPlugin");
8
- var _default = new _ValueFilterPlugin.ValueFilterPlugin({
8
+ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
9
9
  operation: "startsWith",
10
10
  matches: ({
11
11
  value,
@@ -24,4 +24,6 @@ var _default = new _ValueFilterPlugin.ValueFilterPlugin({
24
24
  return value.toLowerCase().startsWith(compareValueInLowerCase);
25
25
  }
26
26
  });
27
+ plugin.name = "dynamodb.value.filter.startsWith";
28
+ var _default = plugin;
27
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\nexport default 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"],"mappings":";;;;;;AAAA;AAAqE,eAEtD,IAAIA,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;AAAA"}
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/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":""}
@@ -1,15 +1,14 @@
1
1
  import { Table } from "dynamodb-toolbox";
2
- interface Item {
2
+ export interface BatchReadItem {
3
3
  Table: Table;
4
4
  Key: any;
5
5
  }
6
- interface Params {
6
+ export interface BatchReadParams {
7
7
  table: Table;
8
- items: Item[];
8
+ items: BatchReadItem[];
9
9
  }
10
10
  /**
11
11
  * This helper function is meant to be used to batch read from one table.
12
12
  * It will fetch all results, as there is a next() method call built in.
13
13
  */
14
- export declare const batchReadAll: <T = any>(params: Params, maxChunk?: number) => Promise<T[]>;
15
- export {};
14
+ export declare const batchReadAll: <T = any>(params: BatchReadParams, maxChunk?: number) => Promise<T[]>;
@@ -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":";;;;;;;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"}
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\nexport interface BatchReadItem {\n Table: Table;\n Key: any;\n}\nexport interface BatchReadParams {\n table: Table;\n items: BatchReadItem[];\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: BatchReadItem[];\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: BatchReadParams,\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: BatchReadItem[][] = 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,MAAuB,EACvBU,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,cAAiC,GAAG,IAAAC,cAAW,EAACd,MAAM,CAACH,KAAK,EAAEa,QAAQ,CAAC;EAE7E,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"}
@@ -1,11 +1,11 @@
1
1
  import { Table } from "dynamodb-toolbox";
2
2
  import { DocumentClient } from "aws-sdk/clients/dynamodb";
3
- interface Item {
3
+ export interface BatchWriteItem {
4
4
  [key: string]: DocumentClient.WriteRequest;
5
5
  }
6
- interface Params {
6
+ export interface BatchWriteParams {
7
7
  table: Table;
8
- items: Item[];
8
+ items: BatchWriteItem[];
9
9
  }
10
10
  /**
11
11
  * Method is meant for batch writing to a single table.
@@ -13,5 +13,4 @@ interface Params {
13
13
  * It can either delete or put items
14
14
  * The method does not check items before actually sending them into the underlying library.
15
15
  */
16
- export declare const batchWriteAll: (params: Params, maxChunk?: number) => Promise<void>;
17
- export {};
16
+ export declare const batchWriteAll: (params: BatchWriteParams, maxChunk?: number) => Promise<void>;
@@ -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":";;;;;;;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"}
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\nexport interface BatchWriteItem {\n [key: string]: DocumentClient.WriteRequest;\n}\n\nexport interface BatchWriteParams {\n table: Table;\n items: BatchWriteItem[];\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: BatchWriteParams, maxChunk = 25): Promise<void> => {\n if (params.items.length === 0) {\n return;\n }\n const chunkedItems: BatchWriteItem[][] = lodashChunk(params.items, maxChunk);\n for (const items of chunkedItems) {\n await params.table.batchWrite(items);\n }\n};\n"],"mappings":";;;;;;;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GAAG,OAAOC,MAAwB,EAAEC,QAAQ,GAAG,EAAE,KAAoB;EAC3F,IAAID,MAAM,CAACE,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B;EACJ;EACA,MAAMC,YAAgC,GAAG,IAAAC,cAAW,EAACL,MAAM,CAACE,KAAK,EAAED,QAAQ,CAAC;EAC5E,KAAK,MAAMC,KAAK,IAAIE,YAAY,EAAE;IAC9B,MAAMJ,MAAM,CAACM,KAAK,CAACC,UAAU,CAACL,KAAK,CAAC;EACxC;AACJ,CAAC;AAAC"}
@@ -0,0 +1,14 @@
1
+ import { Entity, Table } from "dynamodb-toolbox";
2
+ import { EntityAttributes } from "dynamodb-toolbox/dist/classes/Entity";
3
+ interface CreateStandardEntityParams {
4
+ table: Table;
5
+ name: string;
6
+ }
7
+ export declare const createStandardEntity: (params: CreateStandardEntityParams) => Entity<any>;
8
+ interface CreateLegacyEntityParams {
9
+ table: Table;
10
+ name: string;
11
+ attributes?: EntityAttributes;
12
+ }
13
+ export declare const createLegacyEntity: (params: CreateLegacyEntityParams) => Entity<{}>;
14
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createStandardEntity = exports.createLegacyEntity = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _dynamodbToolbox = require("dynamodb-toolbox");
10
+ const createStandardEntity = params => {
11
+ return new _dynamodbToolbox.Entity({
12
+ name: params.name,
13
+ table: params.table,
14
+ attributes: {
15
+ PK: {
16
+ partitionKey: true
17
+ },
18
+ SK: {
19
+ sortKey: true
20
+ },
21
+ GSI1_PK: {
22
+ type: "string"
23
+ },
24
+ GSI1_SK: {
25
+ type: "string"
26
+ },
27
+ TYPE: {
28
+ type: "string"
29
+ },
30
+ data: {
31
+ type: "map"
32
+ }
33
+ }
34
+ });
35
+ };
36
+ exports.createStandardEntity = createStandardEntity;
37
+ const createLegacyEntity = params => {
38
+ return new _dynamodbToolbox.Entity({
39
+ table: params.table,
40
+ name: params.name,
41
+ attributes: (0, _objectSpread2.default)({
42
+ PK: {
43
+ partitionKey: true
44
+ },
45
+ SK: {
46
+ sortKey: true
47
+ },
48
+ GSI1_PK: {
49
+ type: "string"
50
+ },
51
+ GSI1_SK: {
52
+ type: "string"
53
+ },
54
+ TYPE: {
55
+ type: "string"
56
+ }
57
+ }, params.attributes || {})
58
+ });
59
+ };
60
+ exports.createLegacyEntity = createLegacyEntity;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createStandardEntity","params","Entity","name","table","attributes","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","TYPE","data","createLegacyEntity"],"sources":["createEntity.ts"],"sourcesContent":["import { Entity, Table } from \"dynamodb-toolbox\";\nimport { EntityAttributes } from \"dynamodb-toolbox/dist/classes/Entity\";\n\ninterface CreateStandardEntityParams {\n table: Table;\n name: string;\n}\n\nexport const createStandardEntity = (params: CreateStandardEntityParams): Entity<any> => {\n return new Entity({\n name: params.name,\n table: params.table,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n }\n }\n });\n};\n\ninterface CreateLegacyEntityParams {\n table: Table;\n name: string;\n attributes?: EntityAttributes;\n}\n\nexport const createLegacyEntity = (params: CreateLegacyEntityParams) => {\n return new Entity({\n table: params.table,\n name: params.name,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n ...(params.attributes || {})\n }\n });\n};\n"],"mappings":";;;;;;;;AAAA;AAQO,MAAMA,oBAAoB,GAAIC,MAAkC,IAAkB;EACrF,OAAO,IAAIC,uBAAM,CAAC;IACdC,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,KAAK,EAAEH,MAAM,CAACG,KAAK;IACnBC,UAAU,EAAE;MACRC,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACDG,IAAI,EAAE;QACFH,IAAI,EAAE;MACV;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAAC;AAQK,MAAMI,kBAAkB,GAAId,MAAgC,IAAK;EACpE,OAAO,IAAIC,uBAAM,CAAC;IACdE,KAAK,EAAEH,MAAM,CAACG,KAAK;IACnBD,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBE,UAAU;MACNC,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV;IAAC,GACGV,MAAM,CAACI,UAAU,IAAI,CAAC,CAAC;EAEnC,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,7 @@
1
+ import { DocumentClient } from "aws-sdk/clients/dynamodb";
2
+ import { Table } from "dynamodb-toolbox";
3
+ export interface CreateTableParams {
4
+ name?: string;
5
+ documentClient: DocumentClient;
6
+ }
7
+ export declare const createTable: ({ name, documentClient }: CreateTableParams) => Table;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTable = void 0;
7
+ var _dynamodbToolbox = require("dynamodb-toolbox");
8
+ const createTable = ({
9
+ name,
10
+ documentClient
11
+ }) => {
12
+ return new _dynamodbToolbox.Table({
13
+ name: name || String(process.env.DB_TABLE),
14
+ partitionKey: "PK",
15
+ sortKey: "SK",
16
+ DocumentClient: documentClient,
17
+ indexes: {
18
+ GSI1: {
19
+ partitionKey: "GSI1_PK",
20
+ sortKey: "GSI1_SK"
21
+ }
22
+ }
23
+ });
24
+ };
25
+ exports.createTable = createTable;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTable","name","documentClient","Table","String","process","env","DB_TABLE","partitionKey","sortKey","DocumentClient","indexes","GSI1"],"sources":["createTable.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Table } from \"dynamodb-toolbox\";\n\nexport interface CreateTableParams {\n name?: string;\n documentClient: DocumentClient;\n}\n\nexport const createTable = ({ name, documentClient }: CreateTableParams) => {\n return new Table({\n name: name || String(process.env.DB_TABLE),\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n indexes: {\n GSI1: {\n partitionKey: \"GSI1_PK\",\n sortKey: \"GSI1_SK\"\n }\n }\n });\n};\n"],"mappings":";;;;;;AACA;AAOO,MAAMA,WAAW,GAAG,CAAC;EAAEC,IAAI;EAAEC;AAAkC,CAAC,KAAK;EACxE,OAAO,IAAIC,sBAAK,CAAC;IACbF,IAAI,EAAEA,IAAI,IAAIG,MAAM,CAACC,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;IAC1CC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAER,cAAc;IAC9BS,OAAO,EAAE;MACLC,IAAI,EAAE;QACFJ,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,12 @@
1
+ export * from "./batchRead";
2
+ export * from "./batchWrite";
3
+ export * from "./cleanup";
4
+ export * from "./createEntity";
5
+ export * from "./cursor";
6
+ export * from "./filter";
7
+ export * from "./get";
8
+ export * from "./listResponse";
9
+ export * from "./query";
10
+ export * from "./sort";
11
+ export * from "./createTable";
12
+ export * from "./table";
package/utils/index.js ADDED
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _batchRead = require("./batchRead");
7
+ Object.keys(_batchRead).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _batchRead[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _batchRead[key];
14
+ }
15
+ });
16
+ });
17
+ var _batchWrite = require("./batchWrite");
18
+ Object.keys(_batchWrite).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _batchWrite[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _batchWrite[key];
25
+ }
26
+ });
27
+ });
28
+ var _cleanup = require("./cleanup");
29
+ Object.keys(_cleanup).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _cleanup[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _cleanup[key];
36
+ }
37
+ });
38
+ });
39
+ var _createEntity = require("./createEntity");
40
+ Object.keys(_createEntity).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _createEntity[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _createEntity[key];
47
+ }
48
+ });
49
+ });
50
+ var _cursor = require("./cursor");
51
+ Object.keys(_cursor).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _cursor[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _cursor[key];
58
+ }
59
+ });
60
+ });
61
+ var _filter = require("./filter");
62
+ Object.keys(_filter).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _filter[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _filter[key];
69
+ }
70
+ });
71
+ });
72
+ var _get = require("./get");
73
+ Object.keys(_get).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _get[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _get[key];
80
+ }
81
+ });
82
+ });
83
+ var _listResponse = require("./listResponse");
84
+ Object.keys(_listResponse).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _listResponse[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _listResponse[key];
91
+ }
92
+ });
93
+ });
94
+ var _query = require("./query");
95
+ Object.keys(_query).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (key in exports && exports[key] === _query[key]) return;
98
+ Object.defineProperty(exports, key, {
99
+ enumerable: true,
100
+ get: function () {
101
+ return _query[key];
102
+ }
103
+ });
104
+ });
105
+ var _sort = require("./sort");
106
+ Object.keys(_sort).forEach(function (key) {
107
+ if (key === "default" || key === "__esModule") return;
108
+ if (key in exports && exports[key] === _sort[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _sort[key];
113
+ }
114
+ });
115
+ });
116
+ var _createTable = require("./createTable");
117
+ Object.keys(_createTable).forEach(function (key) {
118
+ if (key === "default" || key === "__esModule") return;
119
+ if (key in exports && exports[key] === _createTable[key]) return;
120
+ Object.defineProperty(exports, key, {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _createTable[key];
124
+ }
125
+ });
126
+ });
127
+ var _table = require("./table");
128
+ Object.keys(_table).forEach(function (key) {
129
+ if (key === "default" || key === "__esModule") return;
130
+ if (key in exports && exports[key] === _table[key]) return;
131
+ Object.defineProperty(exports, key, {
132
+ enumerable: true,
133
+ get: function () {
134
+ return _table[key];
135
+ }
136
+ });
137
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./batchRead\";\nexport * from \"./batchWrite\";\nexport * from \"./cleanup\";\nexport * from \"./createEntity\";\nexport * from \"./cursor\";\nexport * from \"./filter\";\nexport * from \"./get\";\nexport * from \"./listResponse\";\nexport * from \"./query\";\nexport * from \"./sort\";\nexport * from \"./createTable\";\nexport * from \"./table\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
package/utils/query.d.ts CHANGED
@@ -27,6 +27,11 @@ export declare type DbItem<T> = T & {
27
27
  */
28
28
  export declare const queryOne: <T>(params: QueryOneParams) => Promise<DbItem<T> | null>;
29
29
  /**
30
- * Will run the query to fetch the results no matter how much iterations it needs to go through.
30
+ * Will run the query to fetch the results no matter how many iterations it needs to go through.
31
31
  */
32
32
  export declare const queryAll: <T>(params: QueryAllParams) => Promise<DbItem<T>[]>;
33
+ /**
34
+ * Will run the query to fetch the results no matter how many iterations it needs to go through.
35
+ * Results of each iteration will be passed to the provided callback
36
+ */
37
+ export declare const queryAllWithCallback: <T>(params: QueryAllParams, callback: (items: DbItem<T>[]) => Promise<void>) => Promise<void>;
package/utils/query.js CHANGED
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.queryOne = exports.queryAll = void 0;
7
+ exports.queryOne = exports.queryAllWithCallback = exports.queryAll = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
9
  var _error = _interopRequireDefault(require("@webiny/error"));
10
10
  /**
@@ -79,7 +79,7 @@ const queryOne = async params => {
79
79
  return item ? item : null;
80
80
  };
81
81
  /**
82
- * Will run the query to fetch the results no matter how much iterations it needs to go through.
82
+ * Will run the query to fetch the results no matter how many iterations it needs to go through.
83
83
  */
84
84
  exports.queryOne = queryOne;
85
85
  const queryAll = async params => {
@@ -97,4 +97,23 @@ const queryAll = async params => {
97
97
  }
98
98
  return items;
99
99
  };
100
- exports.queryAll = queryAll;
100
+
101
+ /**
102
+ * Will run the query to fetch the results no matter how many iterations it needs to go through.
103
+ * Results of each iteration will be passed to the provided callback
104
+ */
105
+ exports.queryAll = queryAll;
106
+ const queryAllWithCallback = async (params, callback) => {
107
+ let results;
108
+ let previousResult = undefined;
109
+ while (results = await query((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
110
+ previous: previousResult
111
+ }))) {
112
+ if (!results.result) {
113
+ break;
114
+ }
115
+ await callback(results.items);
116
+ previousResult = results.result;
117
+ }
118
+ };
119
+ exports.queryAllWithCallback = queryAllWithCallback;
@@ -1 +1 @@
1
- {"version":3,"names":["query","params","entity","previous","partitionKey","options","result","next","items","Items","Array","isArray","WebinyError","queryOne","limit","item","shift","queryAll","results","previousResult","undefined","push"],"sources":["query.ts"],"sourcesContent":["import { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport WebinyError from \"@webiny/error\";\nimport { Entity } from \"dynamodb-toolbox\";\n\nexport interface QueryAllParams {\n entity: Entity<any>;\n partitionKey: string;\n options?: DynamoDBToolboxQueryOptions;\n}\n\nexport interface QueryOneParams extends QueryAllParams {\n options?: Omit<DynamoDBToolboxQueryOptions, \"limit\">;\n}\n\nexport interface QueryParams extends QueryAllParams {\n previous?: any;\n}\n\nexport interface QueryResult<T> {\n result: any | null;\n items: T[];\n}\n\nexport type DbItem<T> = T & {\n PK: string;\n SK: string;\n TYPE: string;\n GSI1_PK?: string;\n GSI1_SK?: string;\n};\n\n/**\n * Will run query only once. Pass the previous to run the query again to fetch new data.\n * It returns the result and the items it found.\n * Result is required to fetch the items that were not fetched in the previous run.\n */\nconst query = async <T>(params: QueryParams): Promise<QueryResult<T>> => {\n const { entity, previous, partitionKey, options } = params;\n let result;\n /**\n * In case there is no previous result we must make a new query.\n * This is the first query on the given partition key.\n */\n if (!previous) {\n result = await entity.query(partitionKey, options);\n } else if (typeof previous.next === \"function\") {\n /**\n * In case we have a previous result and it has a next method, we run it.\n * In case result of the next method is false, it means it has nothing else to read\n * and we return a null to keep the query from repeating.\n */\n result = await previous.next();\n if (result === false) {\n return {\n result: null,\n items: []\n };\n }\n } else {\n /**\n * This could probably never happen but keep it here just in case to break the query loop.\n * Basically, either previous does not exist or it exists and it does not have the next method\n * and at that point a result returned will be null and loop should not start again.\n */\n return {\n result: null,\n items: []\n };\n }\n /**\n * We expect the result to contain an Items array and if not, something went wrong, very wrong.\n */\n if (!result || !result.Items || !Array.isArray(result.Items)) {\n throw new WebinyError(\n \"Error when querying for content entries - no result.\",\n \"QUERY_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n return {\n result,\n items: result.Items\n };\n};\n/**\n * Will run the query to fetch the first possible item from the database.\n */\nexport const queryOne = async <T>(params: QueryOneParams): Promise<DbItem<T> | null> => {\n const { items } = await query<DbItem<T>>({\n ...params,\n options: {\n ...(params.options || {}),\n limit: 1\n }\n });\n const item = items.shift();\n return item ? item : null;\n};\n/**\n * Will run the query to fetch the results no matter how much iterations it needs to go through.\n */\nexport const queryAll = async <T>(params: QueryAllParams): Promise<DbItem<T>[]> => {\n const items: DbItem<T>[] = [];\n let results: QueryResult<DbItem<T>>;\n let previousResult: any = undefined;\n while ((results = await query({ ...params, previous: previousResult }))) {\n items.push(...results.items);\n if (!results.result) {\n return items;\n }\n previousResult = results.result;\n }\n return items;\n};\n"],"mappings":";;;;;;;;AACA;AA8BA;AACA;AACA;AACA;AACA;AACA,MAAMA,KAAK,GAAG,MAAUC,MAAmB,IAA8B;EACrE,MAAM;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAC1D,IAAIK,MAAM;EACV;AACJ;AACA;AACA;EACI,IAAI,CAACH,QAAQ,EAAE;IACXG,MAAM,GAAG,MAAMJ,MAAM,CAACF,KAAK,CAACI,YAAY,EAAEC,OAAO,CAAC;EACtD,CAAC,MAAM,IAAI,OAAOF,QAAQ,CAACI,IAAI,KAAK,UAAU,EAAE;IAC5C;AACR;AACA;AACA;AACA;IACQD,MAAM,GAAG,MAAMH,QAAQ,CAACI,IAAI,EAAE;IAC9B,IAAID,MAAM,KAAK,KAAK,EAAE;MAClB,OAAO;QACHA,MAAM,EAAE,IAAI;QACZE,KAAK,EAAE;MACX,CAAC;IACL;EACJ,CAAC,MAAM;IACH;AACR;AACA;AACA;AACA;IACQ,OAAO;MACHF,MAAM,EAAE,IAAI;MACZE,KAAK,EAAE;IACX,CAAC;EACL;EACA;AACJ;AACA;EACI,IAAI,CAACF,MAAM,IAAI,CAACA,MAAM,CAACG,KAAK,IAAI,CAACC,KAAK,CAACC,OAAO,CAACL,MAAM,CAACG,KAAK,CAAC,EAAE;IAC1D,MAAM,IAAIG,cAAW,CACjB,sDAAsD,EACtD,aAAa,EACb;MACIR,YAAY;MACZC;IACJ,CAAC,CACJ;EACL;EACA,OAAO;IACHC,MAAM;IACNE,KAAK,EAAEF,MAAM,CAACG;EAClB,CAAC;AACL,CAAC;AACD;AACA;AACA;AACO,MAAMI,QAAQ,GAAG,MAAUZ,MAAsB,IAAgC;EACpF,MAAM;IAAEO;EAAM,CAAC,GAAG,MAAMR,KAAK,6DACtBC,MAAM;IACTI,OAAO,8DACCJ,MAAM,CAACI,OAAO,IAAI,CAAC,CAAC;MACxBS,KAAK,EAAE;IAAC;EACX,GACH;EACF,MAAMC,IAAI,GAAGP,KAAK,CAACQ,KAAK,EAAE;EAC1B,OAAOD,IAAI,GAAGA,IAAI,GAAG,IAAI;AAC7B,CAAC;AACD;AACA;AACA;AAFA;AAGO,MAAME,QAAQ,GAAG,MAAUhB,MAAsB,IAA2B;EAC/E,MAAMO,KAAkB,GAAG,EAAE;EAC7B,IAAIU,OAA+B;EACnC,IAAIC,cAAmB,GAAGC,SAAS;EACnC,OAAQF,OAAO,GAAG,MAAMlB,KAAK,6DAAMC,MAAM;IAAEE,QAAQ,EAAEgB;EAAc,GAAG,EAAG;IACrEX,KAAK,CAACa,IAAI,CAAC,GAAGH,OAAO,CAACV,KAAK,CAAC;IAC5B,IAAI,CAACU,OAAO,CAACZ,MAAM,EAAE;MACjB,OAAOE,KAAK;IAChB;IACAW,cAAc,GAAGD,OAAO,CAACZ,MAAM;EACnC;EACA,OAAOE,KAAK;AAChB,CAAC;AAAC"}
1
+ {"version":3,"names":["query","params","entity","previous","partitionKey","options","result","next","items","Items","Array","isArray","WebinyError","queryOne","limit","item","shift","queryAll","results","previousResult","undefined","push","queryAllWithCallback","callback"],"sources":["query.ts"],"sourcesContent":["import { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport WebinyError from \"@webiny/error\";\nimport { Entity } from \"dynamodb-toolbox\";\n\nexport interface QueryAllParams {\n entity: Entity<any>;\n partitionKey: string;\n options?: DynamoDBToolboxQueryOptions;\n}\n\nexport interface QueryOneParams extends QueryAllParams {\n options?: Omit<DynamoDBToolboxQueryOptions, \"limit\">;\n}\n\nexport interface QueryParams extends QueryAllParams {\n previous?: any;\n}\n\nexport interface QueryResult<T> {\n result: any | null;\n items: T[];\n}\n\nexport type DbItem<T> = T & {\n PK: string;\n SK: string;\n TYPE: string;\n GSI1_PK?: string;\n GSI1_SK?: string;\n};\n\n/**\n * Will run query only once. Pass the previous to run the query again to fetch new data.\n * It returns the result and the items it found.\n * Result is required to fetch the items that were not fetched in the previous run.\n */\nconst query = async <T>(params: QueryParams): Promise<QueryResult<T>> => {\n const { entity, previous, partitionKey, options } = params;\n let result;\n /**\n * In case there is no previous result we must make a new query.\n * This is the first query on the given partition key.\n */\n if (!previous) {\n result = await entity.query(partitionKey, options);\n } else if (typeof previous.next === \"function\") {\n /**\n * In case we have a previous result and it has a next method, we run it.\n * In case result of the next method is false, it means it has nothing else to read\n * and we return a null to keep the query from repeating.\n */\n result = await previous.next();\n if (result === false) {\n return {\n result: null,\n items: []\n };\n }\n } else {\n /**\n * This could probably never happen but keep it here just in case to break the query loop.\n * Basically, either previous does not exist or it exists and it does not have the next method\n * and at that point a result returned will be null and loop should not start again.\n */\n return {\n result: null,\n items: []\n };\n }\n /**\n * We expect the result to contain an Items array and if not, something went wrong, very wrong.\n */\n if (!result || !result.Items || !Array.isArray(result.Items)) {\n throw new WebinyError(\n \"Error when querying for content entries - no result.\",\n \"QUERY_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n return {\n result,\n items: result.Items\n };\n};\n/**\n * Will run the query to fetch the first possible item from the database.\n */\nexport const queryOne = async <T>(params: QueryOneParams): Promise<DbItem<T> | null> => {\n const { items } = await query<DbItem<T>>({\n ...params,\n options: {\n ...(params.options || {}),\n limit: 1\n }\n });\n const item = items.shift();\n return item ? item : null;\n};\n/**\n * Will run the query to fetch the results no matter how many iterations it needs to go through.\n */\nexport const queryAll = async <T>(params: QueryAllParams): Promise<DbItem<T>[]> => {\n const items: DbItem<T>[] = [];\n let results: QueryResult<DbItem<T>>;\n let previousResult: any = undefined;\n while ((results = await query({ ...params, previous: previousResult }))) {\n items.push(...results.items);\n if (!results.result) {\n return items;\n }\n previousResult = results.result;\n }\n return items;\n};\n\n/**\n * Will run the query to fetch the results no matter how many iterations it needs to go through.\n * Results of each iteration will be passed to the provided callback\n */\nexport const queryAllWithCallback = async <T>(\n params: QueryAllParams,\n callback: (items: DbItem<T>[]) => Promise<void>\n): Promise<void> => {\n let results: QueryResult<DbItem<T>>;\n let previousResult: any = undefined;\n while ((results = await query({ ...params, previous: previousResult }))) {\n if (!results.result) {\n break;\n }\n await callback(results.items);\n previousResult = results.result;\n }\n};\n"],"mappings":";;;;;;;;AACA;AA8BA;AACA;AACA;AACA;AACA;AACA,MAAMA,KAAK,GAAG,MAAUC,MAAmB,IAA8B;EACrE,MAAM;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAC1D,IAAIK,MAAM;EACV;AACJ;AACA;AACA;EACI,IAAI,CAACH,QAAQ,EAAE;IACXG,MAAM,GAAG,MAAMJ,MAAM,CAACF,KAAK,CAACI,YAAY,EAAEC,OAAO,CAAC;EACtD,CAAC,MAAM,IAAI,OAAOF,QAAQ,CAACI,IAAI,KAAK,UAAU,EAAE;IAC5C;AACR;AACA;AACA;AACA;IACQD,MAAM,GAAG,MAAMH,QAAQ,CAACI,IAAI,EAAE;IAC9B,IAAID,MAAM,KAAK,KAAK,EAAE;MAClB,OAAO;QACHA,MAAM,EAAE,IAAI;QACZE,KAAK,EAAE;MACX,CAAC;IACL;EACJ,CAAC,MAAM;IACH;AACR;AACA;AACA;AACA;IACQ,OAAO;MACHF,MAAM,EAAE,IAAI;MACZE,KAAK,EAAE;IACX,CAAC;EACL;EACA;AACJ;AACA;EACI,IAAI,CAACF,MAAM,IAAI,CAACA,MAAM,CAACG,KAAK,IAAI,CAACC,KAAK,CAACC,OAAO,CAACL,MAAM,CAACG,KAAK,CAAC,EAAE;IAC1D,MAAM,IAAIG,cAAW,CACjB,sDAAsD,EACtD,aAAa,EACb;MACIR,YAAY;MACZC;IACJ,CAAC,CACJ;EACL;EACA,OAAO;IACHC,MAAM;IACNE,KAAK,EAAEF,MAAM,CAACG;EAClB,CAAC;AACL,CAAC;AACD;AACA;AACA;AACO,MAAMI,QAAQ,GAAG,MAAUZ,MAAsB,IAAgC;EACpF,MAAM;IAAEO;EAAM,CAAC,GAAG,MAAMR,KAAK,6DACtBC,MAAM;IACTI,OAAO,8DACCJ,MAAM,CAACI,OAAO,IAAI,CAAC,CAAC;MACxBS,KAAK,EAAE;IAAC;EACX,GACH;EACF,MAAMC,IAAI,GAAGP,KAAK,CAACQ,KAAK,EAAE;EAC1B,OAAOD,IAAI,GAAGA,IAAI,GAAG,IAAI;AAC7B,CAAC;AACD;AACA;AACA;AAFA;AAGO,MAAME,QAAQ,GAAG,MAAUhB,MAAsB,IAA2B;EAC/E,MAAMO,KAAkB,GAAG,EAAE;EAC7B,IAAIU,OAA+B;EACnC,IAAIC,cAAmB,GAAGC,SAAS;EACnC,OAAQF,OAAO,GAAG,MAAMlB,KAAK,6DAAMC,MAAM;IAAEE,QAAQ,EAAEgB;EAAc,GAAG,EAAG;IACrEX,KAAK,CAACa,IAAI,CAAC,GAAGH,OAAO,CAACV,KAAK,CAAC;IAC5B,IAAI,CAACU,OAAO,CAACZ,MAAM,EAAE;MACjB,OAAOE,KAAK;IAChB;IACAW,cAAc,GAAGD,OAAO,CAACZ,MAAM;EACnC;EACA,OAAOE,KAAK;AAChB,CAAC;;AAED;AACA;AACA;AACA;AAHA;AAIO,MAAMc,oBAAoB,GAAG,OAChCrB,MAAsB,EACtBsB,QAA+C,KAC/B;EAChB,IAAIL,OAA+B;EACnC,IAAIC,cAAmB,GAAGC,SAAS;EACnC,OAAQF,OAAO,GAAG,MAAMlB,KAAK,6DAAMC,MAAM;IAAEE,QAAQ,EAAEgB;EAAc,GAAG,EAAG;IACrE,IAAI,CAACD,OAAO,CAACZ,MAAM,EAAE;MACjB;IACJ;IACA,MAAMiB,QAAQ,CAACL,OAAO,CAACV,KAAK,CAAC;IAC7BW,cAAc,GAAGD,OAAO,CAACZ,MAAM;EACnC;AACJ,CAAC;AAAC"}