tfose5-xlsx 3.3.4 → 3.5.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.
Files changed (61) hide show
  1. package/README.md +1 -1
  2. package/dist/{value.d.ts → asset.d.ts} +1 -1
  3. package/dist/parse-to-enum-json.d.ts +1 -1
  4. package/dist/parse-to-enum-json.js +44 -37
  5. package/dist/{to-value-converter.d.ts → to-asset-converter.d.ts} +1 -1
  6. package/dist/{to-value-converter.js → to-asset-converter.js} +3 -3
  7. package/dist/{to-value-conditions-converter.d.ts → to-conditions-converter.d.ts} +4 -4
  8. package/dist/{to-value-conditions-converter.js → to-conditions-converter.js} +3 -3
  9. package/dist/to-rewards-converter.d.ts +2 -2
  10. package/package.json +3 -3
  11. package/dist/cell-parser-base.d.ts +0 -9
  12. package/dist/cell-parser-base.js +0 -20
  13. package/dist/cell-parser-parse-option.d.ts +0 -16
  14. package/dist/cell-to-array-parser.d.ts +0 -8
  15. package/dist/cell-to-array-parser.js +0 -22
  16. package/dist/cell-to-bool-parser.d.ts +0 -5
  17. package/dist/cell-to-bool-parser.js +0 -13
  18. package/dist/cell-to-enum-parser.d.ts +0 -5
  19. package/dist/cell-to-enum-parser.js +0 -16
  20. package/dist/cell-to-json-parser.d.ts +0 -5
  21. package/dist/cell-to-json-parser.js +0 -9
  22. package/dist/cell-to-number-parser.d.ts +0 -5
  23. package/dist/cell-to-number-parser.js +0 -9
  24. package/dist/cell-to-rewards-parser.d.ts +0 -11
  25. package/dist/cell-to-rewards-parser.js +0 -38
  26. package/dist/cell-to-string-parser.d.ts +0 -5
  27. package/dist/cell-to-string-parser.js +0 -9
  28. package/dist/cell-to-unix-parser.d.ts +0 -5
  29. package/dist/cell-to-unix-parser.js +0 -18
  30. package/dist/cell-to-value-conditions-parser.d.ts +0 -11
  31. package/dist/cell-to-value-conditions-parser.js +0 -38
  32. package/dist/cell-to-value-parser.d.ts +0 -10
  33. package/dist/cell-to-value-parser.js +0 -25
  34. package/dist/enum-item.d.ts +0 -6
  35. package/dist/enum-item.js +0 -2
  36. package/dist/enum-sheet-parser-base.d.ts +0 -6
  37. package/dist/enum-sheet-parser-base.js +0 -6
  38. package/dist/enum-sheet-parser-parse-option.d.ts +0 -7
  39. package/dist/enum-sheet-parser-parse-option.js +0 -2
  40. package/dist/enum-sheet-parser.d.ts +0 -12
  41. package/dist/enum-sheet-parser.js +0 -142
  42. package/dist/file-parser-base.d.ts +0 -5
  43. package/dist/file-parser-base.js +0 -6
  44. package/dist/file-parser-parse-result.d.ts +0 -7
  45. package/dist/file-parser-parse-result.js +0 -2
  46. package/dist/file-parser.d.ts +0 -10
  47. package/dist/file-parser.js +0 -22
  48. package/dist/i-parser.d.ts +0 -3
  49. package/dist/i-parser.js +0 -2
  50. package/dist/mock.d.ts +0 -12
  51. package/dist/mock.js +0 -59
  52. package/dist/parser-factory.d.ts +0 -7
  53. package/dist/parser-factory.js +0 -15
  54. package/dist/value.js +0 -2
  55. package/dist/work-book-parser-base.d.ts +0 -6
  56. package/dist/work-book-parser-base.js +0 -6
  57. package/dist/work-book-parser-parse-result.d.ts +0 -7
  58. package/dist/work-book-parser-parse-result.js +0 -2
  59. package/dist/work-book-parser.d.ts +0 -11
  60. package/dist/work-book-parser.js +0 -21
  61. /package/dist/{cell-parser-parse-option.js → asset.js} +0 -0
