@gennext/lb-infra 0.0.2 → 0.0.3

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 (185) hide show
  1. package/dist/base/base.helper.d.ts +10 -0
  2. package/dist/base/base.helper.d.ts.map +1 -0
  3. package/dist/base/base.helper.js +12 -0
  4. package/dist/base/base.helper.js.map +1 -0
  5. package/dist/base/datasources/base.datasource.d.ts +14 -0
  6. package/dist/base/datasources/base.datasource.d.ts.map +1 -0
  7. package/dist/base/datasources/base.datasource.js +24 -0
  8. package/dist/base/datasources/base.datasource.js.map +1 -0
  9. package/dist/base/datasources/index.d.ts +3 -0
  10. package/dist/base/datasources/index.d.ts.map +1 -0
  11. package/dist/base/datasources/index.js +19 -0
  12. package/dist/base/datasources/index.js.map +1 -0
  13. package/dist/base/datasources/types.d.ts +5 -0
  14. package/dist/base/datasources/types.d.ts.map +1 -0
  15. package/dist/base/datasources/types.js +3 -0
  16. package/dist/base/datasources/types.js.map +1 -0
  17. package/dist/base/index.d.ts +4 -0
  18. package/dist/base/index.d.ts.map +1 -0
  19. package/dist/base/index.js +20 -0
  20. package/dist/base/index.js.map +1 -0
  21. package/dist/base/models/base.model.d.ts +16 -0
  22. package/dist/base/models/base.model.d.ts.map +1 -0
  23. package/dist/base/models/base.model.js +44 -0
  24. package/dist/base/models/base.model.js.map +1 -0
  25. package/dist/base/models/index.d.ts +2 -0
  26. package/dist/base/models/index.d.ts.map +1 -0
  27. package/dist/base/models/index.js +18 -0
  28. package/dist/base/models/index.js.map +1 -0
  29. package/dist/common/constants.d.ts +35 -0
  30. package/dist/common/constants.d.ts.map +1 -0
  31. package/dist/common/constants.js +52 -0
  32. package/dist/common/constants.js.map +1 -0
  33. package/dist/common/index.d.ts +4 -0
  34. package/dist/common/index.d.ts.map +1 -0
  35. package/dist/common/index.js +20 -0
  36. package/dist/common/index.js.map +1 -0
  37. package/dist/common/result-codes.d.ts +30 -0
  38. package/dist/common/result-codes.d.ts.map +1 -0
  39. package/dist/common/result-codes.js +37 -0
  40. package/dist/common/result-codes.js.map +1 -0
  41. package/dist/common/types.d.ts +189 -0
  42. package/dist/common/types.d.ts.map +1 -0
  43. package/dist/common/types.js +3 -0
  44. package/dist/common/types.js.map +1 -0
  45. package/dist/datasources/index.d.ts +3 -0
  46. package/dist/datasources/index.d.ts.map +1 -0
  47. package/dist/datasources/index.js +19 -0
  48. package/dist/datasources/index.js.map +1 -0
  49. package/dist/datasources/postgres/datasource.d.ts +8 -0
  50. package/dist/datasources/postgres/datasource.d.ts.map +1 -0
  51. package/dist/datasources/postgres/datasource.js +72 -0
  52. package/dist/datasources/postgres/datasource.js.map +1 -0
  53. package/dist/datasources/postgres/index.d.ts +3 -0
  54. package/dist/datasources/postgres/index.d.ts.map +1 -0
  55. package/dist/datasources/postgres/index.js +19 -0
  56. package/dist/datasources/postgres/index.js.map +1 -0
  57. package/dist/datasources/postgres/types.d.ts +10 -0
  58. package/dist/datasources/postgres/types.d.ts.map +1 -0
  59. package/dist/datasources/postgres/types.js +3 -0
  60. package/dist/datasources/postgres/types.js.map +1 -0
  61. package/dist/datasources/redis/connector.d.ts +37 -0
  62. package/dist/datasources/redis/connector.d.ts.map +1 -0
  63. package/dist/datasources/redis/connector.js +134 -0
  64. package/dist/datasources/redis/connector.js.map +1 -0
  65. package/dist/datasources/redis/datasource.d.ts +10 -0
  66. package/dist/datasources/redis/datasource.d.ts.map +1 -0
  67. package/dist/datasources/redis/datasource.js +48 -0
  68. package/dist/datasources/redis/datasource.js.map +1 -0
  69. package/dist/datasources/redis/index.d.ts +4 -0
  70. package/dist/datasources/redis/index.d.ts.map +1 -0
  71. package/dist/datasources/redis/index.js +20 -0
  72. package/dist/datasources/redis/index.js.map +1 -0
  73. package/dist/datasources/redis/types.d.ts +11 -0
  74. package/dist/datasources/redis/types.d.ts.map +1 -0
  75. package/dist/datasources/redis/types.js +3 -0
  76. package/dist/datasources/redis/types.js.map +1 -0
  77. package/dist/helpers/index.d.ts +3 -0
  78. package/dist/helpers/index.d.ts.map +1 -0
  79. package/dist/helpers/index.js +19 -0
  80. package/dist/helpers/index.js.map +1 -0
  81. package/dist/helpers/logger/application-logger.d.ts +22 -0
  82. package/dist/helpers/logger/application-logger.d.ts.map +1 -0
  83. package/dist/helpers/logger/application-logger.js +95 -0
  84. package/dist/helpers/logger/application-logger.js.map +1 -0
  85. package/dist/helpers/logger/common/index.d.ts +2 -0
  86. package/dist/helpers/logger/common/index.d.ts.map +1 -0
  87. package/dist/helpers/logger/common/index.js +18 -0
  88. package/dist/helpers/logger/common/index.js.map +1 -0
  89. package/dist/helpers/logger/common/types.d.ts +16 -0
  90. package/dist/helpers/logger/common/types.d.ts.map +1 -0
  91. package/dist/helpers/logger/common/types.js +30 -0
  92. package/dist/helpers/logger/common/types.js.map +1 -0
  93. package/dist/helpers/logger/default-logger.d.ts +34 -0
  94. package/dist/helpers/logger/default-logger.d.ts.map +1 -0
  95. package/dist/helpers/logger/default-logger.js +122 -0
  96. package/dist/helpers/logger/default-logger.js.map +1 -0
  97. package/dist/helpers/logger/factory.d.ts +5 -0
  98. package/dist/helpers/logger/factory.d.ts.map +1 -0
  99. package/dist/helpers/logger/factory.js +13 -0
  100. package/dist/helpers/logger/factory.js.map +1 -0
  101. package/dist/helpers/logger/index.d.ts +5 -0
  102. package/dist/helpers/logger/index.d.ts.map +1 -0
  103. package/dist/helpers/logger/index.js +21 -0
  104. package/dist/helpers/logger/index.js.map +1 -0
  105. package/dist/helpers/logger/transports/dgram.transport.d.ts +29 -0
  106. package/dist/helpers/logger/transports/dgram.transport.d.ts.map +1 -0
  107. package/dist/helpers/logger/transports/dgram.transport.js +74 -0
  108. package/dist/helpers/logger/transports/dgram.transport.js.map +1 -0
  109. package/dist/helpers/logger/transports/index.d.ts +2 -0
  110. package/dist/helpers/logger/transports/index.d.ts.map +1 -0
  111. package/dist/helpers/logger/transports/index.js +18 -0
  112. package/dist/helpers/logger/transports/index.js.map +1 -0
  113. package/dist/helpers/redis/default.helper.d.ts +135 -0
  114. package/dist/helpers/redis/default.helper.d.ts.map +1 -0
  115. package/dist/helpers/redis/default.helper.js +307 -0
  116. package/dist/helpers/redis/default.helper.js.map +1 -0
  117. package/dist/helpers/redis/index.d.ts +5 -0
  118. package/dist/helpers/redis/index.d.ts.map +1 -0
  119. package/dist/helpers/redis/index.js +21 -0
  120. package/dist/helpers/redis/index.js.map +1 -0
  121. package/dist/helpers/redis/redis-cluster.helper.d.ts +8 -0
  122. package/dist/helpers/redis/redis-cluster.helper.d.ts.map +1 -0
  123. package/dist/helpers/redis/redis-cluster.helper.js +27 -0
  124. package/dist/helpers/redis/redis-cluster.helper.js.map +1 -0
  125. package/dist/helpers/redis/redis.helper.d.ts +8 -0
  126. package/dist/helpers/redis/redis.helper.d.ts.map +1 -0
  127. package/dist/helpers/redis/redis.helper.js +43 -0
  128. package/dist/helpers/redis/redis.helper.js.map +1 -0
  129. package/dist/helpers/redis/types.d.ts +43 -0
  130. package/dist/helpers/redis/types.d.ts.map +1 -0
  131. package/dist/helpers/redis/types.js +3 -0
  132. package/dist/helpers/redis/types.js.map +1 -0
  133. package/dist/index.d.ts +6 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/dist/index.js +22 -0
  136. package/dist/index.js.map +1 -0
  137. package/dist/utilities/crypto.utility.d.ts +7 -0
  138. package/dist/utilities/crypto.utility.d.ts.map +1 -0
  139. package/dist/utilities/crypto.utility.js +26 -0
  140. package/dist/utilities/crypto.utility.js.map +1 -0
  141. package/dist/utilities/date.utility.d.ts +18 -0
  142. package/dist/utilities/date.utility.d.ts.map +1 -0
  143. package/dist/utilities/date.utility.js +75 -0
  144. package/dist/utilities/date.utility.js.map +1 -0
  145. package/dist/utilities/error.utility.d.ts +15 -0
  146. package/dist/utilities/error.utility.d.ts.map +1 -0
  147. package/dist/utilities/error.utility.js +18 -0
  148. package/dist/utilities/error.utility.js.map +1 -0
  149. package/dist/utilities/index.d.ts +12 -0
  150. package/dist/utilities/index.d.ts.map +1 -0
  151. package/dist/utilities/index.js +28 -0
  152. package/dist/utilities/index.js.map +1 -0
  153. package/dist/utilities/model.utility.d.ts +9 -0
  154. package/dist/utilities/model.utility.d.ts.map +1 -0
  155. package/dist/utilities/model.utility.js +28 -0
  156. package/dist/utilities/model.utility.js.map +1 -0
  157. package/dist/utilities/module.utility.d.ts +5 -0
  158. package/dist/utilities/module.utility.d.ts.map +1 -0
  159. package/dist/utilities/module.utility.js +21 -0
  160. package/dist/utilities/module.utility.js.map +1 -0
  161. package/dist/utilities/parse.utility.d.ts +34 -0
  162. package/dist/utilities/parse.utility.d.ts.map +1 -0
  163. package/dist/utilities/parse.utility.js +215 -0
  164. package/dist/utilities/parse.utility.js.map +1 -0
  165. package/dist/utilities/performance.utility.d.ts +6 -0
  166. package/dist/utilities/performance.utility.d.ts.map +1 -0
  167. package/dist/utilities/performance.utility.js +14 -0
  168. package/dist/utilities/performance.utility.js.map +1 -0
  169. package/dist/utilities/promise.utility.d.ts +28 -0
  170. package/dist/utilities/promise.utility.d.ts.map +1 -0
  171. package/dist/utilities/promise.utility.js +41 -0
  172. package/dist/utilities/promise.utility.js.map +1 -0
  173. package/dist/utilities/query.utility.d.ts +31 -0
  174. package/dist/utilities/query.utility.d.ts.map +1 -0
  175. package/dist/utilities/query.utility.js +145 -0
  176. package/dist/utilities/query.utility.js.map +1 -0
  177. package/dist/utilities/request.utility.d.ts +21 -0
  178. package/dist/utilities/request.utility.d.ts.map +1 -0
  179. package/dist/utilities/request.utility.js +46 -0
  180. package/dist/utilities/request.utility.js.map +1 -0
  181. package/dist/utilities/url.utility.d.ts +3 -0
  182. package/dist/utilities/url.utility.d.ts.map +1 -0
  183. package/dist/utilities/url.utility.js +32 -0
  184. package/dist/utilities/url.utility.js.map +1 -0
  185. package/package.json +1 -1
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseArrayToMapWithKey = exports.parseArrayToRecordWithKey = exports.getNumberValue = exports.toStringDecimal = exports.toBoolean = exports.float = exports.int = exports.isFloat = exports.isInt = exports.keysToCamel = exports.toCamel = exports.getUID = void 0;
7
+ const get_1 = __importDefault(require("lodash/get"));
8
+ const round_1 = __importDefault(require("lodash/round"));
9
+ const error_utility_1 = require("./error.utility");
10
+ // -------------------------------------------------------------------------
11
+ const INTL_0_DIGITS_FORMATER = new Intl.NumberFormat("en-US", {
12
+ maximumFractionDigits: 0,
13
+ minimumFractionDigits: 0,
14
+ });
15
+ const INTL_2_DIGITS_FORMATER = new Intl.NumberFormat("en-US", {
16
+ maximumFractionDigits: 2,
17
+ minimumFractionDigits: 2,
18
+ });
19
+ // -------------------------------------------------------------------------
20
+ const getUID = () => Math.random().toString(36).slice(2).toUpperCase();
21
+ exports.getUID = getUID;
22
+ // -------------------------------------------------------------------------
23
+ const toCamel = (s) => {
24
+ return s.replace(/([-_][a-z])/gi, (sub) => {
25
+ return sub.toUpperCase().replace("-", "").replace("_", "");
26
+ });
27
+ };
28
+ exports.toCamel = toCamel;
29
+ // -------------------------------------------------------------------------
30
+ const keysToCamel = (object) => {
31
+ const n = {};
32
+ const keys = Object.keys(object);
33
+ for (const key of keys) {
34
+ const value = (0, get_1.default)(object, key);
35
+ let valueType = typeof value;
36
+ if (Array.isArray(value)) {
37
+ valueType = "array";
38
+ }
39
+ else if (value instanceof Date) {
40
+ valueType = "date";
41
+ }
42
+ switch (valueType) {
43
+ case "object": {
44
+ if (!value) {
45
+ n[(0, exports.toCamel)(key)] = value;
46
+ break;
47
+ }
48
+ n[(0, exports.toCamel)(key)] = (0, exports.keysToCamel)(value);
49
+ break;
50
+ }
51
+ /* case 'array': {
52
+ n[toCamel(key)] = value;
53
+ break;
54
+ } */
55
+ default: {
56
+ n[(0, exports.toCamel)(key)] = value;
57
+ break;
58
+ }
59
+ }
60
+ }
61
+ return n;
62
+ };
63
+ exports.keysToCamel = keysToCamel;
64
+ // -------------------------------------------------------------------------
65
+ const isInt = (n) => {
66
+ if (isNaN(n)) {
67
+ return false;
68
+ }
69
+ return (Number.isInteger(n) || Math.floor(Number(n)) === n || Number(n) % 1 === 0);
70
+ };
71
+ exports.isInt = isInt;
72
+ // -------------------------------------------------------------------------
73
+ const isFloat = (input) => {
74
+ if (isNaN(input)) {
75
+ return false;
76
+ }
77
+ return Number(input) === input || Number(input) % 1 !== 0;
78
+ };
79
+ exports.isFloat = isFloat;
80
+ // -------------------------------------------------------------------------
81
+ const int = (input) => {
82
+ if (!input || isNaN(input)) {
83
+ return 0;
84
+ }
85
+ const normalized = input?.toString()?.replace(/,/g, "");
86
+ return Number.parseInt(normalized, 10) ?? 0;
87
+ };
88
+ exports.int = int;
89
+ // -------------------------------------------------------------------------
90
+ const float = (input, digit = 2) => {
91
+ if (!input || isNaN(input)) {
92
+ return 0;
93
+ }
94
+ const normalized = input?.toString()?.replace(/,/g, "");
95
+ return (0, round_1.default)(Number.parseFloat(normalized), digit);
96
+ };
97
+ exports.float = float;
98
+ // -------------------------------------------------------------------------
99
+ const toBoolean = (input) => {
100
+ return ((input !== "false" &&
101
+ input !== "0" &&
102
+ input !== false &&
103
+ input !== 0 &&
104
+ input !== null &&
105
+ input !== undefined) ??
106
+ Boolean(input));
107
+ };
108
+ exports.toBoolean = toBoolean;
109
+ // -------------------------------------------------------------------------
110
+ const toStringDecimal = (input, digit = 2, options = { useLocaleFormat: true }) => {
111
+ const { useLocaleFormat } = options;
112
+ if (isNaN(input)) {
113
+ return 0;
114
+ }
115
+ let number = 0;
116
+ if ((0, exports.isInt)(input)) {
117
+ number = (0, exports.int)(input);
118
+ }
119
+ else {
120
+ number = (0, exports.float)(input, digit);
121
+ }
122
+ if (!useLocaleFormat) {
123
+ return number.toFixed(digit);
124
+ }
125
+ if (Number.isInteger(number)) {
126
+ return INTL_0_DIGITS_FORMATER.format(number);
127
+ }
128
+ if (digit === 2) {
129
+ return INTL_2_DIGITS_FORMATER.format(number);
130
+ }
131
+ const formater = new Intl.NumberFormat("en-US", {
132
+ maximumFractionDigits: digit,
133
+ minimumFractionDigits: digit,
134
+ });
135
+ return formater.format(number);
136
+ };
137
+ exports.toStringDecimal = toStringDecimal;
138
+ // -------------------------------------------------------------------------
139
+ const getNumberValue = (input, method = "int") => {
140
+ if (!input) {
141
+ return 0;
142
+ }
143
+ let raw;
144
+ switch (typeof input) {
145
+ case "string": {
146
+ raw = input.replace(/,|\./gi, "");
147
+ break;
148
+ }
149
+ default: {
150
+ raw = input;
151
+ break;
152
+ }
153
+ }
154
+ switch (method) {
155
+ case "int": {
156
+ return (0, exports.int)(raw);
157
+ }
158
+ default: {
159
+ return (0, exports.float)(raw);
160
+ }
161
+ }
162
+ };
163
+ exports.getNumberValue = getNumberValue;
164
+ // ---------------------------------------------------------
165
+ /**
166
+ * Returns an object with the key as the value of the `keyMap` and the value as the object itself.
167
+ *
168
+ * @param arr - The input array
169
+ * @param keyMap - The property key to use as the key in the resulting object
170
+ *
171
+ * Note: In case of duplicate keys, the last element will be used.
172
+ */
173
+ const parseArrayToRecordWithKey = (opts) => {
174
+ const { arr, keyMap } = opts;
175
+ const resultRecord = {};
176
+ if (!arr.length) {
177
+ return resultRecord;
178
+ }
179
+ arr.forEach((element) => {
180
+ if (!(keyMap in element)) {
181
+ throw (0, error_utility_1.getError)({
182
+ message: "Invalid keyMap",
183
+ });
184
+ }
185
+ resultRecord[element[keyMap]] = element;
186
+ });
187
+ return resultRecord;
188
+ };
189
+ exports.parseArrayToRecordWithKey = parseArrayToRecordWithKey;
190
+ // ---------------------------------------------------------
191
+ /**
192
+ * Return a map with the key as the value of the `keyMap` and the value as the object itself.
193
+ *
194
+ * @param arr - The input array
195
+ * @param keyMap - The property key to use as the key in the resulting object
196
+ *
197
+ * Note: In case of duplicate keys, the last element will be used.
198
+ */
199
+ const parseArrayToMapWithKey = (arr, keyMap) => {
200
+ const resultMap = new Map();
201
+ if (!arr.length) {
202
+ return resultMap;
203
+ }
204
+ arr.forEach((element) => {
205
+ if (!(keyMap in element)) {
206
+ throw (0, error_utility_1.getError)({
207
+ message: "Invalid keyMap",
208
+ });
209
+ }
210
+ resultMap.set(element[keyMap], element);
211
+ });
212
+ return resultMap;
213
+ };
214
+ exports.parseArrayToMapWithKey = parseArrayToMapWithKey;
215
+ //# sourceMappingURL=parse.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.utility.js","sourceRoot":"","sources":["../../src/utilities/parse.utility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const getPerformanceCheckpoint: () => number;
2
+ export declare const getExecutedPerformance: (opts: {
3
+ from: number;
4
+ digit?: number;
5
+ }) => number;
6
+ //# sourceMappingURL=performance.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.utility.d.ts","sourceRoot":"","sources":["../../src/utilities/performance.utility.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB,cAEpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,WAKA,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExecutedPerformance = exports.getPerformanceCheckpoint = void 0;
4
+ const _1 = require(".");
5
+ const DEFAULT_PERFORMANCE_DECIMAL = 6;
6
+ const getPerformanceCheckpoint = () => {
7
+ return performance.now();
8
+ };
9
+ exports.getPerformanceCheckpoint = getPerformanceCheckpoint;
10
+ const getExecutedPerformance = (opts) => {
11
+ return (0, _1.float)(performance.now() - opts.from, opts.digit ?? DEFAULT_PERFORMANCE_DECIMAL);
12
+ };
13
+ exports.getExecutedPerformance = getExecutedPerformance;
14
+ //# sourceMappingURL=performance.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.utility.js","sourceRoot":"","sources":["../../src/utilities/performance.utility.ts"],"names":[],"mappings":";;;AAAA,wBAA0B;AAE1B,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE/B,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC;AAC3B,CAAC,CAAC;AAFW,QAAA,wBAAwB,4BAEnC;AAEK,MAAM,sBAAsB,GAAG,CAAC,IAGtC,EAAE,EAAE;IACH,OAAO,IAAA,QAAK,EACV,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAC7B,IAAI,CAAC,KAAK,IAAI,2BAA2B,CAC1C,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC"}
@@ -0,0 +1,28 @@
1
+ import { ValueOrPromise } from "../common";
2
+ type TTask<T> = () => Promise<T>;
3
+ /**
4
+ * Execute all tasks with limit number of asyncronous tasks.
5
+ * Whenever 1 task's resolved next task will be executed.
6
+ *
7
+ * @example
8
+ * With 20 tasks need to execute with limit is 5 tasks asyncronous
9
+ * ```
10
+ * const tasks = <Array of 20 functions which return promises>
11
+ * await executePromiseWithLimit({
12
+ * tasks,
13
+ * limit: 5,
14
+ onTaskDone: (opts: { result: any }) => {
15
+ // Do something on task done
16
+ },
17
+ * })
18
+ * ```
19
+ */
20
+ export declare const executePromiseWithLimit: <T>(opts: {
21
+ tasks: Array<TTask<T>>;
22
+ limit: number;
23
+ onTaskDone?: <R>(opts: {
24
+ result: R;
25
+ }) => ValueOrPromise<void>;
26
+ }) => Promise<Awaited<T>[]>;
27
+ export {};
28
+ //# sourceMappingURL=promise.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.utility.d.ts","sourceRoot":"","sources":["../../src/utilities/promise.utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,KAAK,KAAK,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,GAAU,CAAC,EAAE,MAAM;IACrD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;CAC/D,0BAuBA,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executePromiseWithLimit = void 0;
4
+ /**
5
+ * Execute all tasks with limit number of asyncronous tasks.
6
+ * Whenever 1 task's resolved next task will be executed.
7
+ *
8
+ * @example
9
+ * With 20 tasks need to execute with limit is 5 tasks asyncronous
10
+ * ```
11
+ * const tasks = <Array of 20 functions which return promises>
12
+ * await executePromiseWithLimit({
13
+ * tasks,
14
+ * limit: 5,
15
+ onTaskDone: (opts: { result: any }) => {
16
+ // Do something on task done
17
+ },
18
+ * })
19
+ * ```
20
+ */
21
+ const executePromiseWithLimit = async (opts) => {
22
+ const { tasks, limit, onTaskDone } = opts;
23
+ const results = [];
24
+ const executing = new Set();
25
+ for (const task of tasks) {
26
+ const promise = task().then((result) => {
27
+ executing.delete(promise);
28
+ return result;
29
+ });
30
+ executing.add(promise);
31
+ results.push(promise);
32
+ if (executing.size >= limit) {
33
+ const done = await Promise.race(executing);
34
+ onTaskDone?.({ result: done });
35
+ }
36
+ }
37
+ await Promise.all(executing);
38
+ return Promise.all(results);
39
+ };
40
+ exports.executePromiseWithLimit = executePromiseWithLimit;
41
+ //# sourceMappingURL=promise.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.utility.js","sourceRoot":"","sources":["../../src/utilities/promise.utility.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAAK,IAIhD,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE1C,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,SAAS,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC;AA3BW,QAAA,uBAAuB,2BA2BlC"}
@@ -0,0 +1,31 @@
1
+ import { AnyType, EntityClassType } from "../common";
2
+ import { BaseEntity } from "../base/models";
3
+ export declare const getTableDefinition: <T extends BaseEntity>(opts: {
4
+ model: EntityClassType<T>;
5
+ alias?: string;
6
+ }) => {
7
+ table: {
8
+ name: string;
9
+ alias: string;
10
+ nameWithQuotation: string;
11
+ };
12
+ tableWithAlias: string;
13
+ columns: { [key in keyof T]: string; };
14
+ columnsNoAlias: { [key in keyof T]: string; };
15
+ };
16
+ export declare const getValue: (value: AnyType) => any;
17
+ export declare const buildBatchUpdateQuery: <E>(opts: {
18
+ tableName: string;
19
+ keys: (keyof E)[];
20
+ data: AnyType[];
21
+ setKeys: (keyof E | {
22
+ sourceKey: keyof E;
23
+ targetKey: keyof E;
24
+ })[];
25
+ whereKeys: (keyof E | {
26
+ sourceKey: keyof E;
27
+ targetKey: keyof E;
28
+ })[];
29
+ whereRaws?: string[];
30
+ }) => string;
31
+ //# sourceMappingURL=query.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.utility.d.ts","sourceRoot":"","sources":["../../src/utilities/query.utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,UAAU,EAAE,MAAM;IAC7D,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,KAsCM;IACH,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,GAAE,CAAC;IACtC,cAAc,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,GAAE,CAAC;CAEhD,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,QAqBtC,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,MAAM;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAClB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,EAAE,CAAC;IAClE,SAAS,EAAE,CAAC,MAAM,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,EAAE,CAAC;IACpE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,KAAG,MA4FH,CAAC"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildBatchUpdateQuery = exports.getValue = exports.getTableDefinition = void 0;
7
+ const helpers_1 = require("../helpers");
8
+ const get_1 = __importDefault(require("lodash/get"));
9
+ const pick_1 = __importDefault(require("lodash/pick"));
10
+ const snakeCase_1 = __importDefault(require("lodash/snakeCase"));
11
+ const error_utility_1 = require("./error.utility");
12
+ const getTableDefinition = (opts) => {
13
+ const { model, alias } = opts;
14
+ const tableAlias = alias ?? model.name.toLowerCase();
15
+ const tableNameWithAlias = `"${model.name}" ${tableAlias}`;
16
+ const tableColumns = Object.entries(model.definition.properties)
17
+ .map(([key, value]) => {
18
+ const columnName = value?.name ?? value?.postgresql?.columnName ?? key;
19
+ return {
20
+ [`${key}`]: `${tableAlias}.${columnName}`,
21
+ };
22
+ })
23
+ .reduce((acc, cur) => {
24
+ return { ...acc, ...cur };
25
+ }, {});
26
+ const tableColumnsNoAlias = Object.entries(model.definition.properties)
27
+ .map(([key, value]) => {
28
+ const columnName = value?.name ?? value?.postgresql?.columnName ?? key;
29
+ return {
30
+ [`${key}`]: `${columnName}`,
31
+ };
32
+ })
33
+ .reduce((acc, cur) => {
34
+ return { ...acc, ...cur };
35
+ }, {});
36
+ return {
37
+ table: {
38
+ name: model.name,
39
+ alias: tableAlias,
40
+ nameWithQuotation: `"${model.name}"`,
41
+ },
42
+ tableWithAlias: tableNameWithAlias,
43
+ columns: tableColumns,
44
+ columnsNoAlias: tableColumnsNoAlias,
45
+ };
46
+ };
47
+ exports.getTableDefinition = getTableDefinition;
48
+ // --------------------------------------------------------------------------------
49
+ const getValue = (value) => {
50
+ switch (typeof value) {
51
+ case null: {
52
+ return "null";
53
+ }
54
+ case "number": {
55
+ return value?.toString();
56
+ }
57
+ case "boolean": {
58
+ return value;
59
+ }
60
+ case "string": {
61
+ if (value?.toString().trim() === "") {
62
+ return "''";
63
+ }
64
+ return `'${value?.toString().replace(/'/g, "''")}'`;
65
+ }
66
+ default: {
67
+ return `'${value}'`;
68
+ }
69
+ }
70
+ };
71
+ exports.getValue = getValue;
72
+ // --------------------------------------------------------------------------------
73
+ const buildBatchUpdateQuery = (opts) => {
74
+ const { data, tableName, keys, setKeys, whereKeys, whereRaws = [] } = opts;
75
+ const withAlias = "t";
76
+ if (!data.length || !keys.length || !setKeys.length || !whereKeys.length) {
77
+ helpers_1.applicationLogger.error("[batchUpdate] Missing required fields | Data: %d | Keys: %d | Set Keys: %d | Where Keys: %d", data.length, keys.length, setKeys.length, whereKeys.length);
78
+ throw (0, error_utility_1.getError)({
79
+ message: "[batchUpdate] Missing required fields",
80
+ });
81
+ }
82
+ // ----------------------------------------
83
+ const formattedData = data.map((obj) => (0, pick_1.default)(obj, ...keys));
84
+ const withValues = formattedData.map((obj) => {
85
+ const values = [];
86
+ for (const k of Object.keys(obj).sort()) {
87
+ const value = (0, get_1.default)(obj, k, null);
88
+ switch (typeof value) {
89
+ case "object": {
90
+ values.push((0, exports.getValue)(JSON.stringify(value)));
91
+ break;
92
+ }
93
+ default: {
94
+ values.push((0, exports.getValue)(value));
95
+ break;
96
+ }
97
+ }
98
+ }
99
+ return `(${values.toString()})`;
100
+ });
101
+ const withKeys = keys.map((key) => (0, snakeCase_1.default)(String(key))).sort();
102
+ // ----------------------------------------
103
+ const updateSets = [];
104
+ for (const key of setKeys) {
105
+ switch (typeof key) {
106
+ case "string": {
107
+ updateSets.push(`"${(0, snakeCase_1.default)(key)}" = ${withAlias}."${(0, snakeCase_1.default)(key)}"`);
108
+ break;
109
+ }
110
+ case "object": {
111
+ updateSets.push(`"${(0, snakeCase_1.default)(String(key.targetKey))}" = ${withAlias}."${(0, snakeCase_1.default)(String(key.sourceKey))}"::JSONB`);
112
+ break;
113
+ }
114
+ default: {
115
+ break;
116
+ }
117
+ }
118
+ }
119
+ // ----------------------------------------
120
+ const updateWheres = [];
121
+ for (const key of whereKeys) {
122
+ switch (typeof key) {
123
+ case "string": {
124
+ updateWheres.push(`"${tableName}"."${(0, snakeCase_1.default)(key)}" = ${withAlias}."${(0, snakeCase_1.default)(key)}"`);
125
+ break;
126
+ }
127
+ case "object": {
128
+ updateWheres.push(`${(0, snakeCase_1.default)(String(key.targetKey))} = ${withAlias}."${(0, snakeCase_1.default)(String(key.sourceKey))}"`);
129
+ break;
130
+ }
131
+ default: {
132
+ break;
133
+ }
134
+ }
135
+ }
136
+ // ----------------------------------------
137
+ return `WITH ${withAlias} (${withKeys}) AS (VALUES ${withValues})
138
+ UPDATE "${tableName}"
139
+ SET ${updateSets.join(", ")}
140
+ FROM ${withAlias}
141
+ WHERE ${updateWheres.join(" AND ")}
142
+ ${whereRaws.length ? `AND ${whereRaws.join(", AND")}` : ""};`;
143
+ };
144
+ exports.buildBatchUpdateQuery = buildBatchUpdateQuery;
145
+ //# sourceMappingURL=query.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.utility.js","sourceRoot":"","sources":["../../src/utilities/query.utility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { IRequestedRemark } from "../common";
2
+ import { Request, Response } from "@loopback/rest";
3
+ import multer from "multer";
4
+ export declare const parseMultipartBody: (opts: {
5
+ storage?: multer.StorageEngine;
6
+ request: Request;
7
+ response: Response;
8
+ }) => Promise<any>;
9
+ export declare const getSchemaObject: <T extends object>(ctor?: Function & {
10
+ prototype: T;
11
+ }) => import("@loopback/rest").SchemaObject;
12
+ export declare const getRequestId: (opts: {
13
+ request: Request;
14
+ }) => undefined;
15
+ export declare const getRequestIp: (opts: {
16
+ request: Request;
17
+ }) => string;
18
+ export declare const getRequestRemark: (opts: {
19
+ request: Request;
20
+ }) => IRequestedRemark | undefined;
21
+ //# sourceMappingURL=request.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.utility.d.ts","sourceRoot":"","sources":["../../src/utilities/request.utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAqB,MAAM,gBAAgB,CAAC;AAEtE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB,iBAeA,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAC9C,OAAO,QAAQ,GAAG;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,0CAGnC,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,MAAM;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,cAEtD,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,MAAM;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,WAEtD,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,MAAM;IACrC,OAAO,EAAE,OAAO,CAAC;CAClB,KAAG,gBAAgB,GAAG,SAEtB,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getRequestRemark = exports.getRequestIp = exports.getRequestId = exports.getSchemaObject = exports.parseMultipartBody = void 0;
7
+ const rest_1 = require("@loopback/rest");
8
+ const get_1 = __importDefault(require("lodash/get"));
9
+ const multer_1 = __importDefault(require("multer"));
10
+ // -------------------------------------------------------------------------
11
+ const parseMultipartBody = (opts) => {
12
+ const { storage: cStorage, request, response } = opts;
13
+ const storage = cStorage ?? multer_1.default.memoryStorage();
14
+ const upload = (0, multer_1.default)({ storage });
15
+ return new Promise((resolve, reject) => {
16
+ upload.any()(request, response, (err) => {
17
+ if (err) {
18
+ reject(err);
19
+ return;
20
+ }
21
+ resolve(request.files);
22
+ });
23
+ });
24
+ };
25
+ exports.parseMultipartBody = parseMultipartBody;
26
+ // -------------------------------------------------------------------------
27
+ const getSchemaObject = (ctor) => {
28
+ return ctor ? (0, rest_1.getModelSchemaRef)(ctor).definitions[ctor.name] : {};
29
+ };
30
+ exports.getSchemaObject = getSchemaObject;
31
+ // -------------------------------------------------------------------------
32
+ const getRequestId = (opts) => {
33
+ return (0, get_1.default)(opts.request, "requestId");
34
+ };
35
+ exports.getRequestId = getRequestId;
36
+ // -------------------------------------------------------------------------
37
+ const getRequestIp = (opts) => {
38
+ return (0, get_1.default)(opts.request, "requestForwardedIp") ?? "N/A";
39
+ };
40
+ exports.getRequestIp = getRequestIp;
41
+ // -------------------------------------------------------------------------
42
+ const getRequestRemark = (opts) => {
43
+ return (0, get_1.default)(opts.request, "requestedRemark");
44
+ };
45
+ exports.getRequestRemark = getRequestRemark;
46
+ //# sourceMappingURL=request.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.utility.js","sourceRoot":"","sources":["../../src/utilities/request.utility.ts"],"names":[],"mappings":";;;;;;AACA,yCAAsE;AACtE,qDAA6B;AAC7B,oDAA4B;AAE5B,4EAA4E;AACrE,MAAM,kBAAkB,GAAG,CAAC,IAIlC,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,QAAQ,IAAI,gBAAM,CAAC,aAAa,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEnC,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAQ,EAAE,EAAE;YAC3C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B;AAEF,4EAA4E;AACrE,MAAM,eAAe,GAAG,CAC7B,IAAkC,EAClC,EAAE;IACF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEF,4EAA4E;AACrE,MAAM,YAAY,GAAG,CAAC,IAA0B,EAAE,EAAE;IACzD,OAAO,IAAA,aAAG,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEF,4EAA4E;AACrE,MAAM,YAAY,GAAG,CAAC,IAA0B,EAAE,EAAE;IACzD,OAAO,IAAA,aAAG,EAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,IAAI,KAAK,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEF,4EAA4E;AACrE,MAAM,gBAAgB,GAAG,CAAC,IAEhC,EAAgC,EAAE;IACjC,OAAO,IAAA,aAAG,EAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC9C,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
@@ -0,0 +1,3 @@
1
+ export declare const stringify: (params: Record<string | symbol, any>) => string;
2
+ export declare const parse: (searchString: string) => Record<string, any>;
3
+ //# sourceMappingURL=url.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.utility.d.ts","sourceRoot":"","sources":["../../src/utilities/url.utility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,WAiB7D,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,cAAc,MAAM,wBAQzC,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parse = exports.stringify = void 0;
4
+ const stringify = (params) => {
5
+ const normalizedParams = {};
6
+ for (const key in params) {
7
+ switch (typeof params[key]) {
8
+ case "number":
9
+ case "string": {
10
+ normalizedParams[key] = params[key];
11
+ break;
12
+ }
13
+ default: {
14
+ normalizedParams[key] = JSON.stringify(params[key]);
15
+ break;
16
+ }
17
+ }
18
+ }
19
+ const rs = new URLSearchParams(normalizedParams);
20
+ return rs.toString();
21
+ };
22
+ exports.stringify = stringify;
23
+ const parse = (searchString) => {
24
+ const rs = {};
25
+ const searchParams = new URLSearchParams(searchString);
26
+ for (const [key, value] of searchParams) {
27
+ rs[key] = value;
28
+ }
29
+ return rs;
30
+ };
31
+ exports.parse = parse;
32
+ //# sourceMappingURL=url.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.utility.js","sourceRoot":"","sources":["../../src/utilities/url.utility.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,MAAoC,EAAE,EAAE;IAChE,MAAM,gBAAgB,GAAiC,EAAE,CAAC;IAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,gBAAgB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC,CAAC;AAjBW,QAAA,SAAS,aAiBpB;AAEK,MAAM,KAAK,GAAG,CAAC,YAAoB,EAAE,EAAE;IAC5C,MAAM,EAAE,GAAwB,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACxC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AARW,QAAA,KAAK,SAQhB"}