@webiny/db-dynamodb 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (215) hide show
  1. package/DynamoDbDriver.js +204 -209
  2. package/DynamoDbDriver.js.map +1 -1
  3. package/exports/api/db.d.ts +2 -0
  4. package/exports/api/db.js +2 -0
  5. package/feature/FilterUtil/FilterUtil.d.ts +11 -0
  6. package/feature/FilterUtil/FilterUtil.js +26 -0
  7. package/feature/FilterUtil/FilterUtil.js.map +1 -0
  8. package/feature/FilterUtil/abstractions/FilterUtil.d.ts +17 -0
  9. package/feature/FilterUtil/abstractions/FilterUtil.js +5 -0
  10. package/feature/FilterUtil/abstractions/FilterUtil.js.map +1 -0
  11. package/feature/FilterUtil/createFilters.d.ts +22 -0
  12. package/feature/FilterUtil/createFilters.js +92 -0
  13. package/feature/FilterUtil/createFilters.js.map +1 -0
  14. package/feature/FilterUtil/extractWhereArgs.d.ts +7 -0
  15. package/feature/FilterUtil/extractWhereArgs.js +20 -0
  16. package/feature/FilterUtil/extractWhereArgs.js.map +1 -0
  17. package/feature/FilterUtil/feature.d.ts +4 -0
  18. package/feature/FilterUtil/feature.js +11 -0
  19. package/feature/FilterUtil/feature.js.map +1 -0
  20. package/feature/FilterUtil/index.d.ts +2 -0
  21. package/feature/FilterUtil/index.js +2 -0
  22. package/feature/ValueFilter/ValueFilterRegistry.d.ts +12 -0
  23. package/feature/ValueFilter/ValueFilterRegistry.js +27 -0
  24. package/feature/ValueFilter/ValueFilterRegistry.js.map +1 -0
  25. package/feature/ValueFilter/abstractions/ValueFilter.d.ts +22 -0
  26. package/feature/ValueFilter/abstractions/ValueFilter.js +5 -0
  27. package/feature/ValueFilter/abstractions/ValueFilter.js.map +1 -0
  28. package/feature/ValueFilter/abstractions/ValueFilterRegistry.d.ts +10 -0
  29. package/feature/ValueFilter/abstractions/ValueFilterRegistry.js +5 -0
  30. package/feature/ValueFilter/abstractions/ValueFilterRegistry.js.map +1 -0
  31. package/feature/ValueFilter/feature.d.ts +4 -0
  32. package/feature/ValueFilter/feature.js +33 -0
  33. package/feature/ValueFilter/feature.js.map +1 -0
  34. package/feature/ValueFilter/filters/AndInFilter.d.ts +11 -0
  35. package/feature/ValueFilter/filters/AndInFilter.js +28 -0
  36. package/feature/ValueFilter/filters/AndInFilter.js.map +1 -0
  37. package/feature/ValueFilter/filters/BetweenFilter.d.ts +11 -0
  38. package/feature/ValueFilter/filters/BetweenFilter.js +31 -0
  39. package/feature/ValueFilter/filters/BetweenFilter.js.map +1 -0
  40. package/feature/ValueFilter/filters/ContainsFilter.d.ts +11 -0
  41. package/feature/ValueFilter/filters/ContainsFilter.js +42 -0
  42. package/feature/ValueFilter/filters/ContainsFilter.js.map +1 -0
  43. package/feature/ValueFilter/filters/EqFilter.d.ts +11 -0
  44. package/feature/ValueFilter/filters/EqFilter.js +24 -0
  45. package/feature/ValueFilter/filters/EqFilter.js.map +1 -0
  46. package/feature/ValueFilter/filters/FuzzyFilter.d.ts +11 -0
  47. package/feature/ValueFilter/filters/FuzzyFilter.js +37 -0
  48. package/feature/ValueFilter/filters/FuzzyFilter.js.map +1 -0
  49. package/feature/ValueFilter/filters/GtFilter.d.ts +11 -0
  50. package/feature/ValueFilter/filters/GtFilter.js +22 -0
  51. package/feature/ValueFilter/filters/GtFilter.js.map +1 -0
  52. package/feature/ValueFilter/filters/GteFilter.d.ts +11 -0
  53. package/feature/ValueFilter/filters/GteFilter.js +22 -0
  54. package/feature/ValueFilter/filters/GteFilter.js.map +1 -0
  55. package/feature/ValueFilter/filters/InFilter.d.ts +11 -0
  56. package/feature/ValueFilter/filters/InFilter.js +28 -0
  57. package/feature/ValueFilter/filters/InFilter.js.map +1 -0
  58. package/feature/ValueFilter/filters/LtFilter.d.ts +11 -0
  59. package/feature/ValueFilter/filters/LtFilter.js +22 -0
  60. package/feature/ValueFilter/filters/LtFilter.js.map +1 -0
  61. package/feature/ValueFilter/filters/LteFilter.d.ts +11 -0
  62. package/feature/ValueFilter/filters/LteFilter.js +22 -0
  63. package/feature/ValueFilter/filters/LteFilter.js.map +1 -0
  64. package/feature/ValueFilter/filters/StartsWithFilter.d.ts +11 -0
  65. package/feature/ValueFilter/filters/StartsWithFilter.js +29 -0
  66. package/feature/ValueFilter/filters/StartsWithFilter.js.map +1 -0
  67. package/feature/ValueFilter/index.d.ts +3 -0
  68. package/feature/ValueFilter/index.js +3 -0
  69. package/index.d.ts +1 -0
  70. package/index.js +9 -2
  71. package/index.js.map +1 -1
  72. package/package.json +28 -20
  73. package/plugins/definitions/DateTimeTransformPlugin.js +18 -27
  74. package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -1
  75. package/plugins/definitions/FieldPlugin.js +34 -37
  76. package/plugins/definitions/FieldPlugin.js.map +1 -1
  77. package/plugins/definitions/TimeTransformPlugin.js +25 -37
  78. package/plugins/definitions/TimeTransformPlugin.js.map +1 -1
  79. package/plugins/definitions/ValueTransformPlugin.d.ts +1 -6
  80. package/plugins/definitions/ValueTransformPlugin.js +17 -22
  81. package/plugins/definitions/ValueTransformPlugin.js.map +1 -1
  82. package/plugins/definitions/assignFields.js +14 -18
  83. package/plugins/definitions/assignFields.js.map +1 -1
  84. package/plugins/index.d.ts +0 -5
  85. package/plugins/index.js +0 -12
  86. package/store/entity.js +6 -9
  87. package/store/entity.js.map +1 -1
  88. package/store/keys.js +6 -13
  89. package/store/keys.js.map +1 -1
  90. package/store/types.js +0 -3
  91. package/toolbox.d.ts +53 -1
  92. package/toolbox.js +0 -4
  93. package/types.js +0 -3
  94. package/utils/batch/batchRead.js +37 -56
  95. package/utils/batch/batchRead.js.map +1 -1
  96. package/utils/batch/batchWrite.js +33 -51
  97. package/utils/batch/batchWrite.js.map +1 -1
  98. package/utils/batch/index.js +0 -2
  99. package/utils/batch/types.js +0 -3
  100. package/utils/cleanup.js +35 -25
  101. package/utils/cleanup.js.map +1 -1
  102. package/utils/count.js +8 -13
  103. package/utils/count.js.map +1 -1
  104. package/utils/createEntity.d.ts +1 -1
  105. package/utils/createEntity.js +75 -78
  106. package/utils/createEntity.js.map +1 -1
  107. package/utils/createTable.js +25 -35
  108. package/utils/createTable.js.map +1 -1
  109. package/utils/cursor.js +7 -10
  110. package/utils/cursor.js.map +1 -1
  111. package/utils/delete.js +6 -8
  112. package/utils/delete.js.map +1 -1
  113. package/utils/entity/Entity.d.ts +1 -1
  114. package/utils/entity/Entity.js +85 -89
  115. package/utils/entity/Entity.js.map +1 -1
  116. package/utils/entity/EntityReadBatch.js +23 -31
  117. package/utils/entity/EntityReadBatch.js.map +1 -1
  118. package/utils/entity/EntityReadBatchBuilder.js +12 -15
  119. package/utils/entity/EntityReadBatchBuilder.js.map +1 -1
  120. package/utils/entity/EntityWriteBatch.js +34 -41
  121. package/utils/entity/EntityWriteBatch.js.map +1 -1
  122. package/utils/entity/EntityWriteBatchBuilder.js +15 -16
  123. package/utils/entity/EntityWriteBatchBuilder.js.map +1 -1
  124. package/utils/entity/getEntity.js +8 -9
  125. package/utils/entity/getEntity.js.map +1 -1
  126. package/utils/entity/index.js +0 -2
  127. package/utils/entity/types.js +0 -4
  128. package/utils/get.js +12 -26
  129. package/utils/get.js.map +1 -1
  130. package/utils/index.d.ts +1 -5
  131. package/utils/index.js +1 -7
  132. package/utils/put.js +7 -9
  133. package/utils/put.js.map +1 -1
  134. package/utils/query.js +77 -128
  135. package/utils/query.js.map +1 -1
  136. package/utils/scan.js +47 -73
  137. package/utils/scan.js.map +1 -1
  138. package/utils/sort.js +37 -61
  139. package/utils/sort.js.map +1 -1
  140. package/utils/table/Table.js +22 -21
  141. package/utils/table/Table.js.map +1 -1
  142. package/utils/table/TableReadBatch.js +37 -45
  143. package/utils/table/TableReadBatch.js.map +1 -1
  144. package/utils/table/TableWriteBatch.js +47 -56
  145. package/utils/table/TableWriteBatch.js.map +1 -1
  146. package/utils/table/index.js +0 -2
  147. package/utils/table/types.js +0 -3
  148. package/plugins/definitions/AttributePlugin.d.ts +0 -18
  149. package/plugins/definitions/AttributePlugin.js +0 -38
  150. package/plugins/definitions/AttributePlugin.js.map +0 -1
  151. package/plugins/definitions/FieldPathPlugin.d.ts +0 -22
  152. package/plugins/definitions/FieldPathPlugin.js +0 -26
  153. package/plugins/definitions/FieldPathPlugin.js.map +0 -1
  154. package/plugins/definitions/ValueFilterPlugin.d.ts +0 -22
  155. package/plugins/definitions/ValueFilterPlugin.js +0 -35
  156. package/plugins/definitions/ValueFilterPlugin.js.map +0 -1
  157. package/plugins/filters/andIn.d.ts +0 -3
  158. package/plugins/filters/andIn.js +0 -24
  159. package/plugins/filters/andIn.js.map +0 -1
  160. package/plugins/filters/between.d.ts +0 -3
  161. package/plugins/filters/between.js +0 -25
  162. package/plugins/filters/between.js.map +0 -1
  163. package/plugins/filters/contains.d.ts +0 -3
  164. package/plugins/filters/contains.js +0 -53
  165. package/plugins/filters/contains.js.map +0 -1
  166. package/plugins/filters/eq.d.ts +0 -3
  167. package/plugins/filters/eq.js +0 -26
  168. package/plugins/filters/eq.js.map +0 -1
  169. package/plugins/filters/fuzzy.d.ts +0 -3
  170. package/plugins/filters/fuzzy.js +0 -29
  171. package/plugins/filters/fuzzy.js.map +0 -1
  172. package/plugins/filters/gt.d.ts +0 -3
  173. package/plugins/filters/gt.js +0 -14
  174. package/plugins/filters/gt.js.map +0 -1
  175. package/plugins/filters/gte.d.ts +0 -3
  176. package/plugins/filters/gte.js +0 -14
  177. package/plugins/filters/gte.js.map +0 -1
  178. package/plugins/filters/in.d.ts +0 -3
  179. package/plugins/filters/in.js +0 -24
  180. package/plugins/filters/in.js.map +0 -1
  181. package/plugins/filters/index.d.ts +0 -2
  182. package/plugins/filters/index.js +0 -14
  183. package/plugins/filters/index.js.map +0 -1
  184. package/plugins/filters/lt.d.ts +0 -3
  185. package/plugins/filters/lt.js +0 -14
  186. package/plugins/filters/lt.js.map +0 -1
  187. package/plugins/filters/lte.d.ts +0 -3
  188. package/plugins/filters/lte.js +0 -14
  189. package/plugins/filters/lte.js.map +0 -1
  190. package/plugins/filters/startsWith.d.ts +0 -3
  191. package/plugins/filters/startsWith.js +0 -34
  192. package/plugins/filters/startsWith.js.map +0 -1
  193. package/plugins/index.js.map +0 -1
  194. package/store/types.js.map +0 -1
  195. package/toolbox.js.map +0 -1
  196. package/types.js.map +0 -1
  197. package/utils/attributes.d.ts +0 -10
  198. package/utils/attributes.js +0 -19
  199. package/utils/attributes.js.map +0 -1
  200. package/utils/batch/index.js.map +0 -1
  201. package/utils/batch/types.js.map +0 -1
  202. package/utils/entity/index.js.map +0 -1
  203. package/utils/entity/types.js.map +0 -1
  204. package/utils/filter.d.ts +0 -12
  205. package/utils/filter.js +0 -174
  206. package/utils/filter.js.map +0 -1
  207. package/utils/index.js.map +0 -1
  208. package/utils/listResponse.d.ts +0 -13
  209. package/utils/listResponse.js +0 -25
  210. package/utils/listResponse.js.map +0 -1
  211. package/utils/table/index.js.map +0 -1
  212. package/utils/table/types.js.map +0 -1
  213. package/utils/update.d.ts +0 -12
  214. package/utils/update.js +0 -12
  215. package/utils/update.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ValueTransformPlugin","WebinyError","transformTime","params","value","undefined","Array","isArray","converted","Number","isNaN","time","milliseconds","split","values","map","length","hours","minutes","seconds","TimeTransformPlugin","constructor","transform"],"sources":["TimeTransformPlugin.ts"],"sourcesContent":["import type {\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin.js\";\nimport { ValueTransformPlugin } from \"./ValueTransformPlugin.js\";\nimport WebinyError from \"@webiny/error\";\n\nconst transformTime = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n if (value === undefined || value === null) {\n throw new WebinyError(`Time value is null or undefined.`, \"TIME_PARSE_ERROR\", {\n value\n });\n } else if (typeof value === \"boolean\" || value === \"\" || Array.isArray(value)) {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n const converted = Number(`${value}`);\n if (typeof value === \"number\" || isNaN(converted) === false) {\n return Number(value);\n } else if (typeof value !== \"string\") {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n /**\n * This is for the time format, eg. 12:36:25 or 12:36:25.881\n */\n const [time, milliseconds = 0] = value.split(\".\");\n const values = time.split(\":\").map(Number);\n if (values.length < 2) {\n throw new WebinyError(\"Time must contain at least hours and minutes.\", \"TIME_PARSE_ERROR\", {\n value\n });\n }\n const [hours, minutes, seconds = 0] = values;\n return (hours * 60 * 60 + minutes * 60 + seconds) * 1000 + Number(milliseconds);\n};\n\nexport class TimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformTime,\n ...params\n });\n }\n}\n"],"mappings":"AAIA,SAASA,oBAAoB;AAC7B,OAAOC,WAAW,MAAM,eAAe;AAEvC,MAAMC,aAAa,GAAIC,MAAiD,IAAa;EACjF,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,IAAIC,KAAK,KAAKC,SAAS,IAAID,KAAK,KAAK,IAAI,EAAE;IACvC,MAAM,IAAIH,WAAW,CAAC,kCAAkC,EAAE,kBAAkB,EAAE;MAC1EG;IACJ,CAAC,CAAC;EACN,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,SAAS,IAAIA,KAAK,KAAK,EAAE,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IAC3E,MAAM,IAAIH,WAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIG;IACJ,CACJ,CAAC;EACL;EACA,MAAMI,SAAS,GAAGC,MAAM,CAAC,GAAGL,KAAK,EAAE,CAAC;EACpC,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIM,KAAK,CAACF,SAAS,CAAC,KAAK,KAAK,EAAE;IACzD,OAAOC,MAAM,CAACL,KAAK,CAAC;EACxB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAClC,MAAM,IAAIH,WAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIG;IACJ,CACJ,CAAC;EACL;EACA;AACJ;AACA;EACI,MAAM,CAACO,IAAI,EAAEC,YAAY,GAAG,CAAC,CAAC,GAAGR,KAAK,CAACS,KAAK,CAAC,GAAG,CAAC;EACjD,MAAMC,MAAM,GAAGH,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAACE,GAAG,CAACN,MAAM,CAAC;EAC1C,IAAIK,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;IACnB,MAAM,IAAIf,WAAW,CAAC,+CAA+C,EAAE,kBAAkB,EAAE;MACvFG;IACJ,CAAC,CAAC;EACN;EACA,MAAM,CAACa,KAAK,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,GAAGL,MAAM;EAC5C,OAAO,CAACG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGC,OAAO,GAAG,EAAE,GAAGC,OAAO,IAAI,IAAI,GAAGV,MAAM,CAACG,YAAY,CAAC;AACnF,CAAC;AAED,OAAO,MAAMQ,mBAAmB,SAASpB,oBAAoB,CAAC;EACnDqB,WAAWA,CAAClB,MAAqD,EAAE;IACtE,KAAK,CAAC;MACFmB,SAAS,EAAEpB,aAAa;MACxB,GAAGC;IACP,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"plugins/definitions/TimeTransformPlugin.js","sources":["../../../src/plugins/definitions/TimeTransformPlugin.ts"],"sourcesContent":["import type {\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin.js\";\nimport { ValueTransformPlugin } from \"./ValueTransformPlugin.js\";\nimport WebinyError from \"@webiny/error\";\n\nconst transformTime = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n if (value === undefined || value === null) {\n throw new WebinyError(`Time value is null or undefined.`, \"TIME_PARSE_ERROR\", {\n value\n });\n } else if (typeof value === \"boolean\" || value === \"\" || Array.isArray(value)) {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n const converted = Number(`${value}`);\n if (typeof value === \"number\" || isNaN(converted) === false) {\n return Number(value);\n } else if (typeof value !== \"string\") {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n /**\n * This is for the time format, eg. 12:36:25 or 12:36:25.881\n */\n const [time, milliseconds = 0] = value.split(\".\");\n const values = time.split(\":\").map(Number);\n if (values.length < 2) {\n throw new WebinyError(\"Time must contain at least hours and minutes.\", \"TIME_PARSE_ERROR\", {\n value\n });\n }\n const [hours, minutes, seconds = 0] = values;\n return (hours * 60 * 60 + minutes * 60 + seconds) * 1000 + Number(milliseconds);\n};\n\nexport class TimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformTime,\n ...params\n });\n }\n}\n"],"names":["transformTime","params","value","WebinyError","Array","converted","Number","isNaN","time","milliseconds","values","hours","minutes","seconds","TimeTransformPlugin","ValueTransformPlugin"],"mappings":";;AAOA,MAAMA,gBAAgB,CAACC;IACnB,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,IAAIC,QAAAA,OACA,MAAM,IAAIC,MAAY,oCAAoC,oBAAoB;QAC1ED;IACJ;IACG,IAAI,AAAiB,aAAjB,OAAOA,SAAuBA,AAAU,OAAVA,SAAgBE,MAAM,OAAO,CAACF,QACnE,MAAM,IAAIC,MACN,kEACA,oBACA;QACID;IACJ;IAGR,MAAMG,YAAYC,OAAO,GAAGJ,OAAO;IACnC,IAAI,AAAiB,YAAjB,OAAOA,SAAsBK,AAAqB,UAArBA,MAAMF,YACnC,OAAOC,OAAOJ;IACX,IAAI,AAAiB,YAAjB,OAAOA,OACd,MAAM,IAAIC,MACN,kEACA,oBACA;QACID;IACJ;IAMR,MAAM,CAACM,MAAMC,eAAe,CAAC,CAAC,GAAGP,MAAM,KAAK,CAAC;IAC7C,MAAMQ,SAASF,KAAK,KAAK,CAAC,KAAK,GAAG,CAACF;IACnC,IAAII,OAAO,MAAM,GAAG,GAChB,MAAM,IAAIP,MAAY,iDAAiD,oBAAoB;QACvFD;IACJ;IAEJ,MAAM,CAACS,OAAOC,SAASC,UAAU,CAAC,CAAC,GAAGH;IACtC,OAAQC,AAAAA,CAAAA,AAAQ,KAARA,QAAa,KAAKC,AAAU,KAAVA,UAAeC,OAAM,IAAK,OAAOP,OAAOG;AACtE;AAEO,MAAMK,4BAA4BC;IACrC,YAAmBd,MAAqD,CAAE;QACtE,KAAK,CAAC;YACF,WAAWD;YACX,GAAGC,MAAM;QACb;IACJ;AACJ"}
