@anddone/coretestautomation 1.0.3 → 1.0.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,10 +1,14 @@
1
1
  export declare class FileCommonUtils {
2
2
  private static resolvePath;
3
+ static readExcel<T = Record<string, any>>(fileName: string, sheetName?: string): Promise<T[]>;
4
+ static writeExcel(fileName: string, data: Record<string, any>[], sheetName?: string): Promise<void>;
5
+ static getExcelSheetNames(fileName: string): Promise<string[]>;
3
6
  static readCSV<T = Record<string, string>>(fileName: string, delimiter?: string): T[];
4
7
  static writeCSV(fileName: string, data: Record<string, any>[], delimiter?: string): void;
5
8
  static readJson<T>(fileName: string): T | null;
6
9
  static readXml<T>(fileName: string): Promise<T | null>;
7
10
  static getRowCount<T>(data: T[]): number;
11
+ static getColumnCount<T extends Record<string, any>>(data: T[]): number;
8
12
  static getColumnHeaders<T extends Record<string, any>>(data: T[]): string[];
9
13
  static getCellData<T extends Record<string, any>>(data: T[], row: number, column: keyof T): any;
10
14
  static select<T extends Record<string, any>>(data: T[], column: keyof T, value: any): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"fileCommonUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"AAWA,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,WAAW;IAmD1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAM,GACd,CAAC,EAAE;IAoBN,MAAM,CAAC,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAC3B,SAAS,SAAM,GACd,IAAI;IAeP,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;WAUjC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAW5D,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM;IAIxC,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE;IAI3E,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,IAAI,EAAE,CAAC,EAAE,EACT,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,GACd,GAAG;IAIN,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzC,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,MAAM,CAAC,EACf,KAAK,EAAE,GAAG,GACT,CAAC,EAAE;WAKO,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAS/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAW9C,YAAY,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,SAAK,GACX,OAAO,CAAC,IAAI,CAAC;WAWH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAYjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAatD,kBAAkB,CAC7B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAI,GACR,OAAO,CAAC,IAAI,CAAC;WAQH,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;CAWnB"}
1
+ {"version":3,"file":"fileCommonUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"AAWA,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,WAAW;WAKf,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAC,SAAS,CAAC,EAAE,MAAM,GAAI,OAAO,CAAC,CAAC,EAAE,CAAC;WAqCtF,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC;WAoC9F,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYlE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAM,GACd,CAAC,EAAE;IAoBN,MAAM,CAAC,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAC3B,SAAS,SAAM,GACd,IAAI;IAeP,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;WAUjC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAW5D,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM;IAIxC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM;IAIvE,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE;IAI3E,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,IAAI,EAAE,CAAC,EAAE,EACT,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,GACd,GAAG;IAIN,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzC,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,MAAM,CAAC,EACf,KAAK,EAAE,GAAG,GACT,CAAC,EAAE;WAKO,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAS/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAW7C,YAAY,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,SAAK,GACX,OAAO,CAAC,IAAI,CAAC;WAWH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAYjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAatD,kBAAkB,CAC7B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAI,GACR,OAAO,CAAC,IAAI,CAAC;WAQH,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;CAWnB"}
@@ -32,9 +32,12 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.FileCommonUtils = void 0;
37
- //import * as XLSX from "xlsx";
40
+ const exceljs_1 = __importDefault(require("exceljs"));
38
41
  const fs = __importStar(require("fs"));
39
42
  const path = __importStar(require("path"));
40
43
  const xml2js_1 = require("xml2js");
@@ -48,48 +51,83 @@ class FileCommonUtils {
48
51
  return path.resolve(process.cwd(), "test-data", fileName);
49
52
  }
50
53
  // ================== EXCEL ==================
51
- // static readExcel<T = Record<string, any>>(
52
- // fileName: string,
53
- // sheetName?: string,
54
- // ): T[] {
55
- // try {
56
- // const filePath = this.resolvePath(fileName);
57
- // const workbook = XLSX.readFile(filePath);
58
- // const targetSheet = sheetName ?? workbook.SheetNames[0];
59
- // if (!targetSheet) return [];
60
- // const worksheet = workbook.Sheets[targetSheet];
61
- // if (!worksheet) return [];
62
- // // Cast to any because defval is not in TypeScript XLSX type
63
- // return XLSX.utils.sheet_to_json<T>(worksheet, { defval: "" } as any);
64
- // } catch (error) {
65
- // console.error(`Failed to read Excel: ${fileName}`, error);
66
- // return [];
67
- // }
68
- // }
69
- // static writeExcel(
70
- // fileName: string,
71
- // data: Record<string, any>[],
72
- // sheetName = "Sheet1",
73
- // ): void {
74
- // try {
75
- // const filePath = this.resolvePath(fileName);
76
- // const workbook = XLSX.utils.book_new();
77
- // const worksheet = XLSX.utils.json_to_sheet(data);
78
- // XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
79
- // XLSX.writeFile(workbook, filePath);
80
- // } catch (error) {
81
- // console.error(`Failed to write Excel: ${fileName}`, error);
82
- // }
83
- // }
84
- // static getExcelSheetNames(fileName: string): string[] {
85
- // try {
86
- // const workbook = XLSX.readFile(this.resolvePath(fileName));
87
- // return workbook.SheetNames;
88
- // } catch (error) {
89
- // console.error(`Failed to read sheet names: ${fileName}`, error);
90
- // return [];
91
- // }
92
- // }
54
+ static async readExcel(fileName, sheetName) {
55
+ try {
56
+ const filePath = this.resolvePath(fileName);
57
+ const workbook = new exceljs_1.default.Workbook();
58
+ await workbook.xlsx.readFile(filePath);
59
+ const worksheet = sheetName ? workbook.getWorksheet(sheetName) : workbook.worksheets[0];
60
+ if (!worksheet)
61
+ return [];
62
+ const headers = [];
63
+ const data = [];
64
+ worksheet.getRow(1).eachCell((cell, col) => {
65
+ var _a;
66
+ headers[col - 1] = String((_a = cell.value) !== null && _a !== void 0 ? _a : '');
67
+ });
68
+ worksheet.eachRow((row, rowNumber) => {
69
+ if (rowNumber === 1)
70
+ return;
71
+ const rowData = {};
72
+ row.eachCell((cell, col) => {
73
+ var _a;
74
+ const header = headers[col - 1];
75
+ if (header) {
76
+ rowData[header] = (_a = cell.value) !== null && _a !== void 0 ? _a : '';
77
+ }
78
+ });
79
+ data.push(rowData);
80
+ });
81
+ return data;
82
+ }
83
+ catch (error) {
84
+ console.error(`Failed to read Excel: ${fileName}`, error);
85
+ return [];
86
+ }
87
+ }
88
+ static async writeExcel(fileName, data, sheetName = 'Sheet1') {
89
+ var _a;
90
+ try {
91
+ const filePath = this.resolvePath(fileName);
92
+ const workbook = new exceljs_1.default.Workbook();
93
+ // Load existing Excel if it exists
94
+ if (fs.existsSync(filePath)) {
95
+ await workbook.xlsx.readFile(filePath);
96
+ }
97
+ // Get existing sheet or create new one
98
+ let worksheet = workbook.getWorksheet(sheetName);
99
+ if (!worksheet) {
100
+ worksheet = workbook.addWorksheet(sheetName);
101
+ // Add headers ONLY for new sheet
102
+ if (data.length) {
103
+ worksheet.columns = Object.keys((_a = data[0]) !== null && _a !== void 0 ? _a : {}).map(key => ({
104
+ header: key,
105
+ key,
106
+ }));
107
+ }
108
+ }
109
+ // Append rows (never override)
110
+ if (data.length) {
111
+ worksheet.addRows(data);
112
+ }
113
+ // Save workbook (preserves all sheets)
114
+ await workbook.xlsx.writeFile(filePath);
115
+ }
116
+ catch (error) {
117
+ console.error(`Failed to write Excel: ${fileName}`, error);
118
+ }
119
+ }
120
+ static async getExcelSheetNames(fileName) {
121
+ try {
122
+ const workbook = new exceljs_1.default.Workbook();
123
+ await workbook.xlsx.readFile(this.resolvePath(fileName));
124
+ return workbook.worksheets.map(ws => ws.name);
125
+ }
126
+ catch (error) {
127
+ console.error(`Failed to read sheet names: ${fileName}`, error);
128
+ return [];
129
+ }
130
+ }
93
131
  // ================== CSV ==================
94
132
  static readCSV(fileName, delimiter = ",") {
95
133
  try {
@@ -114,11 +152,12 @@ class FileCommonUtils {
114
152
  }
115
153
  }
116
154
  static writeCSV(fileName, data, delimiter = ",") {
155
+ var _a;
117
156
  try {
118
157
  if (!data.length)
119
158
  return;
120
159
  const filePath = this.resolvePath(fileName);
121
- const headers = Object.keys(data[0]).join(delimiter);
160
+ const headers = Object.keys((_a = data[0]) !== null && _a !== void 0 ? _a : {}).join(delimiter);
122
161
  const rows = data
123
162
  .map((row) => Object.values(row).join(delimiter))
124
163
  .join("\n");
@@ -153,6 +192,10 @@ class FileCommonUtils {
153
192
  static getRowCount(data) {
154
193
  return data.length;
155
194
  }
195
+ static getColumnCount(data) {
196
+ var _a;
197
+ return Object.keys((_a = data[0]) !== null && _a !== void 0 ? _a : {}).length;
198
+ }
156
199
  static getColumnHeaders(data) {
157
200
  var _a;
158
201
  return Object.keys((_a = data[0]) !== null && _a !== void 0 ? _a : {});
@@ -1 +1 @@
1
- {"version":3,"file":"fileCommonUtils.js","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileCommonUtils.js","sourceRoot":"","sources":["../../src/utils/fileCommonUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anddone/coretestautomation",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "main": "index.js",
5
5
  "type": "commonjs",
6
6
  "scripts": {
@@ -10,12 +10,13 @@
10
10
  },
11
11
  "devDependencies": {
12
12
  "@playwright/test": "^1.58.0",
13
- "@types/node": "^25.1.0",
13
+ "@types/node": "^25.2.1",
14
14
  "@types/xml2js": "^0.4.14"
15
15
  },
16
16
  "dependencies": {
17
17
  "date-fns": "^4.1.0",
18
18
  "date-fns-tz": "^3.2.0",
19
+ "exceljs": "^4.4.0",
19
20
  "pdf-parse": "^1.1.1",
20
21
  "xml2js": "^0.6.2"
21
22
  }
@@ -1,11 +1,11 @@
1
- //import * as XLSX from "xlsx";
1
+ import ExcelJS from 'exceljs';
2
2
  import * as fs from "fs";
3
3
  import * as path from "path";
4
4
  import { parseStringPromise } from "xml2js";
5
- import pdfParseModule = require("pdf-parse");
6
5
  import { exec } from "child_process";
7
6
  import { promisify } from "util";
8
- import pdfParse = require("pdf-parse");
7
+
8
+ const pdfParse = require("pdf-parse");
9
9
 
10
10
  const execAsync = promisify(exec);
11
11
 
@@ -16,50 +16,89 @@ export class FileCommonUtils {
16
16
  }
17
17
 
18
18
  // ================== EXCEL ==================
19
- // static readExcel<T = Record<string, any>>(
20
- // fileName: string,
21
- // sheetName?: string,
22
- // ): T[] {
23
- // try {
24
- // const filePath = this.resolvePath(fileName);
25
- // const workbook = XLSX.readFile(filePath);
26
- // const targetSheet = sheetName ?? workbook.SheetNames[0];
27
- // if (!targetSheet) return [];
28
- // const worksheet = workbook.Sheets[targetSheet];
29
- // if (!worksheet) return [];
30
- // // Cast to any because defval is not in TypeScript XLSX type
31
- // return XLSX.utils.sheet_to_json<T>(worksheet, { defval: "" } as any);
32
- // } catch (error) {
33
- // console.error(`Failed to read Excel: ${fileName}`, error);
34
- // return [];
35
- // }
36
- // }
37
-
38
- // static writeExcel(
39
- // fileName: string,
40
- // data: Record<string, any>[],
41
- // sheetName = "Sheet1",
42
- // ): void {
43
- // try {
44
- // const filePath = this.resolvePath(fileName);
45
- // const workbook = XLSX.utils.book_new();
46
- // const worksheet = XLSX.utils.json_to_sheet(data);
47
- // XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
48
- // XLSX.writeFile(workbook, filePath);
49
- // } catch (error) {
50
- // console.error(`Failed to write Excel: ${fileName}`, error);
51
- // }
52
- // }
53
-
54
- // static getExcelSheetNames(fileName: string): string[] {
55
- // try {
56
- // const workbook = XLSX.readFile(this.resolvePath(fileName));
57
- // return workbook.SheetNames;
58
- // } catch (error) {
59
- // console.error(`Failed to read sheet names: ${fileName}`, error);
60
- // return [];
61
- // }
62
- // }
19
+ static async readExcel<T = Record<string, any>>(fileName: string,sheetName?: string,): Promise<T[]>
20
+ {
21
+ try {
22
+ const filePath = this.resolvePath(fileName);
23
+ const workbook = new ExcelJS.Workbook();
24
+ await workbook.xlsx.readFile(filePath);
25
+
26
+ const worksheet =sheetName ? workbook.getWorksheet(sheetName): workbook.worksheets[0];
27
+ if (!worksheet) return [];
28
+ const headers: string[] = [];
29
+ const data: T[] = [];
30
+
31
+ worksheet.getRow(1).eachCell((cell, col) => {
32
+ headers[col - 1] = String(cell.value ?? '');
33
+ });
34
+
35
+ worksheet.eachRow((row, rowNumber) => {
36
+ if (rowNumber === 1) return;
37
+
38
+ const rowData: Record<string, any> = {};
39
+ row.eachCell((cell, col) => {
40
+ const header = headers[col - 1];
41
+ if (header) {
42
+ rowData[header] = cell.value ?? '';
43
+ }
44
+ });
45
+ data.push(rowData as T);
46
+ });
47
+
48
+ return data;
49
+ } catch (error) {
50
+ console.error(`Failed to read Excel: ${fileName}`, error);
51
+ return [];
52
+ }
53
+ }
54
+
55
+
56
+ static async writeExcel(fileName: string, data: Record<string, any>[], sheetName = 'Sheet1'): Promise<void>
57
+ {
58
+ try {
59
+ const filePath = this.resolvePath(fileName);
60
+ const workbook = new ExcelJS.Workbook();
61
+
62
+ // Load existing Excel if it exists
63
+ if (fs.existsSync(filePath)) {
64
+ await workbook.xlsx.readFile(filePath);
65
+ }
66
+
67
+ // Get existing sheet or create new one
68
+ let worksheet = workbook.getWorksheet(sheetName);
69
+ if (!worksheet) {
70
+ worksheet = workbook.addWorksheet(sheetName);
71
+
72
+ // Add headers ONLY for new sheet
73
+ if (data.length) {
74
+ worksheet.columns = Object.keys(data[0] ?? {}).map(key => ({
75
+ header: key,
76
+ key,
77
+ }));
78
+ }
79
+ }
80
+ // Append rows (never override)
81
+ if (data.length) {
82
+ worksheet.addRows(data);
83
+ }
84
+
85
+ // Save workbook (preserves all sheets)
86
+ await workbook.xlsx.writeFile(filePath);
87
+ } catch (error) {
88
+ console.error(`Failed to write Excel: ${fileName}`, error);
89
+ }
90
+ }
91
+
92
+ static async getExcelSheetNames(fileName: string): Promise<string[]> {
93
+ try {
94
+ const workbook = new ExcelJS.Workbook();
95
+ await workbook.xlsx.readFile(this.resolvePath(fileName));
96
+ return workbook.worksheets.map(ws => ws.name);
97
+ } catch (error) {
98
+ console.error(`Failed to read sheet names: ${fileName}`, error);
99
+ return [];
100
+ }
101
+ }
63
102
 
64
103
  // ================== CSV ==================
65
104
  static readCSV<T = Record<string, string>>(
@@ -93,7 +132,7 @@ export class FileCommonUtils {
93
132
  try {
94
133
  if (!data.length) return;
95
134
  const filePath = this.resolvePath(fileName);
96
- const headers = Object.keys(data[0]).join(delimiter);
135
+ const headers = Object.keys(data[0] ?? {}).join(delimiter);
97
136
  const rows = data
98
137
  .map((row) => Object.values(row).join(delimiter))
99
138
  .join("\n");
@@ -128,6 +167,10 @@ export class FileCommonUtils {
128
167
  static getRowCount<T>(data: T[]): number {
129
168
  return data.length;
130
169
  }
170
+
171
+ static getColumnCount<T extends Record<string, any>>(data: T[]): number {
172
+ return Object.keys(data[0] ?? {}).length;
173
+ }
131
174
 
132
175
  static getColumnHeaders<T extends Record<string, any>>(data: T[]): string[] {
133
176
  return Object.keys(data[0] ?? {});
@@ -170,7 +213,7 @@ export class FileCommonUtils {
170
213
  }
171
214
  }
172
215
 
173
- static async editTextFile(
216
+ static async editTextFile(
174
217
  filePath: string,
175
218
  search: string | RegExp,
176
219
  replace = "",