package/README.md CHANGED
@@ -1 +1 @@
1
- # ![Version](https://img.shields.io/badge/version-3.3.4-green.svg)
1
+ # ![Version](https://img.shields.io/badge/version-3.5.4-green.svg)
@@ -1,4 +1,4 @@
1
- export type Value = {
1
+ export type Asset = {
2
2
  count: number;
3
3
  no: number;
4
4
  };
@@ -1,2 +1,2 @@
1
1
  import { FsFactory } from 'tfose5-fs';
2
- export declare function parseXlsxToEnumJson(fsFactory: FsFactory, dstDirPath: string, srcDirPath: string, topEnums?: string[]): Promise<void>;
2
+ export declare function parseXlsxToEnumJson(fsFactory: FsFactory, dstDirPath: string, srcDirPath: string, topEnums: string[]): Promise<void>;
@@ -10,38 +10,39 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.parseXlsxToEnumJson = parseXlsxToEnumJson;
13
+ const node_xlsx_1 = require("node-xlsx");
13
14
  const path_1 = require("path");
14
15
  const tfose5_fs_1 = require("tfose5-fs");
15
- const xlsx_1 = require("xlsx");
16
16
  const converter_factory_1 = require("./converter-factory");
17
+ const to_asset_converter_1 = require("./to-asset-converter");
17
18
  const to_bool_converter_1 = require("./to-bool-converter");
18
19
  const to_enum_no_converter_1 = require("./to-enum-no-converter");
19
20
  const to_json_converter_1 = require("./to-json-converter");
20
21
  const to_number_converter_1 = require("./to-number-converter");
21
22
  const to_rewards_converter_1 = require("./to-rewards-converter");
22
23
  const to_unix_converter_1 = require("./to-unix-converter");
23
- const to_value_conditions_converter_1 = require("./to-value-conditions-converter");
24
- const to_value_converter_1 = require("./to-value-converter");
24
+ const to_conditions_converter_1 = require("./to-conditions-converter");
25
25
  const allEnumTextNo = {};
26
26
  let converterFactory;
27
- function parseXlsxToEnumJson(fsFactory_1, dstDirPath_1, srcDirPath_1) {
28
- return __awaiter(this, arguments, void 0, function* (fsFactory, dstDirPath, srcDirPath, topEnums = ['ValueEnum']) {
27
+ function parseXlsxToEnumJson(fsFactory, dstDirPath, srcDirPath, topEnums) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
29
  var _a;
30
30
  const toEnumNoConverter = new to_enum_no_converter_1.ToEnumNoConverter(allEnumTextNo);
31
31
  converterFactory = new converter_factory_1.ConverterFactory(toEnumNoConverter, {
32
+ asset: new to_asset_converter_1.ToAssetConverter(toEnumNoConverter, topEnums[topEnums.length - 1]),
32
33
  bool: new to_bool_converter_1.ToBoolConverter(),
33
- conditions: new to_value_conditions_converter_1.ToValueConditionsConverter(toEnumNoConverter, topEnums[topEnums.length - 1]),
34
+ conditions: new to_conditions_converter_1.ToConditionsConverter(toEnumNoConverter, topEnums[topEnums.length - 1]),
34
35
  json: new to_json_converter_1.ToJsonConverter(),
35
36
  number: new to_number_converter_1.ToNumberConverter(),
36
37
  rewards: new to_rewards_converter_1.ToRewardsConverter(toEnumNoConverter, topEnums[topEnums.length - 1]),
37
38
  unit: new to_unix_converter_1.ToUnixConverter(),
38
- value: new to_value_converter_1.ToValueConverter(toEnumNoConverter, topEnums[topEnums.length - 1]),
39
39
  });
40
+ const topFiles = topEnums.map(r => r + '.xlsx');
40
41
  const filePaths = [];
41
42
  yield fsFactory.build(tfose5_fs_1.FsScanBase).scan({
42
43
  fileAction: (filePath) => __awaiter(this, void 0, void 0, function* () {
43
- const ok = topEnums.some(r => {
44
- return filePath.includes(r);
44
+ const ok = topFiles.some(r => {
45
+ return (0, path_1.basename)(filePath) == r;
45
46
  });
46
47
  if (ok)
47
48
  return;
@@ -49,49 +50,55 @@ function parseXlsxToEnumJson(fsFactory_1, dstDirPath_1, srcDirPath_1) {
49
50
  }),
50
51
  path: srcDirPath,
51
52
  });
52
- topEnums.forEach(r => {
53
- filePaths.unshift((0, path_1.join)(srcDirPath, r + '.xlsx'));
53
+ topFiles.forEach(r => {
54
+ filePaths.unshift((0, path_1.join)(srcDirPath, r));
54
55
  });
55
56
  for (const r of filePaths) {
56
57
  if (r.includes('~'))
57
58
  continue;
58
- const sheets = (0, xlsx_1.readFile)(r).Sheets;
59
59
  const enumName = (0, path_1.basename)(r).replace('.xlsx', '');
60
60
  console.log(`xlsx: ${enumName}`);
61
- const allOtherSheetRows = {};
62
- for (const k in sheets) {
63
- if (k == enumName)
64
- continue;
65
- console.log(` sheet: ${k}`);
66
- allOtherSheetRows[k] = parseSheet(sheets[k]);
67
- }
68
- console.log(` sheet: ${enumName}`);
69
- const enumItems = parseSheet(sheets[enumName], allOtherSheetRows);
70
- if ((_a = enumItems[0]) === null || _a === void 0 ? void 0 : _a.text) {
71
- allEnumTextNo[enumName] = enumItems.reduce((memo, r) => {
61
+ const res = (0, node_xlsx_1.parse)(r).map(r => {
62
+ return {
63
+ sort: r.name == enumName ? 'zzz' : r.name,
64
+ sheet: r,
65
+ };
66
+ }).sort((a, b) => {
67
+ return a.sort.localeCompare(b.sort);
68
+ }).map(r => r.sheet).reduce((memo, r) => {
69
+ console.log(` sheet: ${r.name}`);
70
+ if (r.name == enumName)
71
+ memo.enumItems = parseSheet(r.data, memo.allOtherSheetRows);
72
+ else
73
+ memo.allOtherSheetRows[r.name] = parseSheet(r.data);
74
+ return memo;
75
+ }, {
76
+ enumItems: [],
77
+ allOtherSheetRows: {},
78
+ });
79
+ if ((_a = res.enumItems[0]) === null || _a === void 0 ? void 0 : _a.text) {
80
+ allEnumTextNo[enumName] = res.enumItems.reduce((memo, r) => {
72
81
  memo[r.text] = r.value;
73
82
  return memo;
74
83
  }, {});
75
84
  }
76
85
  yield fsFactory.build(tfose5_fs_1.FsWriteBase).write({
77
- data: enumItems,
86
+ data: res.enumItems,
78
87
  json: true,
79
- path: (0, path_1.join)(dstDirPath, enumName.replace(/[A-Z]/g, (m, i) => {
80
- return (i ? '-' : '') + m.toLowerCase();
81
- }) + '.json'),
88
+ path: (0, path_1.join)(dstDirPath, enumName + '.json'),
82
89
  });
83
90
  }
84
91
  });
85
92
  }
86
- function parseSheet(sheet, allOtherSheetRows) {
87
- return xlsx_1.utils.sheet_to_json(sheet).map((r, i) => {
88
- return i ? Object.entries(r).reduce((memo, cr) => {
89
- var _a, _b;
90
- const [field, type, ext] = cr[0].split(':');
93
+ function parseSheet(sheetRows, allOtherSheetRows) {
94
+ return sheetRows.slice(2).map(r => {
95
+ return r.length ? sheetRows[0].reduce((memo, cr, ci) => {
96
+ var _a, _b, _c;
97
+ const [field, type, ext] = cr.split(':');
91
98
  let fieldValue;
92
99
  if (type == '#') {
93
100
  fieldValue = ((_a = allOtherSheetRows[ext]) !== null && _a !== void 0 ? _a : []).filter(sr => {
94
- return cr[1] == sr.group;
101
+ return r[ci] == sr.group;
95
102
  }).map(sr => {
96
103
  const copy = structuredClone(sr);
97
104
  delete copy.group;
@@ -100,12 +107,12 @@ function parseSheet(sheet, allOtherSheetRows) {
100
107
  });
101
108
  }
102
109
  else if (type == 'array') {
103
- fieldValue = cr[1].toString().split(/\r\n|\n|\r/g).map(sr => {
110
+ fieldValue = r[ci] ? r[ci].toString().split(/\r\n|\n|\r/g).map(sr => {
104
111
  return converterFactory.build(ext).convert(sr, ext);
105
- });
112
+ }) : undefined;
106
113
  }
107
114
  else {
108
- fieldValue = converterFactory.build(type).convert(cr[1], type);
115
+ fieldValue = r[ci] ? converterFactory.build(type).convert(r[ci], type) : undefined;
109
116
  }
110
117
  const fieldParts = field.split('.');
111
118
  let obj = memo;
@@ -116,7 +123,7 @@ function parseSheet(sheet, allOtherSheetRows) {
116
123
  obj = obj[name];
117
124
  }
118
125
  else {
119
- obj[name] = fieldValue;
126
+ (_c = obj[name]) !== null && _c !== void 0 ? _c : (obj[name] = fieldValue);
120
127
  }
121
128
  }
122
129
  return memo;
@@ -1,5 +1,5 @@
1
1
  import { IConverter } from './i-converter';
2
- export declare class ToValueConverter implements IConverter {
2
+ export declare class ToAssetConverter implements IConverter {
3
3
  private m_ToEnumNoConverter;
4
4
  private m_Enum;
5
5
  constructor(m_ToEnumNoConverter: IConverter, m_Enum: string);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ToValueConverter = void 0;
4
- class ToValueConverter {
3
+ exports.ToAssetConverter = void 0;
4
+ class ToAssetConverter {
5
5
  constructor(m_ToEnumNoConverter, m_Enum) {
6
6
  this.m_ToEnumNoConverter = m_ToEnumNoConverter;
7
7
  this.m_Enum = m_Enum;
@@ -14,4 +14,4 @@ class ToValueConverter {
14
14
  };
15
15
  }
16
16
  }
17
- exports.ToValueConverter = ToValueConverter;
17
+ exports.ToAssetConverter = ToAssetConverter;
@@ -1,12 +1,12 @@
1
+ import { Asset } from './asset';
1
2
  import { IConverter } from './i-converter';
2
- import { Value } from './value';
3
- type ValueCondition = Value & {
3
+ type AssetCondition = Asset & {
4
4
  op: string;
5
5
  };
6
- export declare class ToValueConditionsConverter implements IConverter {
6
+ export declare class ToConditionsConverter implements IConverter {
7
7
  private m_ToEnumNoConverter;
8
8
  private m_Enum;
9
9
  constructor(m_ToEnumNoConverter: IConverter, m_Enum: string);
10
- convert(s: string): ValueCondition[][];
10
+ convert(s: string): AssetCondition[][];
11
11
  }
12
12
  export {};
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ToValueConditionsConverter = void 0;
3
+ exports.ToConditionsConverter = void 0;
4
4
  const reg = /^([\u4e00-\u9fff]+)(%|&|now-day|now-diff|own|rd)*([=><]+)(-?\d+([\.eE+\d]+)?)$/;
5
- class ToValueConditionsConverter {
5
+ class ToConditionsConverter {
6
6
  constructor(m_ToEnumNoConverter, m_Enum) {
7
7
  this.m_ToEnumNoConverter = m_ToEnumNoConverter;
8
8
  this.m_Enum = m_Enum;
@@ -33,4 +33,4 @@ class ToValueConditionsConverter {
33
33
  return res;
34
34
  }
35
35
  }
36
- exports.ToValueConditionsConverter = ToValueConditionsConverter;
36
+ exports.ToConditionsConverter = ToConditionsConverter;
@@ -1,6 +1,6 @@
1
1
  import { IConverter } from './i-converter';
2
- import { Value } from './value';
3
- type Reward = Value & {
2
+ import { Asset } from './asset';
3
+ type Reward = Asset & {
4
4
  weight: number;
5
5
  };
6
6
  export declare class ToRewardsConverter implements IConverter {
package/package.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "author": "ahl5esoft",
3
3
  "dependencies": {
4
4
  "dayjs": "^1.11.20",
5
- "tfose5-fs": "^1.6.1",
6
- "xlsx": "^0.18.5"
5
+ "node-xlsx": "^0.24.0",
6
+ "tfose5-fs": "^1.6.1"
7
7
  },
8
8
  "devDependencies": {
9
9
  "@types/mocha": "^10.0.10",
@@ -24,5 +24,5 @@
24
24
  "test": "mocha -t 30s -r ./node_modules/ts-node/register/index.js --exit",
25
25
  "version": "ts-node script version"
26
26
  },
27
- "version": "3.3.4"
27
+ "version": "3.5.4"
28
28
  }
@@ -1,9 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { EnumItem } from './enum-item';
3
- import { IXlsxParser } from './i-parser';
4
- export declare abstract class XlsxCellParserBase<T> implements IXlsxParser<XlsxCellParserParseOption, T> {
5
- abstract parse(opt: XlsxCellParserParseOption): T;
6
- protected getEnumFieldIndexDoc(enumName: string, opt: XlsxCellParserParseOption, field?: keyof EnumItem): {
7
- [fieldValue: string]: number;
8
- };
9
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellParserBase = void 0;
4
- class XlsxCellParserBase {
5
- getEnumFieldIndexDoc(enumName, opt, field = 'text') {
6
- var _a, _b, _c;
7
- var _d;
8
- (_a = opt.allEnumIndexDoc) !== null && _a !== void 0 ? _a : (opt.allEnumIndexDoc = {});
9
- const allIndexDoc = (_b = (_d = opt.allEnumIndexDoc)[enumName]) !== null && _b !== void 0 ? _b : (_d[enumName] = {});
10
- if (!allIndexDoc[field]) {
11
- allIndexDoc[field] = {};
12
- const allItem = (_c = opt.allEnumItem[enumName]) !== null && _c !== void 0 ? _c : new Map();
13
- allItem.forEach(r => {
14
- allIndexDoc[field][r[field]] = r.value;
15
- });
16
- }
17
- return allIndexDoc[field];
18
- }
19
- }
20
- exports.XlsxCellParserBase = XlsxCellParserBase;
@@ -1,16 +0,0 @@
1
- import { EnumItem } from './enum-item';
2
- export type XlsxCellParserParseOption = {
3
- ext: string;
4
- field: string;
5
- value: any;
6
- allEnumItem: {
7
- [enumName: string]: Map<number, EnumItem>;
8
- };
9
- allEnumIndexDoc?: {
10
- [enumName: string]: {
11
- [field: string]: {
12
- [fieldValue: string]: number;
13
- };
14
- };
15
- };
16
- };
@@ -1,8 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { XlsxEnumSheetParser } from './enum-sheet-parser';
3
- import { IXlsxParser } from './i-parser';
4
- export declare class XlsxCellToArrayParser implements IXlsxParser<XlsxCellParserParseOption, unknown[]> {
5
- private m_EnumSheetParser;
6
- constructor(m_EnumSheetParser: XlsxEnumSheetParser);
7
- parse(opt: XlsxCellParserParseOption): unknown[];
8
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToArrayParser = void 0;
4
- class XlsxCellToArrayParser {
5
- constructor(m_EnumSheetParser) {
6
- this.m_EnumSheetParser = m_EnumSheetParser;
7
- }
8
- parse(opt) {
9
- var _a;
10
- if (typeof opt.value != 'string')
11
- return [];
12
- const [type, ...others] = opt.ext.split('.');
13
- const lines = opt.value.split(((_a = others[0]) === null || _a === void 0 ? void 0 : _a.startsWith('\\')) ? new RegExp(others.shift(), 'g') : /\r\n|\n|\r/g);
14
- const res = [];
15
- const otherExt = others.join('.');
16
- for (const r of lines) {
17
- res.push(this.m_EnumSheetParser.getCellParser(type).parse(Object.assign(Object.assign({}, opt), { ext: otherExt, value: r })));
18
- }
19
- return res;
20
- }
21
- }
22
- exports.XlsxCellToArrayParser = XlsxCellToArrayParser;
@@ -1,5 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { IXlsxParser } from './i-parser';
3
- export declare class XlsxCellToBoolParser implements IXlsxParser<XlsxCellParserParseOption, boolean> {
4
- parse(opt: XlsxCellParserParseOption): boolean;
5
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToBoolParser = void 0;
4
- class XlsxCellToBoolParser {
5
- parse(opt) {
6
- if (typeof opt.value == 'boolean')
7
- return opt.value;
8
- if (typeof opt.value == 'string')
9
- return opt.value.toLocaleLowerCase() == 'true';
10
- return !!opt.value;
11
- }
12
- }
13
- exports.XlsxCellToBoolParser = XlsxCellToBoolParser;
@@ -1,5 +0,0 @@
1
- import { XlsxCellParserBase } from './cell-parser-base';
2
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
3
- export declare class XlsxCellToEnumParser extends XlsxCellParserBase<number> {
4
- parse(opt: XlsxCellParserParseOption): number;
5
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToEnumParser = void 0;
4
- const tfose5_error_1 = require("tfose5-error");
5
- const cell_parser_base_1 = require("./cell-parser-base");
6
- class XlsxCellToEnumParser extends cell_parser_base_1.XlsxCellParserBase {
7
- parse(opt) {
8
- const [_, enumName, field] = opt.ext.split('.');
9
- const indexDoc = this.getEnumFieldIndexDoc(enumName, opt, field);
10
- const no = indexDoc[opt.value];
11
- if (!no)
12
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${XlsxCellToEnumParser.name}.parse: 无效${enumName}[${opt.value}]`);
13
- return no;
14
- }
15
- }
16
- exports.XlsxCellToEnumParser = XlsxCellToEnumParser;
@@ -1,5 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { IXlsxParser } from './i-parser';
3
- export declare class XlsxCellToJsonParser implements IXlsxParser<XlsxCellParserParseOption, unknown> {
4
- parse(opt: XlsxCellParserParseOption): any;
5
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToJsonParser = void 0;
4
- class XlsxCellToJsonParser {
5
- parse(opt) {
6
- return typeof opt.value == 'string' ? JSON.parse(opt.value) : opt.value;
7
- }
8
- }
9
- exports.XlsxCellToJsonParser = XlsxCellToJsonParser;
@@ -1,5 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { IXlsxParser } from './i-parser';
3
- export declare class XlsxCellToNumberParser implements IXlsxParser<XlsxCellParserParseOption, number> {
4
- parse(opt: XlsxCellParserParseOption): number;
5
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToNumberParser = void 0;
4
- class XlsxCellToNumberParser {
5
- parse(opt) {
6
- return Number(opt.value);
7
- }
8
- }
9
- exports.XlsxCellToNumberParser = XlsxCellToNumberParser;
@@ -1,11 +0,0 @@
1
- import { XlsxCellParserBase } from './cell-parser-base';
2
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
3
- import { Value } from './value';
4
- type Reward = Value & {
5
- weight?: number;
6
- };
7
- export declare class XlsxCellToRewardsParser extends XlsxCellParserBase<Reward[][]> {
8
- static reg: RegExp;
9
- parse(opt: XlsxCellParserParseOption): Reward[][];
10
- }
11
- export {};
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToRewardsParser = void 0;
4
- const tfose5_error_1 = require("tfose5-error");
5
- const cell_parser_base_1 = require("./cell-parser-base");
6
- class XlsxCellToRewardsParser extends cell_parser_base_1.XlsxCellParserBase {
7
- parse(opt) {
8
- if (typeof opt.value != 'string')
9
- return [];
10
- const lines = opt.value.split(/\r\n|\n|\r/g);
11
- const res = [[]];
12
- const valueTypeTextOfValue = this.getEnumFieldIndexDoc('ValueTypeData', opt);
13
- for (const r of lines) {
14
- const match = r.match(XlsxCellToRewardsParser.reg);
15
- if (!match) {
16
- if (res[res.length - 1].length) {
17
- res.push([]);
18
- continue;
19
- }
20
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效奖励格式[${r}]`);
21
- }
22
- const valueType = valueTypeTextOfValue[match[1]];
23
- if (!valueType)
24
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效奖励名[${r}]`);
25
- const count = Number(match[2]);
26
- if (isNaN(count))
27
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效奖励数量[${r}]`);
28
- res[res.length - 1].push({
29
- count,
30
- valueType,
31
- weight: match[3] && Number(match[3].slice(1)) || 0,
32
- });
33
- }
34
- return res;
35
- }
36
- }
37
- exports.XlsxCellToRewardsParser = XlsxCellToRewardsParser;
38
- XlsxCellToRewardsParser.reg = /^([^*]+)\*(-?[\deE+\.]+)(\*?(\d+))?$/;
@@ -1,5 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { IXlsxParser } from './i-parser';
3
- export declare class XlsxCellToStringParser implements IXlsxParser<XlsxCellParserParseOption, string> {
4
- parse(opt: XlsxCellParserParseOption): any;
5
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToStringParser = void 0;
4
- class XlsxCellToStringParser {
5
- parse(opt) {
6
- return (typeof opt.value == 'string' ? opt.value : opt.value.toString()).trim();
7
- }
8
- }
9
- exports.XlsxCellToStringParser = XlsxCellToStringParser;
@@ -1,5 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { IXlsxParser } from './i-parser';
3
- export declare class XlsxCellToUnixParser implements IXlsxParser<XlsxCellParserParseOption, number> {
4
- parse(opt: XlsxCellParserParseOption): number;
5
- }
@@ -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.XlsxCellToUnixParser = void 0;
7
- const dayjs_1 = __importDefault(require("dayjs"));
8
- class XlsxCellToUnixParser {
9
- parse(opt) {
10
- try {
11
- return (0, dayjs_1.default)(opt.value.toString()).unix();
12
- }
13
- catch (_a) {
14
- return 0;
15
- }
16
- }
17
- }
18
- exports.XlsxCellToUnixParser = XlsxCellToUnixParser;
@@ -1,11 +0,0 @@
1
- import { XlsxCellParserBase } from './cell-parser-base';
2
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
3
- import { Value } from './value';
4
- type ValueCondition = Value & {
5
- op: string;
6
- };
7
- export declare class XlsxCellToValueConditionsParser extends XlsxCellParserBase<ValueCondition[][]> {
8
- static reg: RegExp;
9
- parse(opt: XlsxCellParserParseOption): ValueCondition[][];
10
- }
11
- export {};
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToValueConditionsParser = void 0;
4
- const tfose5_error_1 = require("tfose5-error");
5
- const cell_parser_base_1 = require("./cell-parser-base");
6
- class XlsxCellToValueConditionsParser extends cell_parser_base_1.XlsxCellParserBase {
7
- parse(opt) {
8
- if (typeof opt.value != 'string')
9
- return [];
10
- const lines = opt.value.split(/\r\n|\n|\r/g);
11
- let res = [[]];
12
- const valueTypeTextOfValue = this.getEnumFieldIndexDoc('ValueTypeData', opt);
13
- for (const r of lines) {
14
- const match = r.match(XlsxCellToValueConditionsParser.reg);
15
- if (!match) {
16
- if (res[res.length - 1].length) {
17
- res.push([]);
18
- continue;
19
- }
20
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效数值条件格式[${r}]`);
21
- }
22
- const valueType = valueTypeTextOfValue[match[1]];
23
- if (!valueType)
24
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效数值条件名[${r}]`);
25
- const count = Number(match[4]);
26
- if (isNaN(count))
27
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效数值条件数量[${r}]`);
28
- res[res.length - 1].push({
29
- count,
30
- op: match[2] && match[2] + match[3] || match[3],
31
- valueType,
32
- });
33
- }
34
- return res;
35
- }
36
- }
37
- exports.XlsxCellToValueConditionsParser = XlsxCellToValueConditionsParser;
38
- XlsxCellToValueConditionsParser.reg = /^([\u4e00-\u9fff]+)(%|&|now-day|now-diff|own)*([=><]+)(-?\d+([\.eE+\d]+)?)$/;
@@ -1,10 +0,0 @@
1
- import { XlsxCellParserBase } from './cell-parser-base';
2
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
3
- import { Value } from './value';
4
- export declare class XlsxCellToValueParser extends XlsxCellParserBase<Value> {
5
- static reg: RegExp;
6
- parse(opt: XlsxCellParserParseOption): {
7
- count: number;
8
- valueType: number;
9
- };
10
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxCellToValueParser = void 0;
4
- const tfose5_error_1 = require("tfose5-error");
5
- const cell_parser_base_1 = require("./cell-parser-base");
6
- class XlsxCellToValueParser extends cell_parser_base_1.XlsxCellParserBase {
7
- parse(opt) {
8
- const match = opt.value.toString().match(XlsxCellToValueParser.reg);
9
- if (!match)
10
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效数值格式[${opt.value}]`);
11
- const valueTypeTextOfValue = this.getEnumFieldIndexDoc('ValueTypeData', opt);
12
- const valueType = valueTypeTextOfValue[match[1]];
13
- if (!valueType)
14
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效数值名[${opt.value}]`);
15
- const count = Number(match[2]);
16
- if (isNaN(count))
17
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.parse: 无效数值数量[${opt.value}]`);
18
- return {
19
- count,
20
- valueType,
21
- };
22
- }
23
- }
24
- exports.XlsxCellToValueParser = XlsxCellToValueParser;
25
- XlsxCellToValueParser.reg = /^(.+)\*(-?[\.eE+\d]+)$/;
@@ -1,6 +0,0 @@
1
- export type EnumItem = {
2
- value: number;
3
- } & Partial<{
4
- key: string;
5
- text: string;
6
- }>;
package/dist/enum-item.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +0,0 @@
1
- import { EnumItem } from './enum-item';
2
- import { XlsxEnumSheetParserParseOption } from './enum-sheet-parser-parse-option';
3
- import { IXlsxParser } from './i-parser';
4
- export declare abstract class XlsxEnumSheetParserBase implements IXlsxParser<XlsxEnumSheetParserParseOption, EnumItem[]> {
5
- abstract parse(input: XlsxEnumSheetParserParseOption): EnumItem[];
6
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxEnumSheetParserBase = void 0;
4
- class XlsxEnumSheetParserBase {
5
- }
6
- exports.XlsxEnumSheetParserBase = XlsxEnumSheetParserBase;
@@ -1,7 +0,0 @@
1
- import { EnumItem } from './enum-item';
2
- import { XlsxWorkBookParserParseResult } from './work-book-parser-parse-result';
3
- export type XlsxEnumSheetParserParseOption = XlsxWorkBookParserParseResult & {
4
- allEnumItem: {
5
- [enumName: string]: Map<number, EnumItem>;
6
- };
7
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,12 +0,0 @@
1
- import { XlsxCellParserParseOption } from './cell-parser-parse-option';
2
- import { XlsxEnumSheetParserBase } from './enum-sheet-parser-base';
3
- import { XlsxEnumSheetParserParseOption } from './enum-sheet-parser-parse-option';
4
- import { IXlsxParser } from './i-parser';
5
- export declare class XlsxEnumSheetParser extends XlsxEnumSheetParserBase {
6
- private m_AllCellParser?;
7
- protected get allCellParser(): {
8
- [type: string]: IXlsxParser<XlsxCellParserParseOption, unknown>;
9
- };
10
- getCellParser(type: string): IXlsxParser<XlsxCellParserParseOption, unknown>;
11
- parse(opt: XlsxEnumSheetParserParseOption): any;
12
- }
@@ -1,142 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxEnumSheetParser = void 0;
4
- const tfose5_error_1 = require("tfose5-error");
5
- const cell_to_array_parser_1 = require("./cell-to-array-parser");
6
- const cell_to_bool_parser_1 = require("./cell-to-bool-parser");
7
- const cell_to_enum_parser_1 = require("./cell-to-enum-parser");
8
- const cell_to_json_parser_1 = require("./cell-to-json-parser");
9
- const cell_to_number_parser_1 = require("./cell-to-number-parser");
10
- const cell_to_rewards_parser_1 = require("./cell-to-rewards-parser");
11
- const cell_to_string_parser_1 = require("./cell-to-string-parser");
12
- const cell_to_unix_parser_1 = require("./cell-to-unix-parser");
13
- const cell_to_value_parser_1 = require("./cell-to-value-parser");
14
- const cell_to_value_conditions_parser_1 = require("./cell-to-value-conditions-parser");
15
- const enum_sheet_parser_base_1 = require("./enum-sheet-parser-base");
16
- const numReg = /^\d+$/;
17
- class XlsxEnumSheetParser extends enum_sheet_parser_base_1.XlsxEnumSheetParserBase {
18
- get allCellParser() {
19
- var _a;
20
- (_a = this.m_AllCellParser) !== null && _a !== void 0 ? _a : (this.m_AllCellParser = {
21
- array: new cell_to_array_parser_1.XlsxCellToArrayParser(this),
22
- bool: new cell_to_bool_parser_1.XlsxCellToBoolParser(),
23
- enum: new cell_to_enum_parser_1.XlsxCellToEnumParser(),
24
- json: new cell_to_json_parser_1.XlsxCellToJsonParser(),
25
- number: new cell_to_number_parser_1.XlsxCellToNumberParser(),
26
- rewards: new cell_to_rewards_parser_1.XlsxCellToRewardsParser(),
27
- string: new cell_to_string_parser_1.XlsxCellToStringParser(),
28
- unix: new cell_to_unix_parser_1.XlsxCellToUnixParser(),
29
- value: new cell_to_value_parser_1.XlsxCellToValueParser(),
30
- valueConditions: new cell_to_value_conditions_parser_1.XlsxCellToValueConditionsParser(),
31
- });
32
- return this.m_AllCellParser;
33
- }
34
- getCellParser(type) {
35
- const parser = this.allCellParser[type];
36
- if (!parser)
37
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, `${this.constructor.name}.getCellParser: 无效解析器[${type}]`);
38
- return parser;
39
- }
40
- parse(opt) {
41
- var _a, _b, _c, _d;
42
- const allTable = {};
43
- for (const r of opt.sheets) {
44
- const rows = [];
45
- const tempRows = [];
46
- for (let i = 1; i < r.rows.length; i++) {
47
- let row = {};
48
- let tempRow = {};
49
- const sheetRow = r.rows[i];
50
- let isFirstField = true;
51
- for (const k in sheetRow) {
52
- const [field, type, ext] = k.split(':');
53
- if (!type)
54
- continue;
55
- let fieldValue;
56
- if (type == '#') {
57
- let [associateTable, associateField] = ext.split('.');
58
- fieldValue = allTable[associateTable];
59
- if (!fieldValue)
60
- continue;
61
- associateField !== null && associateField !== void 0 ? associateField : (associateField = associateTable);
62
- let cellValue = sheetRow[k];
63
- for (const ck in sheetRow) {
64
- if (ck.split(':')[0] == associateField) {
65
- cellValue = sheetRow[ck];
66
- break;
67
- }
68
- }
69
- if (cellValue != undefined) {
70
- fieldValue = fieldValue.filter(cr => {
71
- return cr[associateField] == cellValue;
72
- }).map(cr => {
73
- cr = structuredClone(cr);
74
- delete cr.value;
75
- delete cr[associateField];
76
- return cr;
77
- });
78
- }
79
- }
80
- else {
81
- const parser = this.allCellParser[type];
82
- if (!parser)
83
- continue;
84
- try {
85
- fieldValue = parser.parse({
86
- allEnumItem: opt.allEnumItem,
87
- ext,
88
- field,
89
- value: sheetRow[k],
90
- });
91
- }
92
- catch (ex) {
93
- throw new tfose5_error_1.CustomError(tfose5_error_1.ErrorCode.warning, JSON.stringify({
94
- field: k,
95
- row: i + 2,
96
- sheet: r.name,
97
- text: ex.data,
98
- }));
99
- }
100
- }
101
- if (isFirstField) {
102
- const rowIndex = rows.findIndex(cr => cr[field] == fieldValue);
103
- if (rowIndex == -1) {
104
- rows.push(row);
105
- tempRows.push(tempRow);
106
- }
107
- else {
108
- row = rows[rowIndex];
109
- tempRow = tempRows[rowIndex];
110
- }
111
- isFirstField = false;
112
- }
113
- const fieldParts = field.split('.');
114
- if (fieldParts.length > 1) {
115
- let obj = row;
116
- while (fieldParts.length) {
117
- let name = fieldParts.shift();
118
- if (name in tempRow && typeof tempRow[name] != 'object')
119
- name = tempRow[name];
120
- if (fieldParts.length) {
121
- (_a = obj[name]) !== null && _a !== void 0 ? _a : (obj[name] = numReg.test(fieldParts[0]) ? [] : {});
122
- obj = obj[name];
123
- }
124
- else if ((_b = name.startsWith) === null || _b === void 0 ? void 0 : _b.call(name, '[')) {
125
- tempRow[name.substring(1, name.length - 1)] = fieldValue;
126
- }
127
- else {
128
- obj[name] = fieldValue;
129
- }
130
- }
131
- }
132
- else if (!field.startsWith('_')) {
133
- (_c = row[field]) !== null && _c !== void 0 ? _c : (row[field] = fieldValue);
134
- }
135
- }
136
- }
137
- allTable[r.name] = rows;
138
- }
139
- return (_d = allTable[opt.enumName]) !== null && _d !== void 0 ? _d : [];
140
- }
141
- }
142
- exports.XlsxEnumSheetParser = XlsxEnumSheetParser;
@@ -1,5 +0,0 @@
1
- import { XlsxFileParserParseResult } from './file-parser-parse-result';
2
- import { IXlsxParser } from './i-parser';
3
- export declare abstract class XlsxFileParserBase implements IXlsxParser<string, XlsxFileParserParseResult> {
4
- abstract parse(path: string): XlsxFileParserParseResult;
5
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxFileParserBase = void 0;
4
- class XlsxFileParserBase {
5
- }
6
- exports.XlsxFileParserBase = XlsxFileParserBase;
@@ -1,7 +0,0 @@
1
- export type XlsxFileParserParseResult = {
2
- enumName: string;
3
- sheets: {
4
- name: string;
5
- rows: object[];
6
- }[];
7
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,10 +0,0 @@
1
- import { XlsxFileParserBase } from './file-parser-base';
2
- export declare class XlsxFileParser extends XlsxFileParserBase {
3
- parse(path: string): {
4
- sheets: {
5
- name: string;
6
- rows: object[];
7
- }[];
8
- enumName: string;
9
- };
10
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxFileParser = void 0;
4
- const xlsx_1 = require("xlsx");
5
- const file_parser_base_1 = require("./file-parser-base");
6
- class XlsxFileParser extends file_parser_base_1.XlsxFileParserBase {
7
- parse(path) {
8
- const wb = (0, xlsx_1.readFile)(path);
9
- return {
10
- sheets: wb.SheetNames.filter(r => {
11
- return !r.includes('_');
12
- }).map(r => {
13
- return {
14
- name: r,
15
- rows: xlsx_1.utils.sheet_to_json(wb.Sheets[r]),
16
- };
17
- }).reverse(),
18
- enumName: wb.SheetNames[0],
19
- };
20
- }
21
- }
22
- exports.XlsxFileParser = XlsxFileParser;
@@ -1,3 +0,0 @@
1
- export interface IXlsxParser<TIn, TOut> {
2
- parse(input: TIn): TOut;
3
- }
package/dist/i-parser.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
package/dist/mock.d.ts DELETED
@@ -1,12 +0,0 @@
1
- export declare const mockAny: any;
2
- export declare class Mock<T> {
3
- private m_Target;
4
- private m_CurrentKey;
5
- private m_Records;
6
- private m_Actutal;
7
- get actual(): T;
8
- private m_Expected;
9
- get expected(): T;
10
- constructor(m_Target?: {});
11
- expectReturn(action: (target: T) => any, returnValue: any): void;
12
- }
package/dist/mock.js DELETED
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mock = exports.mockAny = void 0;
4
- const assert_1 = require("assert");
5
- class Record {
6
- constructor() {
7
- this.args = [];
8
- this.returnValues = [];
9
- }
10
- }
11
- exports.mockAny = new Object();
12
- class Mock {
13
- get actual() {
14
- if (!this.m_Actutal) {
15
- this.m_Actutal = new Proxy(this.m_Target, {
16
- get: (target, key) => {
17
- if (key in target)
18
- return target[key];
19
- if (key == 'then' || key == 'catch')
20
- return this.m_Actutal;
21
- return (...args) => {
22
- const record = this.m_Records[key];
23
- if (!(record && record.args.length))
24
- throw new Error(`${key}未被调用`);
25
- const recordArgs = record.args.shift();
26
- (0, assert_1.deepStrictEqual)(args.map((r, i) => {
27
- return recordArgs[i] == exports.mockAny ? exports.mockAny : r;
28
- }), recordArgs);
29
- return record.returnValues.shift();
30
- };
31
- }
32
- });
33
- }
34
- return this.m_Actutal;
35
- }
36
- get expected() {
37
- return this.m_Expected;
38
- }
39
- constructor(m_Target = {}) {
40
- this.m_Target = m_Target;
41
- this.m_Records = {};
42
- this.m_Actutal = null;
43
- this.m_Expected = new Proxy({}, {
44
- get: (_, key) => {
45
- this.m_CurrentKey = key;
46
- if (!this.m_Records[key])
47
- this.m_Records[key] = new Record();
48
- return (...args) => {
49
- this.m_Records[key].args.push(args);
50
- };
51
- }
52
- });
53
- }
54
- expectReturn(action, returnValue) {
55
- action(this.expected);
56
- this.m_Records[this.m_CurrentKey].returnValues.push(returnValue);
57
- }
58
- }
59
- exports.Mock = Mock;
@@ -1,7 +0,0 @@
1
- import { XlsxEnumSheetParserBase } from './enum-sheet-parser-base';
2
- import { XlsxWorkBookParserBase } from './work-book-parser-base';
3
- export declare class XlsxParserFactory {
4
- static ctor: string;
5
- build(typer: typeof XlsxEnumSheetParserBase): XlsxEnumSheetParserBase;
6
- build(typer: typeof XlsxWorkBookParserBase): XlsxWorkBookParserBase;
7
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxParserFactory = void 0;
4
- const enum_sheet_parser_1 = require("./enum-sheet-parser");
5
- const enum_sheet_parser_base_1 = require("./enum-sheet-parser-base");
6
- const work_book_parser_1 = require("./work-book-parser");
7
- const work_book_parser_base_1 = require("./work-book-parser-base");
8
- class XlsxParserFactory {
9
- build(typer) {
10
- return typer == enum_sheet_parser_base_1.XlsxEnumSheetParserBase && new enum_sheet_parser_1.XlsxEnumSheetParser()
11
- || typer == work_book_parser_base_1.XlsxWorkBookParserBase && new work_book_parser_1.XlsxWorkBookParser();
12
- }
13
- }
14
- exports.XlsxParserFactory = XlsxParserFactory;
15
- XlsxParserFactory.ctor = 'XlsxParserFactory';
package/dist/value.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +0,0 @@
1
- import { WorkBook } from 'xlsx';
2
- import { XlsxWorkBookParserParseResult } from './work-book-parser-parse-result';
3
- import { IXlsxParser } from './i-parser';
4
- export declare abstract class XlsxWorkBookParserBase implements IXlsxParser<WorkBook, XlsxWorkBookParserParseResult> {
5
- abstract parse(wb: WorkBook): XlsxWorkBookParserParseResult;
6
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxWorkBookParserBase = void 0;
4
- class XlsxWorkBookParserBase {
5
- }
6
- exports.XlsxWorkBookParserBase = XlsxWorkBookParserBase;
@@ -1,7 +0,0 @@
1
- export type XlsxWorkBookParserParseResult = {
2
- enumName: string;
3
- sheets: {
4
- name: string;
5
- rows: object[];
6
- }[];
7
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,11 +0,0 @@
1
- import { WorkBook } from 'xlsx';
2
- import { XlsxWorkBookParserBase } from './work-book-parser-base';
3
- export declare class XlsxWorkBookParser extends XlsxWorkBookParserBase {
4
- parse(wb: WorkBook): {
5
- enumName: string;
6
- sheets: {
7
- name: string;
8
- rows: object[];
9
- }[];
10
- };
11
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxWorkBookParser = void 0;
4
- const xlsx_1 = require("xlsx");
5
- const work_book_parser_base_1 = require("./work-book-parser-base");
6
- class XlsxWorkBookParser extends work_book_parser_base_1.XlsxWorkBookParserBase {
7
- parse(wb) {
8
- return {
9
- enumName: wb.SheetNames[0],
10
- sheets: wb.SheetNames.filter(r => {
11
- return !r.includes('_');
12
- }).map(r => {
13
- return {
14
- name: r,
15
- rows: xlsx_1.utils.sheet_to_json(wb.Sheets[r]),
16
- };
17
- }).reverse(),
18
- };
19
- }
20
- }
21
- exports.XlsxWorkBookParser = XlsxWorkBookParser;
File without changes