@anddone/coretestautomation 1.0.2 → 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.
@@ -87,7 +87,7 @@ jobs:
87
87
  curl -X POST -H 'Content-type: application/json' \
88
88
  --data "{
89
89
  \"username\": \"CoreTestAutomation\",
90
- \"text\": \":white_check_mark: npm package published!\n*Package:* $PACKAGE_NAME\n*Version:* $VERSION\n*Release Notes:*\n• Removed XLSX dependency \n• Updated FileCommonUtils.ts \"
90
+ \"text\": \":white_check_mark: npm package published!\n*Package:* $PACKAGE_NAME\n*Version:* $VERSION\n*Release Notes:*\n• Updated setApiMethod to capture data passed json file object \n• \"
91
91
 
92
92
 
93
93
  }" \
@@ -1,6 +1,9 @@
1
1
  import { APIRequestContext, APIResponse } from "@playwright/test";
2
- import apiData from "../testData/api.data.json";
3
- type ApiName = keyof typeof apiData;
2
+ type ApiEntry = {
3
+ method: string;
4
+ path: string;
5
+ };
6
+ type ApiFile = Record<string, ApiEntry>;
4
7
  type RequestOptions = {
5
8
  body?: unknown;
6
9
  headers?: Record<string, string>;
@@ -39,10 +42,20 @@ export declare class ApiUtils {
39
42
  */
40
43
  static getRequest(): APIRequestContext;
41
44
  /**
42
- * This method set apiMethod and apiPath using apiData object of the json file.
43
- * @param apiName ApiName
44
- */
45
- static setApiData(apiName: ApiName): void;
45
+ * Sets the API method and API path based on the provided API data JSON object
46
+ * and API name key.
47
+ *
48
+ * This method is generic and works with any API data file that follows the
49
+ * ApiFile structure (Record<string, { method: string; path: string }>).
50
+ *
51
+ * @template T - Type of the API data object passed to the method
52
+ * @param apiName - Key name of the API entry inside the provided API data object
53
+ * @param api - API data JSON object containing method and path definitions
54
+ *
55
+ * @example
56
+ * ApiUtils.setApiData("login", apiData);
57
+ */
58
+ static setApiData<T extends ApiFile>(apiName: keyof T, api: T): void;
46
59
  /**
47
60
  * This method is to get api method.
48
61
  * @returns string
@@ -1 +1 @@
1
- {"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAEhD,KAAK,OAAO,GAAG,MAAM,OAAO,OAAO,CAAC;AAEpC,KAAK,cAAc,GAAG;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,MAAM;IAGN,EAAE;IAGF,GAAG;IAGG,IAAI;IAGJ,IAAI;CAGX;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAoB;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IAErC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAS;IACjC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAM;IAEjC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IAQrB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB;IAI5C;;;OAGG;IACH,MAAM,CAAC,UAAU;IAIjB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO;IAKlC;;;OAGG;IACH,MAAM,CAAC,WAAW;IAIlB;;;OAGG;IACH,MAAM,CAAC,UAAU;IAIjB,OAAO,CAAC,MAAM,CAAC,SAAS;IAexB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc;IAa1B;;;;OAIG;WACU,WAAW,CAAC,QAAQ,EAAE,WAAW;IAe9C;;;OAGG;IACH,MAAM,CAAC,WAAW;IAIlB;;;OAGG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC;IAIxC;;OAEG;IACH,MAAM,CAAC,WAAW;IAQlB;;;;;;;;;OASG;WACU,WAAW,CACtB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc;IAyB1B;;;;;;OAMG;WACU,gBAAgB,CAAC,CAAC,GAAG,GAAG,EACnC,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,CAAC,GACf,OAAO,CAAC,CAAC,CAAC;IAmBb;;;;OAIG;WACU,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKlE;;;;;OAKG;WACU,yBAAyB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC;CA+BnB"}
1
+ {"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElE,KAAK,QAAQ,GAAG;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAExC,KAAK,cAAc,GAAG;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,MAAM;IAGN,EAAE;IAGF,GAAG;IAGG,IAAI;IAGJ,IAAI;CAGX;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAoB;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IAErC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAS;IACjC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAM;IAEjC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IAQrB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB;IAI5C;;;OAGG;IACH,MAAM,CAAC,UAAU;IAIjB;;;;;;;;;;;;;KAaC;IACD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,OAAO,EACjC,OAAO,EAAE,MAAM,CAAC,EAChB,GAAG,EAAE,CAAC;IAMR;;;OAGG;IACH,MAAM,CAAC,WAAW;IAIlB;;;OAGG;IACH,MAAM,CAAC,UAAU;IAIjB,OAAO,CAAC,MAAM,CAAC,SAAS;IAexB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc;IAa1B;;;;OAIG;WACU,WAAW,CAAC,QAAQ,EAAE,WAAW;IAe9C;;;OAGG;IACH,MAAM,CAAC,WAAW;IAIlB;;;OAGG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC;IAIxC;;OAEG;IACH,MAAM,CAAC,WAAW;IAQlB;;;;;;;;;OASG;WACU,WAAW,CACtB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc;IAyB1B;;;;;;OAMG;WACU,gBAAgB,CAAC,CAAC,GAAG,GAAG,EACnC,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,CAAC,GACf,OAAO,CAAC,CAAC,CAAC;IAmBb;;;;OAIG;WACU,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKlE;;;;;OAKG;WACU,yBAAyB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC;CA+BnB"}
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.ApiUtils = exports.EmptyApiResponse = void 0;
7
- const api_data_json_1 = __importDefault(require("../testData/api.data.json"));
8
4
  class EmptyApiResponse {
9
5
  status() {
10
6
  return 0;
@@ -52,12 +48,22 @@ class ApiUtils {
52
48
  return this.request;
53
49
  }
54
50
  /**
55
- * This method set apiMethod and apiPath using apiData object of the json file.
56
- * @param apiName ApiName
57
- */
58
- static setApiData(apiName) {
59
- this.apiMethod = api_data_json_1.default[apiName].method;
60
- this.apiPath = api_data_json_1.default[apiName].path;
51
+ * Sets the API method and API path based on the provided API data JSON object
52
+ * and API name key.
53
+ *
54
+ * This method is generic and works with any API data file that follows the
55
+ * ApiFile structure (Record<string, { method: string; path: string }>).
56
+ *
57
+ * @template T - Type of the API data object passed to the method
58
+ * @param apiName - Key name of the API entry inside the provided API data object
59
+ * @param api - API data JSON object containing method and path definitions
60
+ *
61
+ * @example
62
+ * ApiUtils.setApiData("login", apiData);
63
+ */
64
+ static setApiData(apiName, api) {
65
+ this.apiMethod = api[apiName].method;
66
+ this.apiPath = api[apiName].path;
61
67
  }
62
68
  /**
63
69
  * This method is to get api method.
@@ -1 +1 @@
1
- {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"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"}
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,uCAAyB;AACzB,2CAA6B;AAC7B,mCAA4C;AAC5C,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEtC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAElC,MAAa,eAAe;IAC1B,sDAAsD;IAC9C,MAAM,CAAC,WAAW,CAAC,QAAgB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,8CAA8C;IAChD,MAAM,CAAC,KAAK,CAAC,SAAS,CAA0B,QAAgB,EAAC,SAAkB;QAEjF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEvC,MAAM,SAAS,GAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAQ,EAAE,CAAC;YAErB,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;;gBACzC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;gBACnC,IAAI,SAAS,KAAK,CAAC;oBAAE,OAAO;gBAE5B,MAAM,OAAO,GAAwB,EAAE,CAAC;gBACxC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;;oBACzB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAChC,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,CAAC,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,OAAY,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,IAA2B,EAAE,SAAS,GAAG,QAAQ;;QAEzF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;YAExC,mCAAmC;YACnC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAED,uCAAuC;YACvC,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAE/C,iCAAiC;gBAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACzD,MAAM,EAAE,GAAG;wBACX,GAAG;qBACJ,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;YACD,+BAA+B;YAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAED,uCAAuC;YACvC,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QAC9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,iBAAO,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEC,4CAA4C;IAC5C,MAAM,CAAC,OAAO,CACZ,QAAgB,EAChB,SAAS,GAAG,GAAG;QAEf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACpC,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAA,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,IAAI,EAAE,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC;gBACjE,OAAO,MAAW,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CACb,QAAgB,EAChB,IAA2B,EAC3B,SAAS,GAAG,GAAG;;QAEf,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAI;iBACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAChD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,OAAO,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,CAAC,QAAQ,CAAI,QAAgB;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAM,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAI,QAAgB;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,MAAM,IAAA,2BAAkB,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,CAAC,WAAW,CAAI,IAAS;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,cAAc,CAAgC,IAAS;;QAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAgC,IAAS;;QAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,IAAS,EACT,GAAW,EACX,MAAe;;QAEf,OAAO,MAAA,IAAI,CAAC,GAAG,CAAC,0CAAG,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,MAAM,CACX,IAAS,EACT,MAAe,EACf,KAAU;QAEV,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,mDAAmD;IACnD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAgB;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEA,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,QAAgB,EAChB,MAAuB,EACvB,OAAO,GAAG,EAAE;QAEZ,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAClE,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAkB;QAC7C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAClE,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC7B,IAAS,EACT,QAAgB,EAChB,KAAK,GAAG,CAAC;;QAET,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,mCAAI,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;;YAC3C,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAED,gDAAgD;IAChD,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,UAAkB,EAClB,OAAe;QAEf,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAC1C,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC9B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AA9QD,0CA8QC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anddone/coretestautomation",
3
- "version": "1.0.2",
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,7 +1,11 @@
1
1
  import { APIRequestContext, APIResponse } from "@playwright/test";
2
- import apiData from "../testData/api.data.json";
3
2
 
4
- type ApiName = keyof typeof apiData;
3
+ type ApiEntry = {
4
+ method: string;
5
+ path: string;
6
+ };
7
+
8
+ type ApiFile = Record<string, ApiEntry>;
5
9
 
6
10
  type RequestOptions = {
7
11
  body?: unknown;
@@ -70,12 +74,25 @@ export class ApiUtils {
70
74
  }
71
75
 
72
76
  /**
73
- * This method set apiMethod and apiPath using apiData object of the json file.
74
- * @param apiName ApiName
75
- */
76
- static setApiData(apiName: ApiName) {
77
- this.apiMethod = apiData[apiName].method;
78
- this.apiPath = apiData[apiName].path;
77
+ * Sets the API method and API path based on the provided API data JSON object
78
+ * and API name key.
79
+ *
80
+ * This method is generic and works with any API data file that follows the
81
+ * ApiFile structure (Record<string, { method: string; path: string }>).
82
+ *
83
+ * @template T - Type of the API data object passed to the method
84
+ * @param apiName - Key name of the API entry inside the provided API data object
85
+ * @param api - API data JSON object containing method and path definitions
86
+ *
87
+ * @example
88
+ * ApiUtils.setApiData("login", apiData);
89
+ */
90
+ static setApiData<T extends ApiFile>(
91
+ apiName: keyof T,
92
+ api: T
93
+ ) {
94
+ this.apiMethod = api[apiName].method;
95
+ this.apiPath = api[apiName].path;
79
96
  }
80
97
 
81
98
  /**
@@ -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 = "",