@punks/backend-entity-manager 0.0.387 → 0.0.389

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.
@@ -42,8 +42,13 @@ export type EntitySerializerColumnDefinition<TSheetItem> = {
42
42
  array?: boolean;
43
43
  arraySeparator?: string;
44
44
  };
45
+ export type EntitySerializerSheetOptions = {
46
+ name?: string;
47
+ useTypeColumn?: boolean;
48
+ };
45
49
  export type EntitySerializerSheetDefinition<TSheetItem> = {
46
50
  columns: EntitySerializerColumnDefinition<TSheetItem>[];
51
+ sheet?: EntitySerializerSheetOptions;
47
52
  };
48
53
  export type EntityExportFile = {
49
54
  content: Buffer;
@@ -5,7 +5,6 @@ import { EntityServiceLocator } from "../providers/services";
5
5
  import { EntityReference } from "../models";
6
6
  export type EntitySerializerOptions = {
7
7
  delimiter?: string;
8
- useTypeColumn?: boolean;
9
8
  };
10
9
  export declare abstract class EntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem, TContext, TPayload = unknown> implements IEntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem> {
11
10
  protected readonly services: EntityServiceLocator<TEntity, TEntityId>;
package/dist/esm/index.js CHANGED
@@ -239,7 +239,7 @@ class EntitySerializer {
239
239
  return records.map((x, i) => this.convertSheetRecord(x, definition, i));
240
240
  }
241
241
  convertSheetRecord(record, definition, rowIndex) {
242
- if (this.options?.useTypeColumn &&
242
+ if (definition.sheet?.useTypeColumn &&
243
243
  (!record._type || record._type !== this.entityName)) {
244
244
  throw new Error(`Invalid record type ${record._type} -> record: \n${JSON.stringify(record)}`);
245
245
  }
@@ -310,7 +310,7 @@ class EntitySerializer {
310
310
  fileName,
311
311
  contentType: "text/csv",
312
312
  content: Buffer.from(csvBuild([{}], [
313
- ...(this.options?.useTypeColumn
313
+ ...(definition.sheet?.useTypeColumn
314
314
  ? [
315
315
  {
316
316
  name: "_type",
@@ -332,9 +332,9 @@ class EntitySerializer {
332
332
  contentType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
333
333
  content: Buffer.from(excelBuild({
334
334
  data: [{}],
335
- sheetName: this.entityName,
335
+ sheetName: definition?.sheet?.name ?? this.entityName,
336
336
  columns: [
337
- ...(this.options?.useTypeColumn
337
+ ...(definition.sheet?.useTypeColumn
338
338
  ? [
339
339
  {
340
340
  header: "_type",
@@ -376,7 +376,7 @@ class EntitySerializer {
376
376
  fileName,
377
377
  contentType: "text/csv",
378
378
  content: Buffer.from(csvBuild(data, [
379
- ...(this.options?.useTypeColumn
379
+ ...(definition.sheet?.useTypeColumn
380
380
  ? [
381
381
  {
382
382
  name: "_type",