nestjs-export-module 0.0.1 → 1.0.0

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 (51) hide show
  1. package/dist/data-exporter/data-exporter-base.service.d.ts +3 -1
  2. package/dist/data-exporter/data-exporter-base.service.js.map +1 -1
  3. package/dist/data-exporter/data-exporter.module.js +12 -2
  4. package/dist/data-exporter/data-exporter.module.js.map +1 -1
  5. package/dist/data-exporter/data-exporter.service.d.ts +3 -2
  6. package/dist/data-exporter/data-exporter.service.js +3 -3
  7. package/dist/data-exporter/data-exporter.service.js.map +1 -1
  8. package/dist/data-exporter/dto/data-export-args.dto.d.ts +7 -0
  9. package/dist/data-exporter/dto/data-export-args.dto.js +9 -0
  10. package/dist/data-exporter/dto/data-export-args.dto.js.map +1 -0
  11. package/dist/data-exporter/dto/data-export-result.dto.d.ts +5 -0
  12. package/dist/data-exporter/dto/data-export-result.dto.js +10 -0
  13. package/dist/data-exporter/dto/data-export-result.dto.js.map +1 -0
  14. package/dist/data-exporter/dto/index.d.ts +1 -0
  15. package/dist/data-exporter/dto/index.js +18 -0
  16. package/dist/data-exporter/dto/index.js.map +1 -0
  17. package/dist/data-exporter/enum/data-exporter-type.enum.d.ts +2 -1
  18. package/dist/data-exporter/enum/data-exporter-type.enum.js +1 -0
  19. package/dist/data-exporter/enum/data-exporter-type.enum.js.map +1 -1
  20. package/dist/data-exporter/index.d.ts +1 -0
  21. package/dist/data-exporter/index.js +1 -0
  22. package/dist/data-exporter/index.js.map +1 -1
  23. package/dist/data-exporter/providers/csv/csv.service.d.ts +3 -1
  24. package/dist/data-exporter/providers/csv/csv.service.js +14 -3
  25. package/dist/data-exporter/providers/csv/csv.service.js.map +1 -1
  26. package/dist/data-exporter/providers/csv/dto/csv-data-export-args.dto.d.ts +12 -0
  27. package/dist/data-exporter/providers/csv/dto/csv-data-export-args.dto.js +11 -0
  28. package/dist/data-exporter/providers/csv/dto/csv-data-export-args.dto.js.map +1 -0
  29. package/dist/data-exporter/providers/csv/dto/index.d.ts +1 -0
  30. package/dist/data-exporter/providers/csv/dto/index.js +18 -0
  31. package/dist/data-exporter/providers/csv/dto/index.js.map +1 -0
  32. package/dist/data-exporter/providers/csv/index.d.ts +2 -0
  33. package/dist/data-exporter/providers/csv/index.js +19 -0
  34. package/dist/data-exporter/providers/csv/index.js.map +1 -0
  35. package/dist/data-exporter/providers/excel/dto/excel-data-export-args.dto.d.ts +16 -0
  36. package/dist/data-exporter/providers/excel/dto/excel-data-export-args.dto.js +11 -0
  37. package/dist/data-exporter/providers/excel/dto/excel-data-export-args.dto.js.map +1 -0
  38. package/dist/data-exporter/providers/excel/dto/index.d.ts +1 -0
  39. package/dist/data-exporter/providers/excel/dto/index.js +18 -0
  40. package/dist/data-exporter/providers/excel/dto/index.js.map +1 -0
  41. package/dist/data-exporter/providers/excel/excel.service.d.ts +7 -0
  42. package/dist/data-exporter/providers/excel/excel.service.js +90 -0
  43. package/dist/data-exporter/providers/excel/excel.service.js.map +1 -0
  44. package/dist/data-exporter/providers/excel/index.d.ts +2 -0
  45. package/dist/data-exporter/providers/excel/index.js +19 -0
  46. package/dist/data-exporter/providers/excel/index.js.map +1 -0
  47. package/dist/data-exporter/providers/index.d.ts +2 -0
  48. package/dist/data-exporter/providers/index.js +19 -0
  49. package/dist/data-exporter/providers/index.js.map +1 -0
  50. package/dist/tsconfig.build.tsbuildinfo +1 -1
  51. package/package.json +4 -2
