@punks/backend-entity-manager 0.0.415 → 0.0.417
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +23 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/serializer.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/decorators/tasks.d.ts +1 -0
- package/dist/esm/index.js +23 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/serializer.d.ts +2 -0
- package/dist/esm/types/platforms/nest/decorators/tasks.d.ts +1 -0
- package/dist/index.d.ts +3 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -200,10 +200,27 @@ class EntitySeeder {
|
|
|
200
200
|
|
|
201
201
|
const DEFAULT_DELIMITER$1 = ";";
|
|
202
202
|
const DEFAULT_ARRAY_SEPARATOR$1 = "|";
|
|
203
|
+
const MODIFIER_FNS = {
|
|
204
|
+
lowercase: (value) => value?.toString()?.toLowerCase(),
|
|
205
|
+
uppercase: (value) => value?.toString()?.toUpperCase(),
|
|
206
|
+
trim: (value) => value?.toString()?.trim(),
|
|
207
|
+
};
|
|
208
|
+
const applyModifiers = (value, modifiers) => {
|
|
209
|
+
return modifiers
|
|
210
|
+
? modifiers.reduce((acc, x) => MODIFIER_FNS[x](acc), value)
|
|
211
|
+
: value;
|
|
212
|
+
};
|
|
213
|
+
const isValidValue = (value) => {
|
|
214
|
+
if (typeof value === "string")
|
|
215
|
+
return value.trim().length > 0;
|
|
216
|
+
return true;
|
|
217
|
+
};
|
|
203
218
|
const normalizeSheetColumn = (column) => column.replace(/ /g, "").toLowerCase();
|
|
204
219
|
const getRealSeparator = (separator) => {
|
|
205
220
|
if (!separator)
|
|
206
221
|
return DEFAULT_ARRAY_SEPARATOR$1;
|
|
222
|
+
if (Array.isArray(separator))
|
|
223
|
+
return separator[0];
|
|
207
224
|
if (typeof separator === "string")
|
|
208
225
|
return separator;
|
|
209
226
|
if (separator instanceof RegExp) {
|
|
@@ -213,10 +230,9 @@ const getRealSeparator = (separator) => {
|
|
|
213
230
|
}
|
|
214
231
|
return DEFAULT_ARRAY_SEPARATOR$1;
|
|
215
232
|
};
|
|
216
|
-
const splitArrayColumn = (value, separator) =>
|
|
217
|
-
?.toString()
|
|
218
|
-
|
|
219
|
-
.filter((x) => x.trim()) ?? [];
|
|
233
|
+
const splitArrayColumn = (value, separator) => {
|
|
234
|
+
return value?.toString().split(separator ?? DEFAULT_ARRAY_SEPARATOR$1) ?? [];
|
|
235
|
+
};
|
|
220
236
|
const joinArrayColumn$1 = (value, separator) => value
|
|
221
237
|
?.map((x) => x.toString().trim())
|
|
222
238
|
.filter((x) => x)
|
|
@@ -283,7 +299,9 @@ class EntitySerializer {
|
|
|
283
299
|
const parsedColumn = this.parseColumnValue(record, column);
|
|
284
300
|
entity[column.selector] = column.array
|
|
285
301
|
? splitArrayColumn(parsedColumn, column.arraySeparator)
|
|
286
|
-
|
|
302
|
+
.map((x) => applyModifiers(x, column.modifiers))
|
|
303
|
+
.filter((x) => isValidValue(x))
|
|
304
|
+
: applyModifiers(parsedColumn, column.modifiers);
|
|
287
305
|
}
|
|
288
306
|
const validationErrors = [];
|
|
289
307
|
for (const column of definition.columns) {
|