@punks/backend-entity-manager 0.0.427 → 0.0.429

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 CHANGED
@@ -278,24 +278,20 @@ class EntitySerializer {
278
278
  const records = backendCore.excelParse(data, {
279
279
  keysTransform: backendCore.ExcelKeyTransform.Lower,
280
280
  dateColumns: dateColumns.map((x) => x.name),
281
+ ...(definition?.options ? definition.options : {}),
281
282
  });
282
- return Array.isArray(records)
283
- ? records.map((x, i) => this.convertSheetRecord(x, definition, i))
284
- : Object.values(records)
285
- .flat()
286
- .map((x, i) => this.convertSheetRecord(x, definition, i));
283
+ return records.map((x, i) => this.convertSheetRecord(x, definition, i));
287
284
  }
288
285
  convertSheetRecord(record, definition, rowIndex) {
289
- console.log("record", record);
290
- console.log("definition", definition);
291
- console.log("rowIndex", rowIndex);
292
286
  if (definition.sheet?.useTypeColumn &&
293
287
  (!record._type || record._type !== this.entityName)) {
294
288
  throw new Error(`Invalid record type ${record._type} -> record: \n${JSON.stringify(record)}`);
295
289
  }
296
- const entity = {};
290
+ const entity = (definition.autoColumns ? { ...record } : {});
297
291
  for (const column of definition.columns) {
298
292
  const columnName = normalizeSheetColumn(column.name);
293
+ if (!(columnName in record))
294
+ continue;
299
295
  if (column.parseAction) {
300
296
  column.parseAction(record[columnName], entity);
301
297
  continue;
@@ -312,6 +308,8 @@ class EntitySerializer {
312
308
  }
313
309
  const validationErrors = [];
314
310
  for (const column of definition.columns) {
311
+ if (!(normalizeSheetColumn(column.name) in record))
312
+ continue;
315
313
  for (const validator of column.validators ?? []) {
316
314
  const result = validator.fn(entity);
317
315
  if (!result.isValid) {