sm-utility 2.2.2 → 2.2.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.
|
@@ -6,11 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.ExcelCreator = void 0;
|
|
7
7
|
const node_xlsx_1 = __importDefault(require("node-xlsx"));
|
|
8
8
|
const sheetExcelCreator_1 = require("./sheetExcelCreator");
|
|
9
|
+
const logger_1 = require("../../logger");
|
|
9
10
|
class ExcelCreator {
|
|
10
11
|
create(sheets) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
try {
|
|
13
|
+
logger_1.logger.info("ExcelCreator initiated", { context: sheets });
|
|
14
|
+
const builderSheets = sheets.map((sheet) => new sheetExcelCreator_1.SheetExcelCreator().create(sheet));
|
|
15
|
+
const buffer = node_xlsx_1.default.build(builderSheets);
|
|
16
|
+
logger_1.logger.info("ExcelCreator finished", { context: sheets });
|
|
17
|
+
return buffer;
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
logger_1.logger.error("ExcelCreator failed", { context: sheets, error });
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
14
23
|
}
|
|
15
24
|
}
|
|
16
25
|
exports.ExcelCreator = ExcelCreator;
|
|
@@ -8,13 +8,22 @@ 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
10
|
const sheetExcelParser_1 = require("./sheetExcelParser");
|
|
11
|
+
const logger_1 = require("../../logger");
|
|
11
12
|
class ExcelParser {
|
|
12
13
|
async parse(data) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
try {
|
|
15
|
+
logger_1.logger.info("ExcelParser initiated", { context: data });
|
|
16
|
+
const filePath = path_1.default.resolve(data.rootDirname, "uploads", `${data.filename}`);
|
|
17
|
+
const sheets = node_xlsx_1.default.parse(filePath);
|
|
18
|
+
const parsedResult = sheets.map((sheet) => new sheetExcelParser_1.SheetExcelParser().parse(sheet));
|
|
19
|
+
await this.deleteFile(filePath);
|
|
20
|
+
logger_1.logger.info("ExcelParser finished", { context: data });
|
|
21
|
+
return parsedResult;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
logger_1.logger.error("ExcelParser failed", { context: data, error });
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
18
27
|
}
|
|
19
28
|
async deleteFile(path) {
|
|
20
29
|
await fs_1.default.promises.stat(path);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SheetExcelParser = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
4
5
|
class SheetExcelParser {
|
|
5
6
|
parse(sheet) {
|
|
6
7
|
const headers = this.extractHeadersFromExcelSheet(sheet);
|
|
@@ -32,7 +33,7 @@ class SheetExcelParser {
|
|
|
32
33
|
buildedRow[header] = value;
|
|
33
34
|
}
|
|
34
35
|
else {
|
|
35
|
-
buildedRow[header] = item.toString();
|
|
36
|
+
buildedRow[header] = item ? item.toString() : constants_1.ITEM_DEFAULT;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
return buildedRow;
|