@vdhewei/xlsx-template-lib 1.2.3 → 1.2.5
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.
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +41 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +40 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -402,6 +402,7 @@ type CompileResult = {
|
|
|
402
402
|
configure?: RuleResult;
|
|
403
403
|
errs?: Error[];
|
|
404
404
|
};
|
|
405
|
+
declare const loadCompileSheets: (workbook: exceljs.Workbook, ruleSheetName: string | number) => string[];
|
|
405
406
|
declare const compileWorkSheet: <T extends ArrayBuffer | Buffer | string>(data: T, sheetName: string | number, options?: RuleOptions) => Promise<exceljs.Xlsx | Error[]>;
|
|
406
407
|
declare class ExprResolver {
|
|
407
408
|
static toBuffer: (w: exceljs.Workbook) => Promise<Buffer>;
|
|
@@ -469,4 +470,4 @@ declare const mergeMap: (source: Map<string, string>, dest: Map<string, string>)
|
|
|
469
470
|
declare const autoRegisterAlias: (values: Object, configure: RuleResult) => Object;
|
|
470
471
|
declare const generateCommandsXlsxTemplateWithCompile: <T extends JsZip.OutputType>(data: Buffer, values: Object, compileOptions: AutoOptions, options?: JsZip.JSZipGeneratorOptions<T> & FullOptions) => Promise<OutputByType[T]>;
|
|
471
472
|
|
|
472
|
-
export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, valueDotGet, workSheetSetPlaceholder };
|
|
473
|
+
export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadCompileSheets, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, valueDotGet, workSheetSetPlaceholder };
|
package/dist/index.d.ts
CHANGED
|
@@ -402,6 +402,7 @@ type CompileResult = {
|
|
|
402
402
|
configure?: RuleResult;
|
|
403
403
|
errs?: Error[];
|
|
404
404
|
};
|
|
405
|
+
declare const loadCompileSheets: (workbook: exceljs.Workbook, ruleSheetName: string | number) => string[];
|
|
405
406
|
declare const compileWorkSheet: <T extends ArrayBuffer | Buffer | string>(data: T, sheetName: string | number, options?: RuleOptions) => Promise<exceljs.Xlsx | Error[]>;
|
|
406
407
|
declare class ExprResolver {
|
|
407
408
|
static toBuffer: (w: exceljs.Workbook) => Promise<Buffer>;
|
|
@@ -469,4 +470,4 @@ declare const mergeMap: (source: Map<string, string>, dest: Map<string, string>)
|
|
|
469
470
|
declare const autoRegisterAlias: (values: Object, configure: RuleResult) => Object;
|
|
470
471
|
declare const generateCommandsXlsxTemplateWithCompile: <T extends JsZip.OutputType>(data: Buffer, values: Object, compileOptions: AutoOptions, options?: JsZip.JSZipGeneratorOptions<T> & FullOptions) => Promise<OutputByType[T]>;
|
|
471
472
|
|
|
472
|
-
export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, valueDotGet, workSheetSetPlaceholder };
|
|
473
|
+
export { AddCommand, AddCommandMust, type AfterReplaceHook, type Argument, ArgumentData, ArgumentValue, ArgumentValueLoader, type AutoOptions, type BeforeReplaceHook, BufferType, type CellPosition, type CmdFunction, CompileContext, type CompileResult, type CustomFormatter, type CustomPlaceholderExtractor, type CustomReplacer, DefaultPlaceholderCellValue, type DrawingInfo, ExprResolver, type ExtensionOptions, type ExtractMacroArgs, type FilterMacroResult, type FullOptions, type MacroArgs, type MacroUnitHelper, type OutputByType, type Placeholder, type PlaceholderCellValue, type QueryFunction, type Range, type Ref, type RelsInfo, RuleMapOptions, type RuleOptions, type RuleResult, RuleToken, type SheetInfo, type TableInfo, TokenParserManger, Workbook, type WorkbookOptions, autoRegisterAlias, columnLetterToNumber, columnNumberToLetter, commandExtendQuery, compileRuleSheetName, compileWorkSheet, compileWorkSheetPlaceholder, defaultExtractPlaceholders, defaultFormatters, defaultValueDotGet, generateCommandsXlsxTemplate, generateCommandsXlsxTemplateWithCompile, generateXlsxTemplate, getCommands, getTokenParser, hasGeneratorToken, isRuleToken, isUrl, loadCompileSheets, loadWorkbook, mergeMap, parseWorkSheetRules, registerTokenParser, registerTokenParserMust, resolveArgument, scanCellSetPlaceholder, toArrayBuffer, valueDotGet, workSheetSetPlaceholder };
|
package/dist/index.js
CHANGED
|
@@ -62,6 +62,7 @@ __export(index_exports, {
|
|
|
62
62
|
hasGeneratorToken: () => hasGeneratorToken,
|
|
63
63
|
isRuleToken: () => isRuleToken,
|
|
64
64
|
isUrl: () => isUrl,
|
|
65
|
+
loadCompileSheets: () => loadCompileSheets,
|
|
65
66
|
loadWorkbook: () => loadWorkbook,
|
|
66
67
|
mergeMap: () => mergeMap,
|
|
67
68
|
parseWorkSheetRules: () => parseWorkSheetRules,
|
|
@@ -2130,16 +2131,16 @@ var RuleMapOptions = class _RuleMapOptions {
|
|
|
2130
2131
|
}
|
|
2131
2132
|
parseDefault(worksheet) {
|
|
2132
2133
|
this.ruleKeyMap = mergeOption(this.ruleKeyMap, defaultRuleTokenMap);
|
|
2133
|
-
if (this.startLine === void 0) {
|
|
2134
|
+
if (this.startLine === void 0 || isNaN(this.startLine) || this.startLine < 0) {
|
|
2134
2135
|
this.startLine = 1;
|
|
2135
2136
|
}
|
|
2136
|
-
if (this.endLine === void 0) {
|
|
2137
|
+
if (this.endLine === void 0 || isNaN(this.endLine) || this.endLine < 0) {
|
|
2137
2138
|
this.endLine = worksheet.rowCount;
|
|
2138
2139
|
}
|
|
2139
|
-
if (this.startColumn === void 0) {
|
|
2140
|
+
if (this.startColumn === void 0 || isNaN(this.startColumn) || this.startColumn < 0) {
|
|
2140
2141
|
this.startColumn = 1;
|
|
2141
2142
|
}
|
|
2142
|
-
if (this.endColumn === void 0) {
|
|
2143
|
+
if (this.endColumn === void 0 || isNaN(this.endColumn) || this.endColumn < 0) {
|
|
2143
2144
|
this.endColumn = worksheet.columnCount;
|
|
2144
2145
|
}
|
|
2145
2146
|
return this;
|
|
@@ -3569,13 +3570,31 @@ var compileWorkSheetPlaceholder = function(ctx, sheet, result) {
|
|
|
3569
3570
|
}
|
|
3570
3571
|
return void 0;
|
|
3571
3572
|
};
|
|
3573
|
+
var loadCompileSheets = (workbook, ruleSheetName) => {
|
|
3574
|
+
let first;
|
|
3575
|
+
let sheets = [];
|
|
3576
|
+
for (const [_, w] of workbook.worksheets.entries()) {
|
|
3577
|
+
if (w.name === ruleSheetName) {
|
|
3578
|
+
continue;
|
|
3579
|
+
}
|
|
3580
|
+
if (first === "") {
|
|
3581
|
+
first = w.name;
|
|
3582
|
+
}
|
|
3583
|
+
if (!w.name.endsWith(".json") && !w.name.endsWith(".config")) {
|
|
3584
|
+
sheets.push(w.name);
|
|
3585
|
+
}
|
|
3586
|
+
}
|
|
3587
|
+
if (sheets.length <= 0 && first !== "") {
|
|
3588
|
+
sheets.push(first);
|
|
3589
|
+
}
|
|
3590
|
+
return sheets;
|
|
3591
|
+
};
|
|
3572
3592
|
var compile = async function(data, ruleSheetName, options) {
|
|
3573
3593
|
const workbook = await loadWorkbook(data);
|
|
3574
3594
|
const sheet = workbook.getWorksheet(ruleSheetName);
|
|
3575
3595
|
if (sheet === void 0) {
|
|
3576
3596
|
return {
|
|
3577
|
-
workbook
|
|
3578
|
-
errs: [new Error(`compile error, ${ruleSheetName} not exists!`)]
|
|
3597
|
+
workbook
|
|
3579
3598
|
};
|
|
3580
3599
|
}
|
|
3581
3600
|
if (workbook.worksheets === void 0) {
|
|
@@ -3588,6 +3607,10 @@ var compile = async function(data, ruleSheetName, options) {
|
|
|
3588
3607
|
const excludes = [ruleSheetName];
|
|
3589
3608
|
options = RuleMapOptions.withAllSheets(workbook, excludes);
|
|
3590
3609
|
}
|
|
3610
|
+
options = options.parseDefault(sheet);
|
|
3611
|
+
if (options.compileSheets === void 0 || options.compileSheets.length === 0) {
|
|
3612
|
+
options.compileSheets = loadCompileSheets(workbook, ruleSheetName);
|
|
3613
|
+
}
|
|
3591
3614
|
const result = parseWorkSheetRules(sheet, options);
|
|
3592
3615
|
const errs = compileCheck(result, options);
|
|
3593
3616
|
if (errs !== void 0) {
|
|
@@ -3650,6 +3673,9 @@ var fetchAlias = (m) => {
|
|
|
3650
3673
|
};
|
|
3651
3674
|
var removeUnExportSheets = (w, options) => {
|
|
3652
3675
|
const removes = [];
|
|
3676
|
+
if (typeof options.skipRemoveUnExportSheet === "boolean" && options.skipRemoveUnExportSheet === true) {
|
|
3677
|
+
return w;
|
|
3678
|
+
}
|
|
3653
3679
|
if (options.compileSheets === void 0 || options.compileSheets.length <= 0) {
|
|
3654
3680
|
for (const [i, v] of w.worksheets.entries()) {
|
|
3655
3681
|
const sheetName = v.name;
|
|
@@ -3692,6 +3718,7 @@ ExprResolver.resolveCompileMacroGen = resolveCompileMacroGen;
|
|
|
3692
3718
|
ExprResolver.resolveCompileMacroExpr = resolveCompileMacroExpr;
|
|
3693
3719
|
|
|
3694
3720
|
// src/extends.ts
|
|
3721
|
+
var import_promises = __toESM(require("fs/promises"));
|
|
3695
3722
|
function hasToString(obj) {
|
|
3696
3723
|
return obj != null && typeof obj.toString === "function";
|
|
3697
3724
|
}
|
|
@@ -3961,6 +3988,12 @@ var autoRegisterAlias = function(values, configure) {
|
|
|
3961
3988
|
values[aliasKey] = alias;
|
|
3962
3989
|
return values;
|
|
3963
3990
|
};
|
|
3991
|
+
var saveCompile = async (compileOptions, wb) => {
|
|
3992
|
+
if (typeof compileOptions.save === "boolean" && compileOptions.save === true && typeof compileOptions.saveFile === "string" && compileOptions.saveFile !== "") {
|
|
3993
|
+
const path2 = compileOptions.saveFile;
|
|
3994
|
+
await import_promises.default.writeFile(`${path2}compile_${(/* @__PURE__ */ new Date()).valueOf()}.xlsx`, wb);
|
|
3995
|
+
}
|
|
3996
|
+
};
|
|
3964
3997
|
var generateCommandsXlsxTemplateWithCompile = async function(data, values, compileOptions, options) {
|
|
3965
3998
|
if (compileOptions.sheetName === void 0 || compileOptions.sheetName === "") {
|
|
3966
3999
|
compileOptions.sheetName = compileRuleSheetName;
|
|
@@ -3972,6 +4005,7 @@ var generateCommandsXlsxTemplateWithCompile = async function(data, values, compi
|
|
|
3972
4005
|
values = autoRegisterAlias(values, result.configure);
|
|
3973
4006
|
result.workbook = ExprResolver.removeUnExportSheets(result.workbook, compileOptions);
|
|
3974
4007
|
const wb = await ExprResolver.toBuffer(result.workbook);
|
|
4008
|
+
await saveCompile(compileOptions, wb);
|
|
3975
4009
|
const w = await Workbook.parse(wb, options);
|
|
3976
4010
|
w.setQueryFunctionHandler(commandExtendQuery);
|
|
3977
4011
|
await w.substituteAll(values);
|
|
@@ -4011,6 +4045,7 @@ var generateCommandsXlsxTemplateWithCompile = async function(data, values, compi
|
|
|
4011
4045
|
hasGeneratorToken,
|
|
4012
4046
|
isRuleToken,
|
|
4013
4047
|
isUrl,
|
|
4048
|
+
loadCompileSheets,
|
|
4014
4049
|
loadWorkbook,
|
|
4015
4050
|
mergeMap,
|
|
4016
4051
|
parseWorkSheetRules,
|