@vdhewei/xlsx-template-lib 1.2.4 → 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 +40 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +39 -4
- 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,6 +3570,25 @@ 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);
|
|
@@ -3587,6 +3607,10 @@ var compile = async function(data, ruleSheetName, options) {
|
|
|
3587
3607
|
const excludes = [ruleSheetName];
|
|
3588
3608
|
options = RuleMapOptions.withAllSheets(workbook, excludes);
|
|
3589
3609
|
}
|
|
3610
|
+
options = options.parseDefault(sheet);
|
|
3611
|
+
if (options.compileSheets === void 0 || options.compileSheets.length === 0) {
|
|
3612
|
+
options.compileSheets = loadCompileSheets(workbook, ruleSheetName);
|
|
3613
|
+
}
|
|
3590
3614
|
const result = parseWorkSheetRules(sheet, options);
|
|
3591
3615
|
const errs = compileCheck(result, options);
|
|
3592
3616
|
if (errs !== void 0) {
|
|
@@ -3649,6 +3673,9 @@ var fetchAlias = (m) => {
|
|
|
3649
3673
|
};
|
|
3650
3674
|
var removeUnExportSheets = (w, options) => {
|
|
3651
3675
|
const removes = [];
|
|
3676
|
+
if (typeof options.skipRemoveUnExportSheet === "boolean" && options.skipRemoveUnExportSheet === true) {
|
|
3677
|
+
return w;
|
|
3678
|
+
}
|
|
3652
3679
|
if (options.compileSheets === void 0 || options.compileSheets.length <= 0) {
|
|
3653
3680
|
for (const [i, v] of w.worksheets.entries()) {
|
|
3654
3681
|
const sheetName = v.name;
|
|
@@ -3691,6 +3718,7 @@ ExprResolver.resolveCompileMacroGen = resolveCompileMacroGen;
|
|
|
3691
3718
|
ExprResolver.resolveCompileMacroExpr = resolveCompileMacroExpr;
|
|
3692
3719
|
|
|
3693
3720
|
// src/extends.ts
|
|
3721
|
+
var import_promises = __toESM(require("fs/promises"));
|
|
3694
3722
|
function hasToString(obj) {
|
|
3695
3723
|
return obj != null && typeof obj.toString === "function";
|
|
3696
3724
|
}
|
|
@@ -3960,6 +3988,12 @@ var autoRegisterAlias = function(values, configure) {
|
|
|
3960
3988
|
values[aliasKey] = alias;
|
|
3961
3989
|
return values;
|
|
3962
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
|
+
};
|
|
3963
3997
|
var generateCommandsXlsxTemplateWithCompile = async function(data, values, compileOptions, options) {
|
|
3964
3998
|
if (compileOptions.sheetName === void 0 || compileOptions.sheetName === "") {
|
|
3965
3999
|
compileOptions.sheetName = compileRuleSheetName;
|
|
@@ -3971,6 +4005,7 @@ var generateCommandsXlsxTemplateWithCompile = async function(data, values, compi
|
|
|
3971
4005
|
values = autoRegisterAlias(values, result.configure);
|
|
3972
4006
|
result.workbook = ExprResolver.removeUnExportSheets(result.workbook, compileOptions);
|
|
3973
4007
|
const wb = await ExprResolver.toBuffer(result.workbook);
|
|
4008
|
+
await saveCompile(compileOptions, wb);
|
|
3974
4009
|
const w = await Workbook.parse(wb, options);
|
|
3975
4010
|
w.setQueryFunctionHandler(commandExtendQuery);
|
|
3976
4011
|
await w.substituteAll(values);
|
|
@@ -4010,6 +4045,7 @@ var generateCommandsXlsxTemplateWithCompile = async function(data, values, compi
|
|
|
4010
4045
|
hasGeneratorToken,
|
|
4011
4046
|
isRuleToken,
|
|
4012
4047
|
isUrl,
|
|
4048
|
+
loadCompileSheets,
|
|
4013
4049
|
loadWorkbook,
|
|
4014
4050
|
mergeMap,
|
|
4015
4051
|
parseWorkSheetRules,
|