@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.
Files changed (141) hide show
  1. package/BatchProcess.d.ts +27 -11
  2. package/BatchProcess.js +10 -42
  3. package/BatchProcess.js.map +1 -0
  4. package/DynamoDbDriver.d.ts +19 -11
  5. package/DynamoDbDriver.js +11 -44
  6. package/DynamoDbDriver.js.map +1 -0
  7. package/QueryGenerator.d.ts +15 -13
  8. package/QueryGenerator.js +16 -31
  9. package/QueryGenerator.js.map +1 -0
  10. package/index.d.ts +2 -0
  11. package/index.js +25 -4
  12. package/index.js.map +1 -0
  13. package/operators/comparison/beginsWith.js.map +1 -0
  14. package/operators/comparison/between.js.map +1 -0
  15. package/operators/comparison/eq.js +0 -2
  16. package/operators/comparison/eq.js.map +1 -0
  17. package/operators/comparison/gt.js.map +1 -0
  18. package/operators/comparison/gte.js.map +1 -0
  19. package/operators/comparison/lt.js.map +1 -0
  20. package/operators/comparison/lte.js.map +1 -0
  21. package/operators/index.js +1 -12
  22. package/operators/index.js.map +1 -0
  23. package/operators/logical/and.js +0 -5
  24. package/operators/logical/and.js.map +1 -0
  25. package/operators/logical/or.js +0 -5
  26. package/operators/logical/or.js.map +1 -0
  27. package/package.json +20 -19
  28. package/plugins/definitions/AttributePlugin.d.ts +3 -3
  29. package/plugins/definitions/AttributePlugin.js +1 -14
  30. package/plugins/definitions/AttributePlugin.js.map +1 -0
  31. package/plugins/definitions/DateTimeTransformPlugin.d.ts +2 -2
  32. package/plugins/definitions/DateTimeTransformPlugin.js +6 -20
  33. package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -0
  34. package/plugins/definitions/FieldPathPlugin.d.ts +3 -3
  35. package/plugins/definitions/FieldPathPlugin.js +3 -17
  36. package/plugins/definitions/FieldPathPlugin.js.map +1 -0
  37. package/plugins/definitions/FieldPlugin.d.ts +3 -3
  38. package/plugins/definitions/FieldPlugin.js +1 -17
  39. package/plugins/definitions/FieldPlugin.js.map +1 -0
  40. package/plugins/definitions/NumberTransformPlugin.d.ts +2 -2
  41. package/plugins/definitions/NumberTransformPlugin.js +3 -18
  42. package/plugins/definitions/NumberTransformPlugin.js.map +1 -0
  43. package/plugins/definitions/TimeTransformPlugin.d.ts +2 -2
  44. package/plugins/definitions/TimeTransformPlugin.js +3 -21
  45. package/plugins/definitions/TimeTransformPlugin.js.map +1 -0
  46. package/plugins/definitions/ValueFilterPlugin.d.ts +10 -10
  47. package/plugins/definitions/ValueFilterPlugin.js +1 -13
  48. package/plugins/definitions/ValueFilterPlugin.js.map +1 -0
  49. package/plugins/definitions/ValueTransformPlugin.d.ts +8 -8
  50. package/plugins/definitions/ValueTransformPlugin.js +3 -18
  51. package/plugins/definitions/ValueTransformPlugin.js.map +1 -0
  52. package/plugins/definitions/assignFields.js +1 -10
  53. package/plugins/definitions/assignFields.js.map +1 -0
  54. package/plugins/filters/andIn.d.ts +2 -2
  55. package/plugins/filters/andIn.js +4 -9
  56. package/plugins/filters/andIn.js.map +1 -0
  57. package/plugins/filters/between.d.ts +2 -2
  58. package/plugins/filters/between.js +4 -9
  59. package/plugins/filters/between.js.map +1 -0
  60. package/plugins/filters/contains.d.ts +2 -2
  61. package/plugins/filters/contains.js +3 -6
  62. package/plugins/filters/contains.js.map +1 -0
  63. package/plugins/filters/eq.d.ts +2 -2
  64. package/plugins/filters/eq.js +15 -4
  65. package/plugins/filters/eq.js.map +1 -0
  66. package/plugins/filters/fuzzy.d.ts +2 -2
  67. package/plugins/filters/fuzzy.js +9 -9
  68. package/plugins/filters/fuzzy.js.map +1 -0
  69. package/plugins/filters/gt.d.ts +2 -2
  70. package/plugins/filters/gt.js +3 -4
  71. package/plugins/filters/gt.js.map +1 -0
  72. package/plugins/filters/gte.d.ts +2 -2
  73. package/plugins/filters/gte.js +3 -4
  74. package/plugins/filters/gte.js.map +1 -0
  75. package/plugins/filters/in.d.ts +2 -2
  76. package/plugins/filters/in.js +4 -9
  77. package/plugins/filters/in.js.map +1 -0
  78. package/plugins/filters/index.js +3 -15
  79. package/plugins/filters/index.js.map +1 -0
  80. package/plugins/filters/lt.d.ts +2 -2
  81. package/plugins/filters/lt.js +3 -4
  82. package/plugins/filters/lt.js.map +1 -0
  83. package/plugins/filters/lte.d.ts +2 -2
  84. package/plugins/filters/lte.js +3 -4
  85. package/plugins/filters/lte.js.map +1 -0
  86. package/plugins/filters/startsWith.d.ts +3 -0
  87. package/plugins/filters/startsWith.js +29 -0
  88. package/plugins/filters/startsWith.js.map +1 -0
  89. package/plugins/index.js +1 -5
  90. package/plugins/index.js.map +1 -0
  91. package/statements/createKeyConditionExpressionArgs.d.ts +12 -9
  92. package/statements/createKeyConditionExpressionArgs.js +5 -8
  93. package/statements/createKeyConditionExpressionArgs.js.map +1 -0
  94. package/statements/processStatement.d.ts +3 -4
  95. package/statements/processStatement.js +7 -11
  96. package/statements/processStatement.js.map +1 -0
  97. package/types.d.ts +45 -8
  98. package/types.js.map +1 -0
  99. package/utils/attributes.d.ts +2 -2
  100. package/utils/attributes.js +3 -14
  101. package/utils/attributes.js.map +1 -0
  102. package/utils/batchRead.d.ts +4 -5
  103. package/utils/batchRead.js +43 -34
  104. package/utils/batchRead.js.map +1 -0
  105. package/utils/batchWrite.d.ts +4 -5
  106. package/utils/batchWrite.js +1 -7
  107. package/utils/batchWrite.js.map +1 -0
  108. package/utils/cleanup.d.ts +2 -2
  109. package/utils/cleanup.js +9 -27
  110. package/utils/cleanup.js.map +1 -0
  111. package/utils/createEntity.d.ts +14 -0
  112. package/utils/createEntity.js +60 -0
  113. package/utils/createEntity.js.map +1 -0
  114. package/utils/createTable.d.ts +7 -0
  115. package/utils/createTable.js +25 -0
  116. package/utils/createTable.js.map +1 -0
  117. package/utils/cursor.d.ts +2 -2
  118. package/utils/cursor.js +0 -6
  119. package/utils/cursor.js.map +1 -0
  120. package/utils/filter.d.ts +2 -2
  121. package/utils/filter.js +7 -43
  122. package/utils/filter.js.map +1 -0
  123. package/utils/get.d.ts +2 -2
  124. package/utils/get.js +0 -4
  125. package/utils/get.js.map +1 -0
  126. package/utils/index.d.ts +12 -0
  127. package/utils/index.js +137 -0
  128. package/utils/index.js.map +1 -0
  129. package/utils/listResponse.d.ts +1 -1
  130. package/utils/listResponse.js +7 -8
  131. package/utils/listResponse.js.map +1 -0
  132. package/utils/query.d.ts +8 -4
  133. package/utils/query.js +28 -36
  134. package/utils/query.js.map +1 -0
  135. package/utils/sort.d.ts +2 -2
  136. package/utils/sort.js +4 -23
  137. package/utils/sort.js.map +1 -0
  138. package/utils/table.js +1 -6
  139. package/utils/table.js.map +1 -0
  140. package/utils/documentClient.d.ts +0 -8
  141. package/utils/documentClient.js +0 -33