@@ -5,18 +5,13 @@ export interface ValueTransformPluginParamsTransformParams {
5
5
  export interface ValueTransformPluginParamsTransform {
6
6
  (params: ValueTransformPluginParamsTransformParams): any;
7
7
  }
8
- export interface CanTransform {
9
- (field: string): boolean;
10
- }
11
8
  export interface ValueTransformPluginParams {
12
9
  fields: string[];
13
10
  transform: ValueTransformPluginParamsTransform;
14
- canTransform?: CanTransform;
15
11
  }
16
- export declare class ValueTransformPlugin extends Plugin {
12
+ export declare abstract class ValueTransformPlugin extends Plugin {
17
13
  static readonly type: string;
18
14
  private readonly _params;
19
15
  constructor(params: ValueTransformPluginParams);
20
- canTransform(field: string): boolean;
21
16
  transform(params: ValueTransformPluginParamsTransformParams): any;
22
17
  }
@@ -1,29 +1,24 @@
1
1
  import { Plugin } from "@webiny/plugins";
2
- import WebinyError from "@webiny/error";
2
+ import error from "@webiny/error";
3
3
  import { assignFields } from "./assignFields.js";
4
- export class ValueTransformPlugin extends Plugin {
5
- static type = "dynamodb.value.transform";
6
- constructor(params) {
7
- super();
8
- this._params = {
9
- ...params,
10
- fields: assignFields(params.fields)
11
- };
12
- }
13
- canTransform(field) {
14
- if (!this._params.canTransform) {
15
- return this._params.fields.includes(field);
4
+ class ValueTransformPlugin extends Plugin {
5
+ static{
6
+ this.type = "dynamodb.value.transform";
16
7
  }
17
- return this._params.canTransform(field);
18
- }
19
- transform(params) {
20
- if (!this._params.transform) {
21
- throw new WebinyError(`Missing "transform" in the plugin.`, "TRANSFORM_ERROR", {
22
- fields: this._params.fields
23
- });
8
+ constructor(params){
9
+ super();
10
+ this._params = {
11
+ ...params,
12
+ fields: assignFields(params.fields)
13
+ };
14
+ }
15
+ transform(params) {
16
+ if (!this._params.transform) throw new error('Missing "transform" in the plugin.', "TRANSFORM_ERROR", {
17
+ fields: this._params.fields
18
+ });
19
+ return this._params.transform(params);
24
20
  }
25
- return this._params.transform(params);
26
- }
27
21
  }
22
+ export { ValueTransformPlugin };
28
23
 
29
24
  //# sourceMappingURL=ValueTransformPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Plugin","WebinyError","assignFields","ValueTransformPlugin","type","constructor","params","_params","fields","canTransform","field","includes","transform"],"sources":["ValueTransformPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields.js\";\n\nexport interface ValueTransformPluginParamsTransformParams {\n value: Date | string | null | undefined;\n}\nexport interface ValueTransformPluginParamsTransform {\n (params: ValueTransformPluginParamsTransformParams): any;\n}\nexport interface CanTransform {\n (field: string): boolean;\n}\nexport interface ValueTransformPluginParams {\n fields: string[];\n transform: ValueTransformPluginParamsTransform;\n canTransform?: CanTransform;\n}\n\nexport class ValueTransformPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.transform\";\n\n private readonly _params: ValueTransformPluginParams;\n\n public constructor(params: ValueTransformPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canTransform(field: string): boolean {\n if (!this._params.canTransform) {\n return this._params.fields.includes(field);\n }\n return this._params.canTransform(field);\n }\n\n public transform(params: ValueTransformPluginParamsTransformParams): any {\n if (!this._params.transform) {\n throw new WebinyError(`Missing \"transform\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.transform(params);\n }\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,iBAAiB;AACxC,OAAOC,WAAW,MAAM,eAAe;AACvC,SAASC,YAAY;AAiBrB,OAAO,MAAMC,oBAAoB,SAASH,MAAM,CAAC;EAC7C,OAAgCI,IAAI,GAAW,0BAA0B;EAIlEC,WAAWA,CAACC,MAAkC,EAAE;IACnD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAG;MACX,GAAGD,MAAM;MACTE,MAAM,EAAEN,YAAY,CAACI,MAAM,CAACE,MAAM;IACtC,CAAC;EACL;EAEOC,YAAYA,CAACC,KAAa,EAAW;IACxC,IAAI,CAAC,IAAI,CAACH,OAAO,CAACE,YAAY,EAAE;MAC5B,OAAO,IAAI,CAACF,OAAO,CAACC,MAAM,CAACG,QAAQ,CAACD,KAAK,CAAC;IAC9C;IACA,OAAO,IAAI,CAACH,OAAO,CAACE,YAAY,CAACC,KAAK,CAAC;EAC3C;EAEOE,SAASA,CAACN,MAAiD,EAAO;IACrE,IAAI,CAAC,IAAI,CAACC,OAAO,CAACK,SAAS,EAAE;MACzB,MAAM,IAAIX,WAAW,CAAC,oCAAoC,EAAE,iBAAiB,EAAE;QAC3EO,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACK,SAAS,CAACN,MAAM,CAAC;EACzC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"plugins/definitions/ValueTransformPlugin.js","sources":["../../../src/plugins/definitions/ValueTransformPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields.js\";\n\nexport interface ValueTransformPluginParamsTransformParams {\n value: Date | string | null | undefined;\n}\nexport interface ValueTransformPluginParamsTransform {\n (params: ValueTransformPluginParamsTransformParams): any;\n}\nexport interface ValueTransformPluginParams {\n fields: string[];\n transform: ValueTransformPluginParamsTransform;\n}\n\nexport abstract class ValueTransformPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.transform\";\n\n private readonly _params: ValueTransformPluginParams;\n\n public constructor(params: ValueTransformPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public transform(params: ValueTransformPluginParamsTransformParams): any {\n if (!this._params.transform) {\n throw new WebinyError(`Missing \"transform\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.transform(params);\n }\n}\n"],"names":["ValueTransformPlugin","Plugin","params","assignFields","WebinyError"],"mappings":";;;AAeO,MAAeA,6BAA6BC;;aACf,IAAI,GAAW;;IAI/C,YAAmBC,MAAkC,CAAE;QACnD,KAAK;QACL,IAAI,CAAC,OAAO,GAAG;YACX,GAAGA,MAAM;YACT,QAAQC,aAAaD,OAAO,MAAM;QACtC;IACJ;IAEO,UAAUA,MAAiD,EAAO;QACrE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EACvB,MAAM,IAAIE,MAAY,sCAAsC,mBAAmB;YAC3E,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM;QAC/B;QAEJ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAACF;IAClC;AACJ"}
@@ -1,22 +1,18 @@
1
- import WebinyError from "@webiny/error";
2
- export const assignFields = rawInput => {
3
- const input = Array.isArray(rawInput) ? rawInput : [rawInput];
4
- if (input.length === 0) {
5
- throw new WebinyError("Could not assign fields because there are none.", "ASSIGN_FIELDS_ERROR");
6
- }
7
- const fields = [];
8
- for (const field of input) {
9
- /**
10
- * Need to make sure that no field is empty.
11
- */
12
- if (!field) {
13
- throw new WebinyError("Passed empty field value into the plugin.", "EMPTY_FIELD_VALUE", {
14
- fields: input
15
- });
1
+ import error from "@webiny/error";
2
+ const assignFields = (rawInput)=>{
3
+ const input = Array.isArray(rawInput) ? rawInput : [
4
+ rawInput
5
+ ];
6
+ if (0 === input.length) throw new error("Could not assign fields because there are none.", "ASSIGN_FIELDS_ERROR");
7
+ const fields = [];
8
+ for (const field of input){
9
+ if (!field) throw new error("Passed empty field value into the plugin.", "EMPTY_FIELD_VALUE", {
10
+ fields: input
11
+ });
12
+ fields.push(field);
16
13
  }
17
- fields.push(field);
18
- }
19
- return fields;
14
+ return fields;
20
15
  };
16
+ export { assignFields };
21
17
 
22
18
  //# sourceMappingURL=assignFields.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","assignFields","rawInput","input","Array","isArray","length","fields","field","push"],"sources":["assignFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\n\nexport const assignFields = (rawInput: string | string[]): string[] => {\n const input = Array.isArray(rawInput) ? rawInput : [rawInput];\n if (input.length === 0) {\n throw new WebinyError(\n \"Could not assign fields because there are none.\",\n \"ASSIGN_FIELDS_ERROR\"\n );\n }\n const fields: string[] = [];\n for (const field of input) {\n /**\n * Need to make sure that no field is empty.\n */\n if (!field) {\n throw new WebinyError(\n \"Passed empty field value into the plugin.\",\n \"EMPTY_FIELD_VALUE\",\n {\n fields: input\n }\n );\n }\n fields.push(field);\n }\n return fields;\n};\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AAEvC,OAAO,MAAMC,YAAY,GAAIC,QAA2B,IAAe;EACnE,MAAMC,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;EAC7D,IAAIC,KAAK,CAACG,MAAM,KAAK,CAAC,EAAE;IACpB,MAAM,IAAIN,WAAW,CACjB,iDAAiD,EACjD,qBACJ,CAAC;EACL;EACA,MAAMO,MAAgB,GAAG,EAAE;EAC3B,KAAK,MAAMC,KAAK,IAAIL,KAAK,EAAE;IACvB;AACR;AACA;IACQ,IAAI,CAACK,KAAK,EAAE;MACR,MAAM,IAAIR,WAAW,CACjB,2CAA2C,EAC3C,mBAAmB,EACnB;QACIO,MAAM,EAAEJ;MACZ,CACJ,CAAC;IACL;IACAI,MAAM,CAACE,IAAI,CAACD,KAAK,CAAC;EACtB;EACA,OAAOD,MAAM;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"plugins/definitions/assignFields.js","sources":["../../../src/plugins/definitions/assignFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\n\nexport const assignFields = (rawInput: string | string[]): string[] => {\n const input = Array.isArray(rawInput) ? rawInput : [rawInput];\n if (input.length === 0) {\n throw new WebinyError(\n \"Could not assign fields because there are none.\",\n \"ASSIGN_FIELDS_ERROR\"\n );\n }\n const fields: string[] = [];\n for (const field of input) {\n /**\n * Need to make sure that no field is empty.\n */\n if (!field) {\n throw new WebinyError(\n \"Passed empty field value into the plugin.\",\n \"EMPTY_FIELD_VALUE\",\n {\n fields: input\n }\n );\n }\n fields.push(field);\n }\n return fields;\n};\n"],"names":["assignFields","rawInput","input","Array","WebinyError","fields","field"],"mappings":";AAEO,MAAMA,eAAe,CAACC;IACzB,MAAMC,QAAQC,MAAM,OAAO,CAACF,YAAYA,WAAW;QAACA;KAAS;IAC7D,IAAIC,AAAiB,MAAjBA,MAAM,MAAM,EACZ,MAAM,IAAIE,MACN,mDACA;IAGR,MAAMC,SAAmB,EAAE;IAC3B,KAAK,MAAMC,SAASJ,MAAO;QAIvB,IAAI,CAACI,OACD,MAAM,IAAIF,MACN,6CACA,qBACA;YACI,QAAQF;QACZ;QAGRG,OAAO,IAAI,CAACC;IAChB;IACA,OAAOD;AACX"}
@@ -1,10 +1,5 @@
1
1
  export * from "./definitions/assignFields.js";
2
- export * from "./definitions/AttributePlugin.js";
3
2
  export * from "./definitions/DateTimeTransformPlugin.js";
4
- export * from "./definitions/FieldPathPlugin.js";
5
3
  export * from "./definitions/FieldPlugin.js";
6
4
  export * from "./definitions/TimeTransformPlugin.js";
7
- export * from "./definitions/ValueFilterPlugin.js";
8
5
  export * from "./definitions/ValueTransformPlugin.js";
9
- declare const _default: () => import("./definitions/ValueFilterPlugin.js").ValueFilterPlugin<any, any>[][];
10
- export default _default;
package/plugins/index.js CHANGED
@@ -1,17 +1,5 @@
1
1
  export * from "./definitions/assignFields.js";
2
- export * from "./definitions/AttributePlugin.js";
3
2
  export * from "./definitions/DateTimeTransformPlugin.js";
4
- export * from "./definitions/FieldPathPlugin.js";
5
3
  export * from "./definitions/FieldPlugin.js";
6
4
  export * from "./definitions/TimeTransformPlugin.js";
7
- export * from "./definitions/ValueFilterPlugin.js";
8
5
  export * from "./definitions/ValueTransformPlugin.js";
9
- /**
10
- * List everything that needs to be loaded by default.
11
- */
12
- import filterPlugins from "./filters/index.js";
13
- export default () => {
14
- return [filterPlugins()];
15
- };
16
-
17
- //# sourceMappingURL=index.js.map
package/store/entity.js CHANGED
@@ -1,11 +1,8 @@
1
- import { createGlobalEntity as baseCreateGlobalEntity } from "../utils/index.js";
2
- export const createEntity = ({
3
- table
4
- }) => {
5
- return baseCreateGlobalEntity({
6
- table: table.table,
7
- name: "WebinyKeyValue"
8
- });
9
- };
1
+ import { createGlobalEntity } from "../utils/index.js";
2
+ const createEntity = ({ table })=>createGlobalEntity({
3
+ table: table.table,
4
+ name: "WebinyKeyValue"
5
+ });
6
+ export { createEntity };
10
7
 
11
8
  //# sourceMappingURL=entity.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createGlobalEntity","baseCreateGlobalEntity","createEntity","table","name"],"sources":["entity.ts"],"sourcesContent":["import type { ITable } from \"~/utils/index.js\";\nimport { createGlobalEntity as baseCreateGlobalEntity } from \"~/utils/index.js\";\nimport type { IStoreEntity, IStoreEntityValue } from \"~/store/types.js\";\n\nexport interface ICreateEntityParams {\n table: ITable;\n}\n\nexport const createEntity = ({ table }: ICreateEntityParams): IStoreEntity => {\n return baseCreateGlobalEntity<IStoreEntityValue>({\n table: table.table,\n name: \"WebinyKeyValue\"\n });\n};\n"],"mappings":"AACA,SAASA,kBAAkB,IAAIC,sBAAsB;AAOrD,OAAO,MAAMC,YAAY,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAmB;EAC1E,OAAOF,sBAAsB,CAAoB;IAC7CE,KAAK,EAAEA,KAAK,CAACA,KAAK;IAClBC,IAAI,EAAE;EACV,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"store/entity.js","sources":["../../src/store/entity.ts"],"sourcesContent":["import type { ITable } from \"~/utils/index.js\";\nimport { createGlobalEntity as baseCreateGlobalEntity } from \"~/utils/index.js\";\nimport type { IStoreEntity, IStoreEntityValue } from \"~/store/types.js\";\n\nexport interface ICreateEntityParams {\n table: ITable;\n}\n\nexport const createEntity = ({ table }: ICreateEntityParams): IStoreEntity => {\n return baseCreateGlobalEntity<IStoreEntityValue>({\n table: table.table,\n name: \"WebinyKeyValue\"\n });\n};\n"],"names":["createEntity","table","baseCreateGlobalEntity"],"mappings":";AAQO,MAAMA,eAAe,CAAC,EAAEC,KAAK,EAAuB,GAChDC,mBAA0C;QAC7C,OAAOD,MAAM,KAAK;QAClB,MAAM;IACV"}
package/store/keys.js CHANGED
@@ -1,16 +1,9 @@
1
- export const createPartitionKey = () => {
2
- return `W#internal`;
3
- };
4
- export const createSortKey = ({
5
- key
6
- }) => {
7
- if (typeof key === "symbol") {
8
- return key.toString();
9
- }
10
- return String(key);
11
- };
12
- export const createType = () => {
13
- return "internal";
1
+ const createPartitionKey = ()=>"W#internal";
2
+ const createSortKey = ({ key })=>{
3
+ if ("symbol" == typeof key) return key.toString();
4
+ return String(key);
14
5
  };
6
+ const createType = ()=>"internal";
7
+ export { createPartitionKey, createSortKey, createType };
15
8
 
16
9
  //# sourceMappingURL=keys.js.map
package/store/keys.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createPartitionKey","createSortKey","key","toString","String","createType"],"sources":["keys.ts"],"sourcesContent":["export interface IParams {\n key: string | number | symbol;\n}\n\nexport const createPartitionKey = () => {\n return `W#internal`;\n};\n\nexport const createSortKey = ({ key }: IParams) => {\n if (typeof key === \"symbol\") {\n return key.toString();\n }\n return String(key);\n};\n\nexport const createType = () => {\n return \"internal\";\n};\n"],"mappings":"AAIA,OAAO,MAAMA,kBAAkB,GAAGA,CAAA,KAAM;EACpC,OAAO,YAAY;AACvB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC;AAAa,CAAC,KAAK;EAC/C,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAOA,GAAG,CAACC,QAAQ,CAAC,CAAC;EACzB;EACA,OAAOC,MAAM,CAACF,GAAG,CAAC;AACtB,CAAC;AAED,OAAO,MAAMG,UAAU,GAAGA,CAAA,KAAM;EAC5B,OAAO,UAAU;AACrB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"store/keys.js","sources":["../../src/store/keys.ts"],"sourcesContent":["export interface IParams {\n key: string | number | symbol;\n}\n\nexport const createPartitionKey = () => {\n return `W#internal`;\n};\n\nexport const createSortKey = ({ key }: IParams) => {\n if (typeof key === \"symbol\") {\n return key.toString();\n }\n return String(key);\n};\n\nexport const createType = () => {\n return \"internal\";\n};\n"],"names":["createPartitionKey","createSortKey","key","String","createType"],"mappings":"AAIO,MAAMA,qBAAqB,IACvB;AAGJ,MAAMC,gBAAgB,CAAC,EAAEC,GAAG,EAAW;IAC1C,IAAI,AAAe,YAAf,OAAOA,KACP,OAAOA,IAAI,QAAQ;IAEvB,OAAOC,OAAOD;AAClB;AAEO,MAAME,aAAa,IACf"}
package/store/types.js CHANGED
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map
package/toolbox.d.ts CHANGED
@@ -5,4 +5,56 @@ export type DynamoDBTypes = "string" | "boolean" | "number" | "bigint" | "list"
5
5
  type Key = string | number | symbol;
6
6
  export type TableDef = Table<string, Key, Key | null>;
7
7
  export type TableConstructor<A extends string, B extends Key, C extends Key> = ConstructorParameters<typeof Table<A, B, C>>[0];
8
- export type { EntityConstructor, Readonly, AttributeDefinition, EntityQueryOptions, AttributeDefinitions } from "dynamodb-toolbox/dist/cjs/classes/Entity/index.js";
8
+ export type Readonly<T> = T extends ((...args: any[]) => any) | undefined ? T : T extends object ? {
9
+ readonly [P in keyof T]: Readonly<T[P]>;
10
+ } : T;
11
+ export type AttributeDefinition = DynamoDBTypes | Partial<{
12
+ type: DynamoDBTypes;
13
+ coerce: boolean;
14
+ default: unknown;
15
+ dependsOn: string | string[];
16
+ required: boolean | "always";
17
+ hidden: boolean;
18
+ prefix: string;
19
+ suffix: string;
20
+ delimiter: string;
21
+ map: string;
22
+ alias: string;
23
+ onlyMap: boolean;
24
+ partitionKey: boolean;
25
+ sortKey: boolean;
26
+ [key: string]: unknown;
27
+ }> | [string, number] | [string, number, string] | [string, number, Record<string, unknown>];
28
+ export type AttributeDefinitions = Record<PropertyKey, AttributeDefinition>;
29
+ export interface EntityConstructor<T extends Readonly<AttributeDefinitions> = Readonly<AttributeDefinitions>> {
30
+ name: string;
31
+ attributes: T;
32
+ table?: TableDef;
33
+ timestamps?: boolean;
34
+ createdAlias?: string;
35
+ modifiedAlias?: string;
36
+ typeAlias?: string;
37
+ typeHidden?: boolean;
38
+ autoExecute?: boolean;
39
+ autoParse?: boolean;
40
+ }
41
+ export interface EntityQueryOptions {
42
+ index?: string;
43
+ limit?: number;
44
+ reverse?: boolean;
45
+ consistent?: boolean;
46
+ capacity?: "indexes" | "total" | "none";
47
+ select?: "all_attributes" | "all_projected_attributes" | "count" | "specific_attributes";
48
+ eq?: string | number;
49
+ lt?: string | number;
50
+ lte?: string | number;
51
+ gt?: string | number;
52
+ gte?: string | number;
53
+ between?: [string, string] | [number, number] | [bigint, bigint];
54
+ beginsWith?: string;
55
+ startKey?: Record<string, unknown>;
56
+ filters?: Record<string, unknown>;
57
+ attributes?: string[];
58
+ execute?: boolean;
59
+ parse?: boolean;
60
+ }
package/toolbox.js CHANGED
@@ -1,5 +1 @@
1
1
  export { Entity, Table } from "dynamodb-toolbox";
2
-
3
- // TODO: this needs to be replaced with either inferred types, or manual cherry picked types.
4
-
5
- //# sourceMappingURL=toolbox.js.map
package/types.js CHANGED
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map
@@ -1,64 +1,45 @@
1
- import lodashChunk from "lodash/chunk.js";
2
- import WebinyError from "@webiny/error";
1
+ import chunk from "lodash/chunk.js";
2
+ import error from "@webiny/error";
3
3
  const MAX_BATCH_ITEMS = 100;
4
- const flatten = responses => {
5
- const entries = [];
6
- const values = Object.values(responses);
7
- for (const items of values) {
8
- entries.push(...items);
9
- }
10
- return entries;
4
+ const flatten = (responses)=>{
5
+ const entries = [];
6
+ const values = Object.values(responses);
7
+ for (const items of values)entries.push(...items);
8
+ return entries;
11
9
  };
12
- const batchReadAllChunk = async params => {
13
- const {
14
- table,
15
- items
16
- } = params;
17
- const records = [];
18
- if (!table) {
19
- return records;
20
- }
21
- const result = await table.batchGet(items);
22
- if (!result || !result.Responses) {
23
- return records;
24
- }
25
- records.push(...flatten(result.Responses));
26
- if (!result.next || typeof result.next !== "function") {
27
- return records;
28
- }
29
- let previous = result;
30
- while (typeof previous.next === "function") {
31
- const nextResult = await previous.next();
32
- if (!nextResult) {
33
- return records;
10
+ const batchReadAllChunk = async (params)=>{
11
+ const { table, items } = params;
12
+ const records = [];
13
+ if (!table) return records;
14
+ const result = await table.batchGet(items);
15
+ if (!result || !result.Responses) return records;
16
+ records.push(...flatten(result.Responses));
17
+ if (!result.next || "function" != typeof result.next) return records;
18
+ let previous = result;
19
+ while("function" == typeof previous.next){
20
+ const nextResult = await previous.next();
21
+ if (!nextResult) break;
22
+ records.push(...flatten(nextResult.Responses));
23
+ previous = nextResult;
34
24
  }
35
- records.push(...flatten(nextResult.Responses));
36
- previous = nextResult;
37
- }
38
- return records;
25
+ return records;
39
26
  };
40
- /**
41
- * This helper function is meant to be used to batch read from one table.
42
- * It will fetch all results, as there is a next() method call built in.
43
- */
44
- export const batchReadAll = async (params, maxChunk = MAX_BATCH_ITEMS) => {
45
- if (params.items.length === 0) {
46
- return [];
47
- } else if (maxChunk > MAX_BATCH_ITEMS) {
48
- throw new WebinyError(`Cannot set to load more than ${MAX_BATCH_ITEMS} items from the DynamoDB at once.`, "DYNAMODB_MAX_BATCH_GET_LIMIT_ERROR", {
49
- maxChunk
27
+ const batchReadAll = async (params, maxChunk = MAX_BATCH_ITEMS)=>{
28
+ if (0 === params.items.length) return [];
29
+ if (maxChunk > MAX_BATCH_ITEMS) throw new error(`Cannot set to load more than ${MAX_BATCH_ITEMS} items from the DynamoDB at once.`, "DYNAMODB_MAX_BATCH_GET_LIMIT_ERROR", {
30
+ maxChunk
50
31
  });
51
- }
52
- const records = [];
53
- const chunkItemsList = lodashChunk(params.items, maxChunk);
54
- for (const chunkItems of chunkItemsList) {
55
- const results = await batchReadAllChunk({
56
- table: params.table,
57
- items: chunkItems
58
- });
59
- records.push(...results);
60
- }
61
- return records;
32
+ const records = [];
33
+ const chunkItemsList = chunk(params.items, maxChunk);
34
+ for (const chunkItems of chunkItemsList){
35
+ const results = await batchReadAllChunk({
36
+ table: params.table,
37
+ items: chunkItems
38
+ });
39
+ records.push(...results);
40
+ }
41
+ return records;
62
42
  };
43
+ export { batchReadAll };
63
44
 
64
45
  //# sourceMappingURL=batchRead.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["lodashChunk","WebinyError","MAX_BATCH_ITEMS","flatten","responses","entries","values","Object","items","push","batchReadAllChunk","params","table","records","result","batchGet","Responses","next","previous","nextResult","batchReadAll","maxChunk","length","chunkItemsList","chunkItems","results"],"sources":["batchRead.ts"],"sourcesContent":["import lodashChunk from \"lodash/chunk.js\";\nimport WebinyError from \"@webiny/error\";\nimport type { TableDef } from \"~/toolbox.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface BatchReadItem {\n Table?: TableDef;\n Key: any;\n}\nexport interface BatchReadParams {\n table?: TableDef;\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?: TableDef;\n items: BatchReadItem[];\n}\nconst batchReadAllChunk = async <T = any>(params: BatchReadAllChunkParams): Promise<T[]> => {\n const { table, items } = params;\n const records: T[] = [];\n\n if (!table) {\n return records;\n }\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 = GenericRecord>(\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 = 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":"AAAA,OAAOA,WAAW,MAAM,iBAAiB;AACzC,OAAOC,WAAW,MAAM,eAAe;AAavC,MAAMC,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,IAAI,CAACD,KAAK,EAAE;IACR,OAAOC,OAAO;EAClB;EAEA,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,CAAC,CAAC;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;AACA,OAAO,MAAMO,YAAY,GAAG,MAAAA,CACxBT,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,IAAID,WAAW,CACjB,gCAAgCC,eAAe,mCAAmC,EAClF,oCAAoC,EACpC;MACImB;IACJ,CACJ,CAAC;EACL;EAEA,MAAMR,OAAY,GAAG,EAAE;EAEvB,MAAMU,cAAc,GAAGvB,WAAW,CAACW,MAAM,CAACH,KAAK,EAAEa,QAAQ,CAAC;EAE1D,KAAK,MAAMG,UAAU,IAAID,cAAc,EAAE;IACrC,MAAME,OAAO,GAAG,MAAMf,iBAAiB,CAAI;MACvCE,KAAK,EAAED,MAAM,CAACC,KAAK;MACnBJ,KAAK,EAAEgB;IACX,CAAC,CAAC;IAEFX,OAAO,CAACJ,IAAI,CAAC,GAAGgB,OAAO,CAAC;EAC5B;EAEA,OAAOZ,OAAO;AAClB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"utils/batch/batchRead.js","sources":["../../../src/utils/batch/batchRead.ts"],"sourcesContent":["import lodashChunk from \"lodash/chunk.js\";\nimport WebinyError from \"@webiny/error\";\nimport type { TableDef } from \"~/toolbox.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface BatchReadItem {\n Table?: TableDef;\n Key: any;\n}\nexport interface BatchReadParams {\n table?: TableDef;\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?: TableDef;\n items: BatchReadItem[];\n}\nconst batchReadAllChunk = async <T = any>(params: BatchReadAllChunkParams): Promise<T[]> => {\n const { table, items } = params;\n const records: T[] = [];\n\n if (!table) {\n return records;\n }\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 = GenericRecord>(\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 = 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"],"names":["MAX_BATCH_ITEMS","flatten","responses","entries","values","Object","items","batchReadAllChunk","params","table","records","result","previous","nextResult","batchReadAll","maxChunk","WebinyError","chunkItemsList","lodashChunk","chunkItems","results"],"mappings":";;AAcA,MAAMA,kBAAkB;AAExB,MAAMC,UAAU,CAACC;IACb,MAAMC,UAAU,EAAE;IAClB,MAAMC,SAASC,OAAO,MAAM,CAACH;IAC7B,KAAK,MAAMI,SAASF,OAChBD,QAAQ,IAAI,IAAIG;IAEpB,OAAOH;AACX;AAMA,MAAMI,oBAAoB,OAAgBC;IACtC,MAAM,EAAEC,KAAK,EAAEH,KAAK,EAAE,GAAGE;IACzB,MAAME,UAAe,EAAE;IAEvB,IAAI,CAACD,OACD,OAAOC;IAGX,MAAMC,SAAS,MAAMF,MAAM,QAAQ,CAACH;IACpC,IAAI,CAACK,UAAU,CAACA,OAAO,SAAS,EAC5B,OAAOD;IAEXA,QAAQ,IAAI,IAAIT,QAAQU,OAAO,SAAS;IACxC,IAAI,CAACA,OAAO,IAAI,IAAI,AAAuB,cAAvB,OAAOA,OAAO,IAAI,EAClC,OAAOD;IAEX,IAAIE,WAAWD;IACf,MAAO,AAAyB,cAAzB,OAAOC,SAAS,IAAI,CAAiB;QACxC,MAAMC,aAAa,MAAMD,SAAS,IAAI;QACtC,IAAI,CAACC,YACD;QAEJH,QAAQ,IAAI,IAAIT,QAAQY,WAAW,SAAS;QAC5CD,WAAWC;IACf;IACA,OAAOH;AACX;AAKO,MAAMI,eAAe,OACxBN,QACAO,WAAWf,eAAe;IAE1B,IAAIQ,AAAwB,MAAxBA,OAAO,KAAK,CAAC,MAAM,EACnB,OAAO,EAAE;IACN,IAAIO,WAAWf,iBAClB,MAAM,IAAIgB,MACN,CAAC,6BAA6B,EAAEhB,gBAAgB,iCAAiC,CAAC,EAClF,sCACA;QACIe;IACJ;IAIR,MAAML,UAAe,EAAE;IAEvB,MAAMO,iBAAiBC,MAAYV,OAAO,KAAK,EAAEO;IAEjD,KAAK,MAAMI,cAAcF,eAAgB;QACrC,MAAMG,UAAU,MAAMb,kBAAqB;YACvC,OAAOC,OAAO,KAAK;YACnB,OAAOW;QACX;QAEAT,QAAQ,IAAI,IAAIU;IACpB;IAEA,OAAOV;AACX"}
@@ -1,57 +1,39 @@
1
- import lodashChunk from "lodash/chunk.js";
2
- const hasUnprocessedItems = result => {
3
- if (typeof result.next !== "function") {
4
- return false;
5
- }
6
- const items = result.UnprocessedItems;
7
- if (!items || typeof items !== "object") {
8
- return false;
9
- }
10
- const keys = Object.keys(items);
11
- return keys.some(key => {
12
- const value = items[key];
13
- if (!Array.isArray(value)) {
14
- return false;
15
- }
16
- return value.some(val => {
17
- return val.PutRequest || val.DeleteRequest;
1
+ import chunk from "lodash/chunk.js";
2
+ const hasUnprocessedItems = (result)=>{
3
+ if ("function" != typeof result.next) return false;
4
+ const items = result.UnprocessedItems;
5
+ if (!items || "object" != typeof items) return false;
6
+ const keys = Object.keys(items);
7
+ return keys.some((key)=>{
8
+ const value = items[key];
9
+ if (!Array.isArray(value)) return false;
10
+ return value.some((val)=>val.PutRequest || val.DeleteRequest);
18
11
  });
19
- });
20
- };
21
- const retry = async (input, results) => {
22
- if (!hasUnprocessedItems(input)) {
23
- return;
24
- }
25
- const result = await input.next();
26
- await retry(result, results);
27
12
  };
28
- /**
29
- * Method is meant for batch writing to a single table.
30
- * It expects already prepared items for writing.
31
- * It can either delete or put items
32
- * The method does not check items before actually sending them into the underlying library.
33
- */
34
- export const batchWriteAll = async (params, maxChunk = 25) => {
35
- const {
36
- items: collection,
37
- table
38
- } = params;
39
- if (!table) {
40
- console.log("No table provided.");
41
- return [];
42
- } else if (collection.length === 0) {
43
- return [];
44
- }
45
- const chunkedItems = lodashChunk(collection, maxChunk);
46
- const results = [];
47
- for (const items of chunkedItems) {
48
- const result = await table.batchWrite(items, {
49
- execute: true
50
- });
51
- results.push(result);
13
+ const retry = async (input, results)=>{
14
+ if (!hasUnprocessedItems(input)) return;
15
+ const result = await input.next();
52
16
  await retry(result, results);
53
- }
54
- return results;
55
17
  };
18
+ const batchWriteAll = async (params, maxChunk = 25)=>{
19
+ const { items: collection, table } = params;
20
+ if (table) {
21
+ if (0 === collection.length) return [];
22
+ } else {
23
+ console.log("No table provided.");
24
+ return [];
25
+ }
26
+ const chunkedItems = chunk(collection, maxChunk);
27
+ const results = [];
28
+ for (const items of chunkedItems){
29
+ const result = await table.batchWrite(items, {
30
+ execute: true
31
+ });
32
+ results.push(result);
33
+ await retry(result, results);
34
+ }
35
+ return results;
36
+ };
37
+ export { batchWriteAll };
56
38
 
57
39
  //# sourceMappingURL=batchWrite.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["lodashChunk","hasUnprocessedItems","result","next","items","UnprocessedItems","keys","Object","some","key","value","Array","isArray","val","PutRequest","DeleteRequest","retry","input","results","batchWriteAll","params","maxChunk","collection","table","console","log","length","chunkedItems","batchWrite","execute","push"],"sources":["batchWrite.ts"],"sourcesContent":["import lodashChunk from \"lodash/chunk.js\";\nimport type { TableDef } from \"~/toolbox.js\";\nimport type { BatchWriteItem, BatchWriteResponse, BatchWriteResult } from \"./types.js\";\n\nexport interface BatchWriteParams {\n table: TableDef | undefined;\n items: BatchWriteItem[];\n}\n\nconst hasUnprocessedItems = (result: BatchWriteResponse): boolean => {\n if (typeof result.next !== \"function\") {\n return false;\n }\n const items = result.UnprocessedItems;\n if (!items || typeof items !== \"object\") {\n return false;\n }\n const keys = Object.keys(items);\n return keys.some(key => {\n const value = items[key];\n if (!Array.isArray(value)) {\n return false;\n }\n return value.some(val => {\n return val.PutRequest || val.DeleteRequest;\n });\n });\n};\n\nconst retry = async (input: BatchWriteResponse, results: BatchWriteResult): Promise<void> => {\n if (!hasUnprocessedItems(input)) {\n return;\n }\n const result = await input.next!();\n await retry(result, results);\n};\n/**\n * Method is meant for batch writing to a single table.\n * It expects already prepared items for writing.\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 (\n params: BatchWriteParams,\n maxChunk = 25\n): Promise<BatchWriteResult> => {\n const { items: collection, table } = params;\n if (!table) {\n console.log(\"No table provided.\");\n return [];\n } else if (collection.length === 0) {\n return [];\n }\n\n const chunkedItems: BatchWriteItem[][] = lodashChunk(collection, maxChunk);\n const results: BatchWriteResult = [];\n for (const items of chunkedItems) {\n const result = (await table.batchWrite(items, {\n execute: true\n })) as BatchWriteResponse;\n results.push(result);\n await retry(result, results);\n }\n return results;\n};\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,iBAAiB;AASzC,MAAMC,mBAAmB,GAAIC,MAA0B,IAAc;EACjE,IAAI,OAAOA,MAAM,CAACC,IAAI,KAAK,UAAU,EAAE;IACnC,OAAO,KAAK;EAChB;EACA,MAAMC,KAAK,GAAGF,MAAM,CAACG,gBAAgB;EACrC,IAAI,CAACD,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACrC,OAAO,KAAK;EAChB;EACA,MAAME,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACF,KAAK,CAAC;EAC/B,OAAOE,IAAI,CAACE,IAAI,CAACC,GAAG,IAAI;IACpB,MAAMC,KAAK,GAAGN,KAAK,CAACK,GAAG,CAAC;IACxB,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACvB,OAAO,KAAK;IAChB;IACA,OAAOA,KAAK,CAACF,IAAI,CAACK,GAAG,IAAI;MACrB,OAAOA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACE,aAAa;IAC9C,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC;AAED,MAAMC,KAAK,GAAG,MAAAA,CAAOC,KAAyB,EAAEC,OAAyB,KAAoB;EACzF,IAAI,CAACjB,mBAAmB,CAACgB,KAAK,CAAC,EAAE;IAC7B;EACJ;EACA,MAAMf,MAAM,GAAG,MAAMe,KAAK,CAACd,IAAI,CAAE,CAAC;EAClC,MAAMa,KAAK,CAACd,MAAM,EAAEgB,OAAO,CAAC;AAChC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAG,MAAAA,CACzBC,MAAwB,EACxBC,QAAQ,GAAG,EAAE,KACe;EAC5B,MAAM;IAAEjB,KAAK,EAAEkB,UAAU;IAAEC;EAAM,CAAC,GAAGH,MAAM;EAC3C,IAAI,CAACG,KAAK,EAAE;IACRC,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC;IACjC,OAAO,EAAE;EACb,CAAC,MAAM,IAAIH,UAAU,CAACI,MAAM,KAAK,CAAC,EAAE;IAChC,OAAO,EAAE;EACb;EAEA,MAAMC,YAAgC,GAAG3B,WAAW,CAACsB,UAAU,EAAED,QAAQ,CAAC;EAC1E,MAAMH,OAAyB,GAAG,EAAE;EACpC,KAAK,MAAMd,KAAK,IAAIuB,YAAY,EAAE;IAC9B,MAAMzB,MAAM,GAAI,MAAMqB,KAAK,CAACK,UAAU,CAACxB,KAAK,EAAE;MAC1CyB,OAAO,EAAE;IACb,CAAC,CAAwB;IACzBX,OAAO,CAACY,IAAI,CAAC5B,MAAM,CAAC;IACpB,MAAMc,KAAK,CAACd,MAAM,EAAEgB,OAAO,CAAC;EAChC;EACA,OAAOA,OAAO;AAClB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"utils/batch/batchWrite.js","sources":["../../../src/utils/batch/batchWrite.ts"],"sourcesContent":["import lodashChunk from \"lodash/chunk.js\";\nimport type { TableDef } from \"~/toolbox.js\";\nimport type { BatchWriteItem, BatchWriteResponse, BatchWriteResult } from \"./types.js\";\n\nexport interface BatchWriteParams {\n table: TableDef | undefined;\n items: BatchWriteItem[];\n}\n\nconst hasUnprocessedItems = (result: BatchWriteResponse): boolean => {\n if (typeof result.next !== \"function\") {\n return false;\n }\n const items = result.UnprocessedItems;\n if (!items || typeof items !== \"object\") {\n return false;\n }\n const keys = Object.keys(items);\n return keys.some(key => {\n const value = items[key];\n if (!Array.isArray(value)) {\n return false;\n }\n return value.some(val => {\n return val.PutRequest || val.DeleteRequest;\n });\n });\n};\n\nconst retry = async (input: BatchWriteResponse, results: BatchWriteResult): Promise<void> => {\n if (!hasUnprocessedItems(input)) {\n return;\n }\n const result = await input.next!();\n await retry(result, results);\n};\n/**\n * Method is meant for batch writing to a single table.\n * It expects already prepared items for writing.\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 (\n params: BatchWriteParams,\n maxChunk = 25\n): Promise<BatchWriteResult> => {\n const { items: collection, table } = params;\n if (!table) {\n console.log(\"No table provided.\");\n return [];\n } else if (collection.length === 0) {\n return [];\n }\n\n const chunkedItems: BatchWriteItem[][] = lodashChunk(collection, maxChunk);\n const results: BatchWriteResult = [];\n for (const items of chunkedItems) {\n const result = (await table.batchWrite(items, {\n execute: true\n })) as BatchWriteResponse;\n results.push(result);\n await retry(result, results);\n }\n return results;\n};\n"],"names":["hasUnprocessedItems","result","items","keys","Object","key","value","Array","val","retry","input","results","batchWriteAll","params","maxChunk","collection","table","console","chunkedItems","lodashChunk"],"mappings":";AASA,MAAMA,sBAAsB,CAACC;IACzB,IAAI,AAAuB,cAAvB,OAAOA,OAAO,IAAI,EAClB,OAAO;IAEX,MAAMC,QAAQD,OAAO,gBAAgB;IACrC,IAAI,CAACC,SAAS,AAAiB,YAAjB,OAAOA,OACjB,OAAO;IAEX,MAAMC,OAAOC,OAAO,IAAI,CAACF;IACzB,OAAOC,KAAK,IAAI,CAACE,CAAAA;QACb,MAAMC,QAAQJ,KAAK,CAACG,IAAI;QACxB,IAAI,CAACE,MAAM,OAAO,CAACD,QACf,OAAO;QAEX,OAAOA,MAAM,IAAI,CAACE,CAAAA,MACPA,IAAI,UAAU,IAAIA,IAAI,aAAa;IAElD;AACJ;AAEA,MAAMC,QAAQ,OAAOC,OAA2BC;IAC5C,IAAI,CAACX,oBAAoBU,QACrB;IAEJ,MAAMT,SAAS,MAAMS,MAAM,IAAI;IAC/B,MAAMD,MAAMR,QAAQU;AACxB;AAOO,MAAMC,gBAAgB,OACzBC,QACAC,WAAW,EAAE;IAEb,MAAM,EAAE,OAAOC,UAAU,EAAEC,KAAK,EAAE,GAAGH;IACrC,IAAKG,OAGE;QAAA,IAAID,AAAsB,MAAtBA,WAAW,MAAM,EACxB,OAAO,EAAE;IACb,OALY;QACRE,QAAQ,GAAG,CAAC;QACZ,OAAO,EAAE;IACb;IAIA,MAAMC,eAAmCC,MAAYJ,YAAYD;IACjE,MAAMH,UAA4B,EAAE;IACpC,KAAK,MAAMT,SAASgB,aAAc;QAC9B,MAAMjB,SAAU,MAAMe,MAAM,UAAU,CAACd,OAAO;YAC1C,SAAS;QACb;QACAS,QAAQ,IAAI,CAACV;QACb,MAAMQ,MAAMR,QAAQU;IACxB;IACA,OAAOA;AACX"}
@@ -1,5 +1,3 @@
1
1
  export * from "./batchRead.js";
2
2
  export * from "./batchWrite.js";
3
3
  export * from "./types.js";
4
-
5
- //# sourceMappingURL=index.js.map
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map