@@ -1,3 +1,5 @@
1
+ import { DataExportArgs } from './dto/data-export-args.dto';
2
+ import { DataExportResult } from './dto';
1
3
  export declare abstract class DataExporterBaseService {
2
- abstract exportAsync(data: Array<object>): Promise<Buffer>;
4
+ abstract exportAsync(dataExportArgs: DataExportArgs): Promise<DataExportResult>;
3
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-exporter-base.service.js","sourceRoot":"","sources":["../../src/data-exporter/data-exporter-base.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAe,uBAAuB,GAAtC,MAAe,uBAAuB;CAE5C,CAAA;AAFqB,0DAAuB;kCAAvB,uBAAuB;IAD5C,IAAA,mBAAU,GAAE;GACS,uBAAuB,CAE5C"}
1
+ {"version":3,"file":"data-exporter-base.service.js","sourceRoot":"","sources":["../../src/data-exporter/data-exporter-base.service.ts"],"names":[],"mappings":";;;;;;;;;AAEA,2CAA4C;AAGrC,IAAe,uBAAuB,GAAtC,MAAe,uBAAuB;CAI5C,CAAA;AAJqB,0DAAuB;kCAAvB,uBAAuB;IAD5C,IAAA,mBAAU,GAAE;GACS,uBAAuB,CAI5C"}
@@ -7,14 +7,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.DataExporterModule = void 0;
10
- const csv_service_1 = require("./providers/csv/csv.service");
10
+ const providers_1 = require("./providers");
11
+ const constants_1 = require("./constants");
12
+ const data_exporter_service_1 = require("./data-exporter.service");
13
+ const excel_service_1 = require("./providers/excel/excel.service");
14
+ const nestjs_factory_pattern_module_1 = require("nestjs-factory-pattern-module");
11
15
  const common_1 = require("@nestjs/common");
12
16
  let DataExporterModule = class DataExporterModule {
13
17
  };
14
18
  exports.DataExporterModule = DataExporterModule;
15
19
  exports.DataExporterModule = DataExporterModule = __decorate([
16
20
  (0, common_1.Module)({
17
- providers: [csv_service_1.CsvService],
21
+ imports: [
22
+ nestjs_factory_pattern_module_1.FactoryModule.register({
23
+ factoryName: constants_1.DATA_EXPORTER_FACTORY_TOKEN,
24
+ }),
25
+ ],
26
+ providers: [data_exporter_service_1.DataExporterService, providers_1.CsvService, excel_service_1.ExcelService],
27
+ exports: [data_exporter_service_1.DataExporterService],
18
28
  })
19
29
  ], DataExporterModule);
20
30
  //# sourceMappingURL=data-exporter.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-exporter.module.js","sourceRoot":"","sources":["../../src/data-exporter/data-exporter.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6DAAyD;AACzD,2CAAwC;AAKjC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAH9B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,kBAAkB,CAAG"}
1
+ {"version":3,"file":"data-exporter.module.js","sourceRoot":"","sources":["../../src/data-exporter/data-exporter.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAyC;AACzC,2CAA0D;AAC1D,mEAA8D;AAC9D,mEAA+D;AAC/D,iFAA8D;AAC9D,2CAAwC;AAWjC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAT9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,6CAAa,CAAC,QAAQ,CAAC;gBACrB,WAAW,EAAE,uCAA2B;aACzC,CAAC;SACH;QACD,SAAS,EAAE,CAAC,2CAAmB,EAAE,sBAAU,EAAE,4BAAY,CAAC;QAC1D,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
@@ -1,8 +1,9 @@
1
1
  import { FactoryService } from 'nestjs-factory-pattern-module';
2
2
  import { DataExporterBaseService } from './data-exporter-base.service';
3
- import { DataExporterType } from './enum';
3
+ import { DataExportResult } from './dto';
4
+ import { DataExportArgs } from './dto/data-export-args.dto';
4
5
  export declare class DataExporterService {
5
6
  private readonly dataExporterFactory;
6
7
  constructor(dataExporterFactory: FactoryService<DataExporterBaseService>);
7
- exportAsync(type: DataExporterType, data: Array<object>): Promise<Buffer>;
8
+ exportAsync(dataExportArgs: DataExportArgs): Promise<DataExportResult>;
8
9
  }
@@ -21,9 +21,9 @@ let DataExporterService = class DataExporterService {
21
21
  constructor(dataExporterFactory) {
22
22
  this.dataExporterFactory = dataExporterFactory;
23
23
  }
24
- async exportAsync(type, data) {
25
- const dataExporter = await this.dataExporterFactory.getProviderServiceAsync(type);
26
- return dataExporter.exportAsync(data);
24
+ async exportAsync(dataExportArgs) {
25
+ const dataExporter = await this.dataExporterFactory.getProviderServiceAsync(dataExportArgs.type);
26
+ return dataExporter.exportAsync(dataExportArgs);
27
27
  }
28
28
  };
29
29
  exports.DataExporterService = DataExporterService;
@@ -1 +1 @@
1
- {"version":3,"file":"data-exporter.service.js","sourceRoot":"","sources":["../../src/data-exporter/data-exporter.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,iFAA8E;AAC9E,2CAA0D;AAKnD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGX;IAFnB,YAEmB,mBAA4D;QAA5D,wBAAmB,GAAnB,mBAAmB,CAAyC;IAC5E,CAAC;IAEJ,KAAK,CAAC,WAAW,CACf,IAAsB,EACtB,IAAmB;QAEnB,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAdY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,6CAAa,EAAC,uCAA2B,CAAC,CAAA;qCACL,8CAAc;GAH3C,mBAAmB,CAc/B"}
1
+ {"version":3,"file":"data-exporter.service.js","sourceRoot":"","sources":["../../src/data-exporter/data-exporter.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,iFAA8E;AAC9E,2CAA0D;AAMnD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGX;IAFnB,YAEmB,mBAA4D;QAA5D,wBAAmB,GAAnB,mBAAmB,CAAyC;IAC5E,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,cAA8B;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CACzE,cAAc,CAAC,IAAI,CACpB,CAAC;QACF,OAAO,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAZY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,6CAAa,EAAC,uCAA2B,CAAC,CAAA;qCACL,8CAAc;GAH3C,mBAAmB,CAY/B"}
@@ -0,0 +1,7 @@
1
+ import { CsvDataExportArgs, ExcelDataExportArgs } from '../providers';
2
+ import { DataExporterType } from '../enum';
3
+ export declare class DataExportBaseArgs {
4
+ type: DataExporterType;
5
+ data: Array<object>;
6
+ }
7
+ export type DataExportArgs = CsvDataExportArgs | ExcelDataExportArgs;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataExportBaseArgs = void 0;
4
+ class DataExportBaseArgs {
5
+ type;
6
+ data;
7
+ }
8
+ exports.DataExportBaseArgs = DataExportBaseArgs;
9
+ //# sourceMappingURL=data-export-args.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-export-args.dto.js","sourceRoot":"","sources":["../../../src/data-exporter/dto/data-export-args.dto.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAkB;IAC7B,IAAI,CAAmB;IACvB,IAAI,CAAgB;CACrB;AAHD,gDAGC"}
@@ -0,0 +1,5 @@
1
+ export declare class DataExportResult {
2
+ mimeType: string;
3
+ extension: string;
4
+ data: Buffer;
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataExportResult = void 0;
4
+ class DataExportResult {
5
+ mimeType;
6
+ extension;
7
+ data;
8
+ }
9
+ exports.DataExportResult = DataExportResult;
10
+ //# sourceMappingURL=data-export-result.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-export-result.dto.js","sourceRoot":"","sources":["../../../src/data-exporter/dto/data-export-result.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAgB;IAC3B,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,IAAI,CAAS;CACd;AAJD,4CAIC"}
@@ -0,0 +1 @@
1
+ export * from './data-export-result.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./data-export-result.dto"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data-exporter/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC"}
@@ -1,3 +1,4 @@
1
1
  export declare enum DataExporterType {
2
- CSV = "csv"
2
+ CSV = "csv",
3
+ EXCEL = "excel"
3
4
  }
@@ -4,5 +4,6 @@ exports.DataExporterType = void 0;
4
4
  var DataExporterType;
5
5
  (function (DataExporterType) {
6
6
  DataExporterType["CSV"] = "csv";
7
+ DataExporterType["EXCEL"] = "excel";
7
8
  })(DataExporterType || (exports.DataExporterType = DataExporterType = {}));
8
9
  //# sourceMappingURL=data-exporter-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-exporter-type.enum.js","sourceRoot":"","sources":["../../../src/data-exporter/enum/data-exporter-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;AACb,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B"}
1
+ {"version":3,"file":"data-exporter-type.enum.js","sourceRoot":"","sources":["../../../src/data-exporter/enum/data-exporter-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,mCAAe,CAAA;AACjB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B"}
@@ -1,3 +1,4 @@
1
1
  export * from './data-exporter.service';
2
2
  export * from './data-exporter.module';
3
3
  export * from './enum';
4
+ export * from './dto';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./data-exporter.service"), exports);
18
18
  __exportStar(require("./data-exporter.module"), exports);
19
19
  __exportStar(require("./enum"), exports);
20
+ __exportStar(require("./dto"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-exporter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,yDAAuC;AACvC,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-exporter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,yDAAuC;AACvC,yCAAuB;AACvB,wCAAsB"}
@@ -1,4 +1,6 @@
1
+ import { CsvDataExportArgs } from './dto';
2
+ import { DataExportResult } from '../../dto';
1
3
  import { DataExporterBaseService } from '../../data-exporter-base.service';
2
4
  export declare class CsvService extends DataExporterBaseService {
3
- exportAsync(data: Array<object>): Promise<Buffer>;
5
+ exportAsync(dataExportArgs: CsvDataExportArgs): Promise<DataExportResult>;
4
6
  }
@@ -14,9 +14,20 @@ const nestjs_factory_pattern_module_1 = require("nestjs-factory-pattern-module")
14
14
  const common_1 = require("@nestjs/common");
15
15
  const json_2_csv_1 = require("json-2-csv");
16
16
  let CsvService = class CsvService extends data_exporter_base_service_1.DataExporterBaseService {
17
- exportAsync(data) {
18
- const csv = (0, json_2_csv_1.json2csv)(data);
19
- return Promise.resolve(Buffer.from(csv, 'utf-8'));
17
+ exportAsync(dataExportArgs) {
18
+ const csv = (0, json_2_csv_1.json2csv)(dataExportArgs.data, {
19
+ keys: dataExportArgs.options?.headers,
20
+ fieldTitleMap: dataExportArgs.options?.headersMap,
21
+ delimiter: {
22
+ field: dataExportArgs.options?.delimiter ?? ',',
23
+ wrap: dataExportArgs.options?.quote,
24
+ },
25
+ });
26
+ return Promise.resolve({
27
+ mimeType: 'text/csv',
28
+ extension: 'csv',
29
+ data: Buffer.from(csv, dataExportArgs.options?.encoding ?? 'utf-8'),
30
+ });
20
31
  }
21
32
  };
22
33
  exports.CsvService = CsvService;
@@ -1 +1 @@
1
- {"version":3,"file":"csv.service.js","sourceRoot":"","sources":["../../../../src/data-exporter/providers/csv/csv.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAA8D;AAC9D,iFAA2E;AAC3E,qCAA8C;AAC9C,iFAAgE;AAChE,2CAA4C;AAC5C,2CAAsC;AAI/B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,oDAAuB;IACrD,WAAW,CAAC,IAAmB;QAC7B,MAAM,GAAG,GAAG,IAAA,qBAAQ,EAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AALY,gCAAU;qBAAV,UAAU;IAFtB,IAAA,mBAAU,GAAE;IACZ,IAAA,+CAAe,EAAC,uCAA2B,EAAE,uBAAgB,CAAC,GAAG,CAAC;GACtD,UAAU,CAKtB"}
1
+ {"version":3,"file":"csv.service.js","sourceRoot":"","sources":["../../../../src/data-exporter/providers/csv/csv.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,+CAA8D;AAE9D,iFAA2E;AAC3E,qCAA8C;AAC9C,iFAAgE;AAChE,2CAA4C;AAC5C,2CAAsC;AAI/B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,oDAAuB;IACrD,WAAW,CAAC,cAAiC;QAC3C,MAAM,GAAG,GAAG,IAAA,qBAAQ,EAAC,cAAc,CAAC,IAAI,EAAE;YACxC,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO;YACrC,aAAa,EAAE,cAAc,CAAC,OAAO,EAAE,UAAU;YACjD,SAAS,EAAE;gBACT,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,IAAI,GAAG;gBAC/C,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK;aACpC;SACF,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhBY,gCAAU;qBAAV,UAAU;IAFtB,IAAA,mBAAU,GAAE;IACZ,IAAA,+CAAe,EAAC,uCAA2B,EAAE,uBAAgB,CAAC,GAAG,CAAC;GACtD,UAAU,CAgBtB"}
@@ -0,0 +1,12 @@
1
+ import { DataExportBaseArgs } from '../../../dto/data-export-args.dto';
2
+ import { DataExporterType } from '../../../enum';
3
+ export declare class CsvDataExportArgs extends DataExportBaseArgs {
4
+ readonly type = DataExporterType.CSV;
5
+ options?: {
6
+ headers?: Array<string>;
7
+ headersMap?: Record<string, string>;
8
+ delimiter?: string;
9
+ quote?: string;
10
+ encoding?: BufferEncoding;
11
+ };
12
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CsvDataExportArgs = void 0;
4
+ const data_export_args_dto_1 = require("../../../dto/data-export-args.dto");
5
+ const enum_1 = require("../../../enum");
6
+ class CsvDataExportArgs extends data_export_args_dto_1.DataExportBaseArgs {
7
+ type = enum_1.DataExporterType.CSV;
8
+ options;
9
+ }
10
+ exports.CsvDataExportArgs = CsvDataExportArgs;
11
+ //# sourceMappingURL=csv-data-export-args.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv-data-export-args.dto.js","sourceRoot":"","sources":["../../../../../src/data-exporter/providers/csv/dto/csv-data-export-args.dto.ts"],"names":[],"mappings":";;;AAAA,4EAAuE;AACvE,wCAAiD;AAEjD,MAAa,iBAAkB,SAAQ,yCAAkB;IAC9C,IAAI,GAAG,uBAAgB,CAAC,GAAG,CAAC;IAErC,OAAO,CAML;CACH;AAVD,8CAUC"}
@@ -0,0 +1 @@
1
+ export * from './csv-data-export-args.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./csv-data-export-args.dto"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data-exporter/providers/csv/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"}
@@ -0,0 +1,2 @@
1
+ export * from './dto';
2
+ export * from './csv.service';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./dto"), exports);
18
+ __exportStar(require("./csv.service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data-exporter/providers/csv/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,gDAA8B"}
@@ -0,0 +1,16 @@
1
+ import { DataExportBaseArgs } from '../../../dto/data-export-args.dto';
2
+ import { DataExporterType } from '../../../enum';
3
+ export declare class ExcelDataExportArgs extends DataExportBaseArgs {
4
+ readonly type = DataExporterType.EXCEL;
5
+ options?: {
6
+ headers?: Array<string>;
7
+ headersMap?: Record<string, string>;
8
+ sheetName?: string;
9
+ columnOptions?: Record<string, {
10
+ width?: number;
11
+ style?: {
12
+ numFmt?: string;
13
+ };
14
+ }>;
15
+ };
16
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExcelDataExportArgs = void 0;
4
+ const data_export_args_dto_1 = require("../../../dto/data-export-args.dto");
5
+ const enum_1 = require("../../../enum");
6
+ class ExcelDataExportArgs extends data_export_args_dto_1.DataExportBaseArgs {
7
+ type = enum_1.DataExporterType.EXCEL;
8
+ options;
9
+ }
10
+ exports.ExcelDataExportArgs = ExcelDataExportArgs;
11
+ //# sourceMappingURL=excel-data-export-args.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel-data-export-args.dto.js","sourceRoot":"","sources":["../../../../../src/data-exporter/providers/excel/dto/excel-data-export-args.dto.ts"],"names":[],"mappings":";;;AAAA,4EAAuE;AACvE,wCAAiD;AAEjD,MAAa,mBAAoB,SAAQ,yCAAkB;IAChD,IAAI,GAAG,uBAAgB,CAAC,KAAK,CAAC;IAEvC,OAAO,CAaL;CACH;AAjBD,kDAiBC"}
@@ -0,0 +1 @@
1
+ export * from './excel-data-export-args.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./excel-data-export-args.dto"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data-exporter/providers/excel/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C"}
@@ -0,0 +1,7 @@
1
+ import { DataExportResult } from '../../dto';
2
+ import { DataExporterBaseService } from '../../data-exporter-base.service';
3
+ import { ExcelDataExportArgs } from './dto';
4
+ export declare class ExcelService extends DataExporterBaseService {
5
+ exportAsync(dataExportArgs: ExcelDataExportArgs): Promise<DataExportResult>;
6
+ private getHeaders;
7
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.ExcelService = void 0;
43
+ const ExcelJS = __importStar(require("exceljs"));
44
+ const constants_1 = require("../../constants");
45
+ const data_exporter_base_service_1 = require("../../data-exporter-base.service");
46
+ const enum_1 = require("../../enum");
47
+ const nestjs_factory_pattern_module_1 = require("nestjs-factory-pattern-module");
48
+ const common_1 = require("@nestjs/common");
49
+ let ExcelService = class ExcelService extends data_exporter_base_service_1.DataExporterBaseService {
50
+ async exportAsync(dataExportArgs) {
51
+ const workbook = new ExcelJS.Workbook();
52
+ const worksheet = workbook.addWorksheet(dataExportArgs.options?.sheetName ?? 'Sheet1');
53
+ worksheet.columns = this.getHeaders(dataExportArgs.data.at(0) ?? {}, dataExportArgs.options);
54
+ worksheet.addRows(dataExportArgs.data);
55
+ const data = await workbook.xlsx.writeBuffer();
56
+ return {
57
+ mimeType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
58
+ extension: 'xlsx',
59
+ data: data,
60
+ };
61
+ }
62
+ getHeaders(firstRowData, options) {
63
+ let result = [];
64
+ if (options?.headers)
65
+ result = options?.headers?.map((header) => {
66
+ const columnOption = options?.columnOptions?.[header] ?? {};
67
+ return {
68
+ header: options?.headersMap?.[header] ?? header,
69
+ key: header,
70
+ ...columnOption,
71
+ };
72
+ });
73
+ else
74
+ result = Object.keys(firstRowData).map((property) => {
75
+ const columnOption = options?.columnOptions?.[property];
76
+ return {
77
+ header: property,
78
+ key: property,
79
+ ...columnOption,
80
+ };
81
+ });
82
+ return result;
83
+ }
84
+ };
85
+ exports.ExcelService = ExcelService;
86
+ exports.ExcelService = ExcelService = __decorate([
87
+ (0, common_1.Injectable)(),
88
+ (0, nestjs_factory_pattern_module_1.FactoryProvider)(constants_1.DATA_EXPORTER_FACTORY_TOKEN, enum_1.DataExporterType.EXCEL)
89
+ ], ExcelService);
90
+ //# sourceMappingURL=excel.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.service.js","sourceRoot":"","sources":["../../../../src/data-exporter/providers/excel/excel.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC,+CAA8D;AAE9D,iFAA2E;AAC3E,qCAA8C;AAE9C,iFAAgE;AAChE,2CAA4C;AAIrC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,oDAAuB;IACvD,KAAK,CAAC,WAAW,CACf,cAAmC;QAEnC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CACrC,cAAc,CAAC,OAAO,EAAE,SAAS,IAAI,QAAQ,CAC9C,CAAC;QACF,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CACjC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAC/B,cAAc,CAAC,OAAO,CACvB,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO;YACL,QAAQ,EACN,mEAAmE;YACrE,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,IAAyB;SAChC,CAAC;IACJ,CAAC;IAEO,UAAU,CAChB,YAAoB,EACpB,OAAwC;QAExC,IAAI,MAAM,GAAmC,EAAE,CAAC;QAEhD,IAAI,OAAO,EAAE,OAAO;YAClB,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxC,MAAM,YAAY,GAAG,OAAO,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5D,OAAO;oBACL,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM;oBAC/C,GAAG,EAAE,MAAM;oBACX,GAAG,YAAY;iBAChB,CAAC;YACJ,CAAC,CAAC,CAAC;;YAEH,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClD,MAAM,YAAY,GAAG,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACxD,OAAO;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,EAAE,QAAQ;oBACb,GAAG,YAAY;iBAChB,CAAC;YACJ,CAAC,CAAC,CAAC;QAEL,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAjDY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,mBAAU,GAAE;IACZ,IAAA,+CAAe,EAAC,uCAA2B,EAAE,uBAAgB,CAAC,KAAK,CAAC;GACxD,YAAY,CAiDxB"}
@@ -0,0 +1,2 @@
1
+ export * from './excel.service';
2
+ export * from './dto';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./excel.service"), exports);
18
+ __exportStar(require("./dto"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data-exporter/providers/excel/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,wCAAsB"}
@@ -0,0 +1,2 @@
1
+ export * from './csv';
2
+ export * from './excel';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./csv"), exports);
18
+ __exportStar(require("./excel"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data-exporter/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0CAAwB"}