package/utils/sort.js CHANGED
@@ -1,27 +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
- exports.sortItems = void 0;
9
-
7
+ exports.sortItems = sortItems;
10
8
  var _orderBy = _interopRequireDefault(require("lodash/orderBy"));
11
-
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
10
  const extractSort = (sortBy, fields) => {
15
11
  const result = sortBy.split("_");
16
-
17
12
  if (result.length !== 2) {
18
13
  throw new _error.default("Problem in determining the sorting for the entry items.", "SORT_ERROR", {
19
14
  sortBy
20
15
  });
21
16
  }
22
-
23
17
  const [field, order] = result;
24
-
25
18
  if (!field) {
26
19
  throw new _error.default("Sorting field does not exist.", "SORTING_FIELD_ERROR", {
27
20
  field,
@@ -29,24 +22,20 @@ const extractSort = (sortBy, fields) => {
29
22
  fields
30
23
  });
31
24
  }
32
-
33
25
  const fieldPlugin = fields.find(f => f.getField() === field);
34
26
  const isSortable = fieldPlugin ? fieldPlugin.isSortable() : true;
35
-
36
27
  if (isSortable === false) {
37
28
  throw new _error.default(`Cannot sort by given field: "${field}".`, "UNSUPPORTED_SORT_ERROR", {
38
29
  fields,
39
30
  field
40
31
  });
41
32
  }
42
-
43
33
  return {
44
34
  field,
45
35
  reverse: order.toUpperCase() === "DESC"
46
36
  };
47
37
  };
48
-
49
- const sortItems = params => {
38
+ function sortItems(params) {
50
39
  const {
51
40
  items,
52
41
  sort: initialSort = [],
@@ -55,16 +44,13 @@ const sortItems = params => {
55
44
  /**
56
45
  * Skip sorting if nothing was passed to sort by or nothing to sort.
57
46
  */
58
-
59
47
  if (items.length <= 1 || Array.isArray(initialSort) === false || initialSort.length === 0) {
60
48
  return items;
61
49
  }
62
-
63
50
  const info = {
64
51
  sorters: [],
65
52
  orders: []
66
53
  };
67
-
68
54
  for (const sort of initialSort) {
69
55
  /**
70
56
  * Possibly empty array item was passed.
@@ -72,7 +58,6 @@ const sortItems = params => {
72
58
  if (!sort) {
73
59
  continue;
74
60
  }
75
-
76
61
  const {
77
62
  field,
78
63
  reverse
@@ -82,12 +67,8 @@ const sortItems = params => {
82
67
  info.sorters.push(path);
83
68
  info.orders.push(reverse === true ? "desc" : "asc");
84
69
  }
85
-
86
70
  if (info.sorters.length === 0) {
87
71
  return items;
88
72
  }
89
-
90
73
  return (0, _orderBy.default)(items, info.sorters, info.orders);
91
- };
92
-
93
- exports.sortItems = sortItems;
74
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["extractSort","sortBy","fields","result","split","length","WebinyError","field","order","fieldPlugin","find","f","getField","isSortable","reverse","toUpperCase","sortItems","params","items","sort","initialSort","Array","isArray","info","sorters","orders","path","getPath","push","lodashOrderBy"],"sources":["sort.ts"],"sourcesContent":["import lodashOrderBy from \"lodash/orderBy\";\nimport WebinyError from \"@webiny/error\";\nimport { FieldPlugin } from \"~/plugins/definitions/FieldPlugin\";\n\ninterface Info {\n sorters: string[];\n orders: (boolean | \"asc\" | \"desc\")[];\n}\n\ninterface Response {\n reverse: boolean;\n field: string;\n}\n\nconst extractSort = (sortBy: string, fields: FieldPlugin[]): Response => {\n const result = sortBy.split(\"_\");\n if (result.length !== 2) {\n throw new WebinyError(\n \"Problem in determining the sorting for the entry items.\",\n \"SORT_ERROR\",\n {\n sortBy\n }\n );\n }\n const [field, order] = result;\n\n if (!field) {\n throw new WebinyError(\"Sorting field does not exist.\", \"SORTING_FIELD_ERROR\", {\n field,\n order,\n fields\n });\n }\n const fieldPlugin = fields.find(f => f.getField() === field);\n const isSortable = fieldPlugin ? fieldPlugin.isSortable() : true;\n if (isSortable === false) {\n throw new WebinyError(`Cannot sort by given field: \"${field}\".`, \"UNSUPPORTED_SORT_ERROR\", {\n fields,\n field\n });\n }\n\n return {\n field,\n reverse: order.toUpperCase() === \"DESC\"\n };\n};\n\ninterface Params<T> {\n /**\n * The items we are sorting.\n */\n items: T[];\n /**\n * Sort options. For example: [\"id_ASC\"]\n */\n sort?: string[];\n /**\n * Fields we can sort by.\n */\n fields?: FieldPlugin[];\n}\n\nexport function sortItems<T = any>(params: Params<T>): T[] {\n const { items, sort: initialSort = [], fields = [] } = params;\n /**\n * Skip sorting if nothing was passed to sort by or nothing to sort.\n */\n if (items.length <= 1 || Array.isArray(initialSort) === false || initialSort.length === 0) {\n return items;\n }\n\n const info: Info = {\n sorters: [],\n orders: []\n };\n\n for (const sort of initialSort) {\n /**\n * Possibly empty array item was passed.\n */\n if (!sort) {\n continue;\n }\n const { field, reverse } = extractSort(sort, fields);\n const fieldPlugin = fields.find(f => f.getField() === field);\n const path = fieldPlugin ? fieldPlugin.getPath() : field;\n\n info.sorters.push(path);\n info.orders.push(reverse === true ? \"desc\" : \"asc\");\n }\n\n if (info.sorters.length === 0) {\n return items;\n }\n\n return lodashOrderBy(items, info.sorters, info.orders);\n}\n"],"mappings":";;;;;;;AAAA;AACA;AAaA,MAAMA,WAAW,GAAG,CAACC,MAAc,EAAEC,MAAqB,KAAe;EACrE,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK,CAAC,GAAG,CAAC;EAChC,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,MAAM,IAAIC,cAAW,CACjB,yDAAyD,EACzD,YAAY,EACZ;MACIL;IACJ,CAAC,CACJ;EACL;EACA,MAAM,CAACM,KAAK,EAAEC,KAAK,CAAC,GAAGL,MAAM;EAE7B,IAAI,CAACI,KAAK,EAAE;IACR,MAAM,IAAID,cAAW,CAAC,+BAA+B,EAAE,qBAAqB,EAAE;MAC1EC,KAAK;MACLC,KAAK;MACLN;IACJ,CAAC,CAAC;EACN;EACA,MAAMO,WAAW,GAAGP,MAAM,CAACQ,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,EAAE,KAAKL,KAAK,CAAC;EAC5D,MAAMM,UAAU,GAAGJ,WAAW,GAAGA,WAAW,CAACI,UAAU,EAAE,GAAG,IAAI;EAChE,IAAIA,UAAU,KAAK,KAAK,EAAE;IACtB,MAAM,IAAIP,cAAW,CAAE,gCAA+BC,KAAM,IAAG,EAAE,wBAAwB,EAAE;MACvFL,MAAM;MACNK;IACJ,CAAC,CAAC;EACN;EAEA,OAAO;IACHA,KAAK;IACLO,OAAO,EAAEN,KAAK,CAACO,WAAW,EAAE,KAAK;EACrC,CAAC;AACL,CAAC;AAiBM,SAASC,SAAS,CAAUC,MAAiB,EAAO;EACvD,MAAM;IAAEC,KAAK;IAAEC,IAAI,EAAEC,WAAW,GAAG,EAAE;IAAElB,MAAM,GAAG;EAAG,CAAC,GAAGe,MAAM;EAC7D;AACJ;AACA;EACI,IAAIC,KAAK,CAACb,MAAM,IAAI,CAAC,IAAIgB,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,KAAK,KAAK,IAAIA,WAAW,CAACf,MAAM,KAAK,CAAC,EAAE;IACvF,OAAOa,KAAK;EAChB;EAEA,MAAMK,IAAU,GAAG;IACfC,OAAO,EAAE,EAAE;IACXC,MAAM,EAAE;EACZ,CAAC;EAED,KAAK,MAAMN,IAAI,IAAIC,WAAW,EAAE;IAC5B;AACR;AACA;IACQ,IAAI,CAACD,IAAI,EAAE;MACP;IACJ;IACA,MAAM;MAAEZ,KAAK;MAAEO;IAAQ,CAAC,GAAGd,WAAW,CAACmB,IAAI,EAAEjB,MAAM,CAAC;IACpD,MAAMO,WAAW,GAAGP,MAAM,CAACQ,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,EAAE,KAAKL,KAAK,CAAC;IAC5D,MAAMmB,IAAI,GAAGjB,WAAW,GAAGA,WAAW,CAACkB,OAAO,EAAE,GAAGpB,KAAK;IAExDgB,IAAI,CAACC,OAAO,CAACI,IAAI,CAACF,IAAI,CAAC;IACvBH,IAAI,CAACE,MAAM,CAACG,IAAI,CAACd,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;EACvD;EAEA,IAAIS,IAAI,CAACC,OAAO,CAACnB,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAOa,KAAK;EAChB;EAEA,OAAO,IAAAW,gBAAa,EAACX,KAAK,EAAEK,IAAI,CAACC,OAAO,EAAED,IAAI,CAACE,MAAM,CAAC;AAC1D"}
package/utils/table.js CHANGED
@@ -1,14 +1,11 @@
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.getTable = void 0;
9
-
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
9
  /**
13
10
  * Will be removed in favor of passing the table name directly to the storage operations.
14
11
  *
@@ -20,8 +17,6 @@ const getTable = context => {
20
17
  } else if (!context.db.table) {
21
18
  throw new _error.default("Missing table on context.db.", "TABLE_ERROR");
22
19
  }
23
-
24
20
  return context.db.table;
25
21
  };
26
-
27
22
  exports.getTable = getTable;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getTable","context","db","WebinyError","table"],"sources":["table.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { DbContext } from \"@webiny/handler-db/types\";\n\n/**\n * Will be removed in favor of passing the table name directly to the storage operations.\n *\n * @deprecated\n */\nexport const getTable = <T extends DbContext>(context: T): string => {\n if (!context.db) {\n throw new WebinyError(\"Missing db on context.\", \"DB_ERROR\");\n } else if (!context.db.table) {\n throw new WebinyError(\"Missing table on context.db.\", \"TABLE_ERROR\");\n }\n return context.db.table;\n};\n"],"mappings":";;;;;;;AAAA;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMA,QAAQ,GAAyBC,OAAU,IAAa;EACjE,IAAI,CAACA,OAAO,CAACC,EAAE,EAAE;IACb,MAAM,IAAIC,cAAW,CAAC,wBAAwB,EAAE,UAAU,CAAC;EAC/D,CAAC,MAAM,IAAI,CAACF,OAAO,CAACC,EAAE,CAACE,KAAK,EAAE;IAC1B,MAAM,IAAID,cAAW,CAAC,8BAA8B,EAAE,aAAa,CAAC;EACxE;EACA,OAAOF,OAAO,CAACC,EAAE,CAACE,KAAK;AAC3B,CAAC;AAAC"}
@@ -1,8 +0,0 @@
1
- import { DocumentClient } from "aws-sdk/clients/dynamodb";
2
- import { DbContext } from "@webiny/handler-db/types";
3
- /**
4
- * Will be removed in favor of directly passing the documentClient to the storage operations.
5
- *
6
- * @deprecated
7
- */
8
- export declare const getDocumentClient: <T extends DbContext>(context: T) => DocumentClient;
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getDocumentClient = void 0;
9
-
10
- var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
- /**
13
- * Will be removed in favor of directly passing the documentClient to the storage operations.
14
- *
15
- * @deprecated
16
- */
17
- const getDocumentClient = context => {
18
- if (!context.db) {
19
- throw new _error.default("Missing db on context.", "DB_ERROR");
20
- } else if (!context.db.driver) {
21
- throw new _error.default(`Missing driver on the context.db property.`, "DRIVER_ERROR");
22
- }
23
-
24
- const driver = context.db.driver;
25
-
26
- if (!driver.documentClient) {
27
- throw new _error.default(`Missing documentClient on the context.db.driver property.`, "DOCUMENT_CLIENT_ERROR");
28
- }
29
-
30
- return driver.documentClient;
31
- };
32
-
33
- exports.getDocumentClient = getDocumentClient;