sm-utility 2.1.2 → 2.1.4

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.
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { ISpreadSheet } from "../interfaces";
3
3
  export declare class ExcelCreator {
4
- createSync<T extends Record<string, string>>(sheets: ISpreadSheet<T>[]): Buffer;
5
- createAsync<T extends Record<string, string>>(sheets: ISpreadSheet<T>[]): Promise<Buffer>;
4
+ createSync<T extends Record<string, any>>(sheets: ISpreadSheet<T>[]): Buffer;
5
+ createAsync<T extends Record<string, any>>(sheets: ISpreadSheet<T>[]): Promise<Buffer>;
6
6
  }
@@ -4,23 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ExcelCreator = void 0;
7
- const node_xlsx_1 = __importDefault(require("node-xlsx"));
8
7
  const path_1 = __importDefault(require("path"));
9
- const sheetExcelCreator_1 = require("./sheetExcelCreator");
10
8
  const thread_1 = require("../../thread");
11
9
  const logger_1 = require("../../logger");
10
+ const excelCreatorBuilder_1 = require("./excelCreatorBuilder");
12
11
  const RELATIVE_PATH = "./excelCreatorWorker/worker.ts";
13
12
  const EXCEL_CREATOR_WORKER_PATH = path_1.default.resolve(__dirname, RELATIVE_PATH);
14
13
  class ExcelCreator {
15
14
  createSync(sheets) {
16
- const builderSheets = sheets.map((sheet) => new sheetExcelCreator_1.SheetExcelCreator().create(sheet));
17
- const buffer = node_xlsx_1.default.build(builderSheets);
15
+ const buffer = new excelCreatorBuilder_1.ExcelCreatorBuilder().create(sheets);
18
16
  return buffer;
19
17
  }
20
18
  async createAsync(sheets) {
21
- const builderSheets = sheets.map((sheet) => new sheetExcelCreator_1.SheetExcelCreator().create(sheet));
22
19
  const result = await thread_1.workerfy({
23
- data: builderSheets,
20
+ data: sheets,
24
21
  path: EXCEL_CREATOR_WORKER_PATH,
25
22
  });
26
23
  if (result.error) {
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import { ISpreadSheet } from "../interfaces";
3
+ export declare class ExcelCreatorBuilder {
4
+ create<T extends Record<string, any>>(sheets: ISpreadSheet<T>[]): Buffer;
5
+ }
@@ -0,0 +1,16 @@
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.ExcelCreatorBuilder = void 0;
7
+ const node_xlsx_1 = __importDefault(require("node-xlsx"));
8
+ const sheetExcelCreator_1 = require("./sheetExcelCreator");
9
+ class ExcelCreatorBuilder {
10
+ create(sheets) {
11
+ const builderSheets = sheets.map((sheet) => new sheetExcelCreator_1.SheetExcelCreator().create(sheet));
12
+ const buffer = node_xlsx_1.default.build(builderSheets);
13
+ return buffer;
14
+ }
15
+ }
16
+ exports.ExcelCreatorBuilder = ExcelCreatorBuilder;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const worker_threads_1 = require("worker_threads");
4
+ const excelCreatorBuilder_1 = require("./excelCreatorBuilder");
5
+ function main() {
6
+ if (worker_threads_1.parentPort) {
7
+ const workerResult = new excelCreatorBuilder_1.ExcelCreatorBuilder().create(worker_threads_1.workerData.data);
8
+ worker_threads_1.parentPort.postMessage(workerResult);
9
+ }
10
+ }
11
+ main();
@@ -1,7 +1,7 @@
1
1
  import { WorkSheet } from "node-xlsx";
2
2
  import { ISpreadSheet } from "../interfaces";
3
3
  export declare class SheetExcelCreator {
4
- create<T extends Record<string, string>>({ name, items, structures, }: ISpreadSheet<T>): WorkSheet<string>;
4
+ create<T extends Record<string, any>>({ name, items, structures, }: ISpreadSheet<T>): WorkSheet<string>;
5
5
  private buildSheetBuilder;
6
6
  private buildSheetData;
7
7
  private customItem;
@@ -7,11 +7,10 @@ exports.ExcelParser = void 0;
7
7
  const node_xlsx_1 = __importDefault(require("node-xlsx"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const path_1 = __importDefault(require("path"));
10
- const dirname_1 = require("../../dirname");
11
10
  const sheetExcelParser_1 = require("./sheetExcelParser");
12
11
  class ExcelParser {
13
12
  async parse(data) {
14
- const filePath = path_1.default.resolve(dirname_1.DIRNAME, "uploads", `${data.filename}`);
13
+ const filePath = path_1.default.resolve(data.rootDirname, "uploads", `${data.filename}`);
15
14
  const sheets = node_xlsx_1.default.parse(filePath);
16
15
  const parsedResult = sheets.map((sheet) => new sheetExcelParser_1.SheetExcelParser().parse(sheet));
17
16
  await this.deleteFile(filePath);
@@ -21,6 +21,7 @@ export interface IFormatStructure {
21
21
  }
22
22
  export interface IExcelParserData {
23
23
  filename: string;
24
+ rootDirname: string;
24
25
  }
25
26
  export interface IExcelSheet {
26
27
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sm-utility",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "reusable utility codes for sm projects",
5
5
  "main": "index.js",
6
6
  "types": "./index.d.ts",
@@ -1,3 +0,0 @@
1
- import { WorkSheet } from "node-xlsx";
2
- import { IWorkerResult } from "../../interfaces";
3
- export declare function createExcelTable(builderSheets: WorkSheet<string>[]): IWorkerResult;
@@ -1,18 +0,0 @@
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.createExcelTable = void 0;
7
- const node_xlsx_1 = __importDefault(require("node-xlsx"));
8
- function createExcelTable(builderSheets) {
9
- try {
10
- const file = node_xlsx_1.default.build(builderSheets);
11
- return { file };
12
- }
13
- catch (err) {
14
- const error = err;
15
- return { error };
16
- }
17
- }
18
- exports.createExcelTable = createExcelTable;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const worker_threads_1 = require("worker_threads");
4
- const createExcelTable_1 = require("./createExcelTable");
5
- function main() {
6
- if (worker_threads_1.parentPort) {
7
- const workerResult = createExcelTable_1.createExcelTable(worker_threads_1.workerData.data);
8
- worker_threads_1.parentPort.postMessage(workerResult);
9
- }
10
- else {
11
- throw Error("The 'parentPort' is not available. This code should run within a worker context.");
12
- }
13
- }
14
- main();