@stamhoofd/excel-writer 2.17.0
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/LICENSE +661 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/src/XlsxColumnFilterer.d.ts +11 -0
- package/dist/src/XlsxColumnFilterer.d.ts.map +1 -0
- package/dist/src/XlsxColumnFilterer.js +81 -0
- package/dist/src/XlsxColumnFilterer.js.map +1 -0
- package/dist/src/XlsxTransformer.d.ts +14 -0
- package/dist/src/XlsxTransformer.d.ts.map +1 -0
- package/dist/src/XlsxTransformer.js +59 -0
- package/dist/src/XlsxTransformer.js.map +1 -0
- package/dist/src/exportToExcel.d.ts +8 -0
- package/dist/src/exportToExcel.d.ts.map +1 -0
- package/dist/src/exportToExcel.js +23 -0
- package/dist/src/exportToExcel.js.map +1 -0
- package/dist/src/interfaces.d.ts +160 -0
- package/dist/src/interfaces.d.ts.map +1 -0
- package/dist/src/interfaces.js +101 -0
- package/dist/src/interfaces.js.map +1 -0
- package/dist/src/stream-writer/XlsxAppPropsWriter.d.ts +5 -0
- package/dist/src/stream-writer/XlsxAppPropsWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxAppPropsWriter.js +13 -0
- package/dist/src/stream-writer/XlsxAppPropsWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxContentTypesWriter.d.ts +13 -0
- package/dist/src/stream-writer/XlsxContentTypesWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxContentTypesWriter.js +24 -0
- package/dist/src/stream-writer/XlsxContentTypesWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxCorePropsWriter.d.ts +7 -0
- package/dist/src/stream-writer/XlsxCorePropsWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxCorePropsWriter.js +26 -0
- package/dist/src/stream-writer/XlsxCorePropsWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxFileWriter.d.ts +11 -0
- package/dist/src/stream-writer/XlsxFileWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxFileWriter.js +44 -0
- package/dist/src/stream-writer/XlsxFileWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxRelationsWriter.d.ts +17 -0
- package/dist/src/stream-writer/XlsxRelationsWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxRelationsWriter.js +28 -0
- package/dist/src/stream-writer/XlsxRelationsWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxSharedStringsWriter.d.ts +5 -0
- package/dist/src/stream-writer/XlsxSharedStringsWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxSharedStringsWriter.js +12 -0
- package/dist/src/stream-writer/XlsxSharedStringsWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxSheetWriter.d.ts +30 -0
- package/dist/src/stream-writer/XlsxSheetWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxSheetWriter.js +140 -0
- package/dist/src/stream-writer/XlsxSheetWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxStylesWriter.d.ts +24 -0
- package/dist/src/stream-writer/XlsxStylesWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxStylesWriter.js +159 -0
- package/dist/src/stream-writer/XlsxStylesWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxThemeWriter.d.ts +5 -0
- package/dist/src/stream-writer/XlsxThemeWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxThemeWriter.js +327 -0
- package/dist/src/stream-writer/XlsxThemeWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxWorkbookWriter.d.ts +17 -0
- package/dist/src/stream-writer/XlsxWorkbookWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxWorkbookWriter.js +31 -0
- package/dist/src/stream-writer/XlsxWorkbookWriter.js.map +1 -0
- package/dist/src/stream-writer/XlsxWriter.d.ts +35 -0
- package/dist/src/stream-writer/XlsxWriter.d.ts.map +1 -0
- package/dist/src/stream-writer/XlsxWriter.js +254 -0
- package/dist/src/stream-writer/XlsxWriter.js.map +1 -0
- package/dist/src/stream-writer/adapters/ArchiverWriterAdapter.d.ts +24 -0
- package/dist/src/stream-writer/adapters/ArchiverWriterAdapter.d.ts.map +1 -0
- package/dist/src/stream-writer/adapters/ArchiverWriterAdapter.js +90 -0
- package/dist/src/stream-writer/adapters/ArchiverWriterAdapter.js.map +1 -0
- package/dist/src/stream-writer/adapters/ZipJsWriterAdapter.d.ts +22 -0
- package/dist/src/stream-writer/adapters/ZipJsWriterAdapter.d.ts.map +1 -0
- package/dist/src/stream-writer/adapters/ZipJsWriterAdapter.js +50 -0
- package/dist/src/stream-writer/adapters/ZipJsWriterAdapter.js.map +1 -0
- package/dist/src/stream-writer/escapeXml.d.ts +2 -0
- package/dist/src/stream-writer/escapeXml.d.ts.map +1 -0
- package/dist/src/stream-writer/escapeXml.js +16 -0
- package/dist/src/stream-writer/escapeXml.js.map +1 -0
- package/dist/src/stream-writer/index.d.ts +4 -0
- package/dist/src/stream-writer/index.d.ts.map +1 -0
- package/dist/src/stream-writer/index.js +7 -0
- package/dist/src/stream-writer/index.js.map +1 -0
- package/dist/src/stream-writer/interfaces.d.ts +14 -0
- package/dist/src/stream-writer/interfaces.d.ts.map +1 -0
- package/dist/src/stream-writer/interfaces.js +3 -0
- package/dist/src/stream-writer/interfaces.js.map +1 -0
- package/esm/dist/index.d.ts +4 -0
- package/esm/dist/index.d.ts.map +1 -0
- package/esm/dist/index.js +4 -0
- package/esm/dist/index.js.map +1 -0
- package/esm/dist/src/XlsxColumnFilterer.d.ts +11 -0
- package/esm/dist/src/XlsxColumnFilterer.d.ts.map +1 -0
- package/esm/dist/src/XlsxColumnFilterer.js +77 -0
- package/esm/dist/src/XlsxColumnFilterer.js.map +1 -0
- package/esm/dist/src/XlsxTransformer.d.ts +14 -0
- package/esm/dist/src/XlsxTransformer.d.ts.map +1 -0
- package/esm/dist/src/XlsxTransformer.js +55 -0
- package/esm/dist/src/XlsxTransformer.js.map +1 -0
- package/esm/dist/src/exportToExcel.d.ts +8 -0
- package/esm/dist/src/exportToExcel.d.ts.map +1 -0
- package/esm/dist/src/exportToExcel.js +20 -0
- package/esm/dist/src/exportToExcel.js.map +1 -0
- package/esm/dist/src/interfaces.d.ts +160 -0
- package/esm/dist/src/interfaces.d.ts.map +1 -0
- package/esm/dist/src/interfaces.js +98 -0
- package/esm/dist/src/interfaces.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxAppPropsWriter.d.ts +5 -0
- package/esm/dist/src/stream-writer/XlsxAppPropsWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxAppPropsWriter.js +9 -0
- package/esm/dist/src/stream-writer/XlsxAppPropsWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxContentTypesWriter.d.ts +13 -0
- package/esm/dist/src/stream-writer/XlsxContentTypesWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxContentTypesWriter.js +20 -0
- package/esm/dist/src/stream-writer/XlsxContentTypesWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxCorePropsWriter.d.ts +7 -0
- package/esm/dist/src/stream-writer/XlsxCorePropsWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxCorePropsWriter.js +22 -0
- package/esm/dist/src/stream-writer/XlsxCorePropsWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxFileWriter.d.ts +11 -0
- package/esm/dist/src/stream-writer/XlsxFileWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxFileWriter.js +40 -0
- package/esm/dist/src/stream-writer/XlsxFileWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxRelationsWriter.d.ts +17 -0
- package/esm/dist/src/stream-writer/XlsxRelationsWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxRelationsWriter.js +24 -0
- package/esm/dist/src/stream-writer/XlsxRelationsWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxSharedStringsWriter.d.ts +5 -0
- package/esm/dist/src/stream-writer/XlsxSharedStringsWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxSharedStringsWriter.js +8 -0
- package/esm/dist/src/stream-writer/XlsxSharedStringsWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxSheetWriter.d.ts +30 -0
- package/esm/dist/src/stream-writer/XlsxSheetWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxSheetWriter.js +136 -0
- package/esm/dist/src/stream-writer/XlsxSheetWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxStylesWriter.d.ts +24 -0
- package/esm/dist/src/stream-writer/XlsxStylesWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxStylesWriter.js +155 -0
- package/esm/dist/src/stream-writer/XlsxStylesWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxThemeWriter.d.ts +5 -0
- package/esm/dist/src/stream-writer/XlsxThemeWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxThemeWriter.js +323 -0
- package/esm/dist/src/stream-writer/XlsxThemeWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxWorkbookWriter.d.ts +17 -0
- package/esm/dist/src/stream-writer/XlsxWorkbookWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxWorkbookWriter.js +27 -0
- package/esm/dist/src/stream-writer/XlsxWorkbookWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/XlsxWriter.d.ts +35 -0
- package/esm/dist/src/stream-writer/XlsxWriter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/XlsxWriter.js +250 -0
- package/esm/dist/src/stream-writer/XlsxWriter.js.map +1 -0
- package/esm/dist/src/stream-writer/adapters/ArchiverWriterAdapter.d.ts +24 -0
- package/esm/dist/src/stream-writer/adapters/ArchiverWriterAdapter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/adapters/ArchiverWriterAdapter.js +85 -0
- package/esm/dist/src/stream-writer/adapters/ArchiverWriterAdapter.js.map +1 -0
- package/esm/dist/src/stream-writer/adapters/ZipJsWriterAdapter.d.ts +22 -0
- package/esm/dist/src/stream-writer/adapters/ZipJsWriterAdapter.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/adapters/ZipJsWriterAdapter.js +45 -0
- package/esm/dist/src/stream-writer/adapters/ZipJsWriterAdapter.js.map +1 -0
- package/esm/dist/src/stream-writer/escapeXml.d.ts +2 -0
- package/esm/dist/src/stream-writer/escapeXml.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/escapeXml.js +13 -0
- package/esm/dist/src/stream-writer/escapeXml.js.map +1 -0
- package/esm/dist/src/stream-writer/index.d.ts +4 -0
- package/esm/dist/src/stream-writer/index.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/index.js +4 -0
- package/esm/dist/src/stream-writer/index.js.map +1 -0
- package/esm/dist/src/stream-writer/interfaces.d.ts +14 -0
- package/esm/dist/src/stream-writer/interfaces.d.ts.map +1 -0
- package/esm/dist/src/stream-writer/interfaces.js +2 -0
- package/esm/dist/src/stream-writer/interfaces.js.map +1 -0
- package/package.json +28 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XlsxWriter = void 0;
|
|
4
|
+
const XlsxAppPropsWriter_1 = require("./XlsxAppPropsWriter");
|
|
5
|
+
const XlsxContentTypesWriter_1 = require("./XlsxContentTypesWriter");
|
|
6
|
+
const XlsxCorePropsWriter_1 = require("./XlsxCorePropsWriter");
|
|
7
|
+
const XlsxRelationsWriter_1 = require("./XlsxRelationsWriter");
|
|
8
|
+
const XlsxSharedStringsWriter_1 = require("./XlsxSharedStringsWriter");
|
|
9
|
+
const XlsxSheetWriter_1 = require("./XlsxSheetWriter");
|
|
10
|
+
const XlsxStylesWriter_1 = require("./XlsxStylesWriter");
|
|
11
|
+
const XlsxThemeWriter_1 = require("./XlsxThemeWriter");
|
|
12
|
+
const XlsxWorkbookWriter_1 = require("./XlsxWorkbookWriter");
|
|
13
|
+
class XlsxWriter {
|
|
14
|
+
sheetWriters = new Map();
|
|
15
|
+
styles;
|
|
16
|
+
globalRelations;
|
|
17
|
+
workbookRelations;
|
|
18
|
+
workbook;
|
|
19
|
+
coreProps;
|
|
20
|
+
appProps;
|
|
21
|
+
contentTypes;
|
|
22
|
+
theme;
|
|
23
|
+
sharedStrings;
|
|
24
|
+
// Writes to the zip file
|
|
25
|
+
zipWriter;
|
|
26
|
+
constructor(zipWriter) {
|
|
27
|
+
this.zipWriter = zipWriter;
|
|
28
|
+
this.styles = new XlsxStylesWriter_1.XlsxStylesWriter();
|
|
29
|
+
this.globalRelations = new XlsxRelationsWriter_1.XlsxRelationsWriter();
|
|
30
|
+
this.workbook = new XlsxWorkbookWriter_1.XlsxWorkbookWriter();
|
|
31
|
+
this.workbookRelations = new XlsxRelationsWriter_1.XlsxRelationsWriter();
|
|
32
|
+
this.coreProps = new XlsxCorePropsWriter_1.XlsxCorePropsWriter();
|
|
33
|
+
this.appProps = new XlsxAppPropsWriter_1.XlsxAppPropsWriter();
|
|
34
|
+
this.contentTypes = new XlsxContentTypesWriter_1.XlsxContentTypesWriter();
|
|
35
|
+
this.theme = new XlsxThemeWriter_1.XlsxThemeWriter();
|
|
36
|
+
this.sharedStrings = new XlsxSharedStringsWriter_1.XlsxSharedStringsWriter();
|
|
37
|
+
}
|
|
38
|
+
async init() {
|
|
39
|
+
await this.zipWriter.addDirectory('_rels');
|
|
40
|
+
await this.zipWriter.addDirectory('xl');
|
|
41
|
+
await this.zipWriter.addDirectory('xl/_rels');
|
|
42
|
+
await this.zipWriter.addDirectory('xl/worksheets');
|
|
43
|
+
await this.zipWriter.addDirectory('docProps');
|
|
44
|
+
await this.zipWriter.addDirectory('xl/theme');
|
|
45
|
+
this.styles.writeStream = await this.zipWriter.addFile('xl/styles.xml');
|
|
46
|
+
this.sharedStrings.writeStream = await this.zipWriter.addFile('xl/sharedStrings.xml');
|
|
47
|
+
this.globalRelations.writeStream = await this.zipWriter.addFile('_rels/.rels');
|
|
48
|
+
this.workbook.writeStream = await this.zipWriter.addFile('xl/workbook.xml');
|
|
49
|
+
this.workbookRelations.writeStream = await this.zipWriter.addFile('xl/_rels/workbook.xml.rels');
|
|
50
|
+
this.theme.writeStream = await this.zipWriter.addFile('xl/theme/theme1.xml');
|
|
51
|
+
this.coreProps.writeStream = await this.zipWriter.addFile('docProps/core.xml');
|
|
52
|
+
this.appProps.writeStream = await this.zipWriter.addFile('docProps/app.xml');
|
|
53
|
+
this.contentTypes.writeStream = await this.zipWriter.addFile('[Content_Types].xml');
|
|
54
|
+
await this.globalRelations.addRelation({
|
|
55
|
+
target: 'docProps/app.xml',
|
|
56
|
+
type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'
|
|
57
|
+
});
|
|
58
|
+
await this.contentTypes.addOverride({
|
|
59
|
+
partName: '/docProps/app.xml',
|
|
60
|
+
contentType: 'application/vnd.openxmlformats-officedocument.extended-properties+xml'
|
|
61
|
+
});
|
|
62
|
+
await this.globalRelations.addRelation({
|
|
63
|
+
target: 'docProps/core.xml',
|
|
64
|
+
type: 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'
|
|
65
|
+
});
|
|
66
|
+
await this.contentTypes.addOverride({
|
|
67
|
+
partName: '/docProps/core.xml',
|
|
68
|
+
contentType: 'application/vnd.openxmlformats-package.core-properties+xml'
|
|
69
|
+
});
|
|
70
|
+
await this.globalRelations.addRelation({
|
|
71
|
+
target: 'xl/workbook.xml',
|
|
72
|
+
type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'
|
|
73
|
+
});
|
|
74
|
+
await this.contentTypes.addOverride({
|
|
75
|
+
partName: '/xl/workbook.xml',
|
|
76
|
+
contentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'
|
|
77
|
+
});
|
|
78
|
+
// Wire up styles relation
|
|
79
|
+
await this.workbookRelations.addRelation({
|
|
80
|
+
target: 'styles.xml',
|
|
81
|
+
type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles'
|
|
82
|
+
});
|
|
83
|
+
// Add sheet to content types
|
|
84
|
+
await this.contentTypes.addOverride({
|
|
85
|
+
partName: `/xl/styles.xml`,
|
|
86
|
+
contentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml'
|
|
87
|
+
});
|
|
88
|
+
// Theme relation: todo
|
|
89
|
+
await this.workbookRelations.addRelation({
|
|
90
|
+
target: 'theme/theme1.xml',
|
|
91
|
+
type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme'
|
|
92
|
+
});
|
|
93
|
+
// Add theme to content types: todo
|
|
94
|
+
await this.contentTypes.addOverride({
|
|
95
|
+
partName: `/xl/theme/theme1.xml`,
|
|
96
|
+
contentType: 'application/vnd.openxmlformats-officedocument.theme+xml'
|
|
97
|
+
});
|
|
98
|
+
// Shared strings relation: todo
|
|
99
|
+
await this.workbookRelations.addRelation({
|
|
100
|
+
target: 'sharedStrings.xml',
|
|
101
|
+
type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings'
|
|
102
|
+
});
|
|
103
|
+
// Add shared strings to content types: todo
|
|
104
|
+
await this.contentTypes.addOverride({
|
|
105
|
+
partName: `/xl/sharedStrings.xml`,
|
|
106
|
+
contentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml'
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
async addSheet(name) {
|
|
110
|
+
const sheet = new XlsxSheetWriter_1.XlsxSheetWriter();
|
|
111
|
+
const nameSlug = 'sheet' + (this.sheetWriters.size + 1);
|
|
112
|
+
const path = `worksheets/${nameSlug}.xml`;
|
|
113
|
+
// Write relationship
|
|
114
|
+
const relationId = await this.workbookRelations.addRelation({
|
|
115
|
+
target: path,
|
|
116
|
+
type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet'
|
|
117
|
+
});
|
|
118
|
+
// Add sheet to workbook file
|
|
119
|
+
await this.workbook.addSheet({ name, relationId });
|
|
120
|
+
// Add sheet to content types
|
|
121
|
+
await this.contentTypes.addOverride({
|
|
122
|
+
partName: `/xl/${path}`,
|
|
123
|
+
contentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml'
|
|
124
|
+
});
|
|
125
|
+
sheet.writeStream = await this.zipWriter.addFile(`xl/${path}`);
|
|
126
|
+
sheet.styles = this.styles;
|
|
127
|
+
const symbol = Symbol(name);
|
|
128
|
+
this.sheetWriters.set(symbol, sheet);
|
|
129
|
+
return symbol;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Called when all sheets have been added and all files are ready to be written
|
|
133
|
+
*/
|
|
134
|
+
async ready() {
|
|
135
|
+
await this.init();
|
|
136
|
+
await this.zipWriter.ready?.();
|
|
137
|
+
}
|
|
138
|
+
addRow(sheet, values) {
|
|
139
|
+
const writer = this.sheetWriters.get(sheet);
|
|
140
|
+
if (!writer) {
|
|
141
|
+
throw new Error('Sheet not found');
|
|
142
|
+
}
|
|
143
|
+
return writer.writeRow(values);
|
|
144
|
+
}
|
|
145
|
+
async close() {
|
|
146
|
+
// Close all sheet writers
|
|
147
|
+
for (const writer of this.sheetWriters.values()) {
|
|
148
|
+
await writer.close();
|
|
149
|
+
}
|
|
150
|
+
// Close styles
|
|
151
|
+
await this.styles.close();
|
|
152
|
+
// Close shared strings
|
|
153
|
+
await this.sharedStrings.close();
|
|
154
|
+
// Close workbook
|
|
155
|
+
await this.workbook.close();
|
|
156
|
+
// Close workbook relations
|
|
157
|
+
await this.workbookRelations.close();
|
|
158
|
+
// Close global relations
|
|
159
|
+
await this.globalRelations.close();
|
|
160
|
+
// Close core props
|
|
161
|
+
await this.coreProps.close();
|
|
162
|
+
// Close app props
|
|
163
|
+
await this.appProps.close();
|
|
164
|
+
// Close theme
|
|
165
|
+
await this.theme.close();
|
|
166
|
+
// Close content types
|
|
167
|
+
await this.contentTypes.close();
|
|
168
|
+
// All write streams should be closed now
|
|
169
|
+
await this.zipWriter.close();
|
|
170
|
+
}
|
|
171
|
+
async abort() {
|
|
172
|
+
// Close all sheet writers
|
|
173
|
+
for (const writer of this.sheetWriters.values()) {
|
|
174
|
+
try {
|
|
175
|
+
await writer.abort();
|
|
176
|
+
}
|
|
177
|
+
catch (e) {
|
|
178
|
+
console.error('Error closing sheet writer', e);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Close styles
|
|
182
|
+
try {
|
|
183
|
+
await this.styles.abort();
|
|
184
|
+
}
|
|
185
|
+
catch (e) {
|
|
186
|
+
console.error('Error closing styles', e);
|
|
187
|
+
}
|
|
188
|
+
// Close shared strings
|
|
189
|
+
try {
|
|
190
|
+
await this.sharedStrings.abort();
|
|
191
|
+
}
|
|
192
|
+
catch (e) {
|
|
193
|
+
console.error('Error closing shared strings', e);
|
|
194
|
+
}
|
|
195
|
+
// Close workbook
|
|
196
|
+
try {
|
|
197
|
+
await this.workbook.abort();
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
console.error('Error closing workbook', e);
|
|
201
|
+
}
|
|
202
|
+
// Close workbook relations
|
|
203
|
+
try {
|
|
204
|
+
await this.workbookRelations.abort();
|
|
205
|
+
}
|
|
206
|
+
catch (e) {
|
|
207
|
+
console.error('Error closing workbook relations', e);
|
|
208
|
+
}
|
|
209
|
+
// Close global relations
|
|
210
|
+
try {
|
|
211
|
+
await this.globalRelations.abort();
|
|
212
|
+
}
|
|
213
|
+
catch (e) {
|
|
214
|
+
console.error('Error closing global relations', e);
|
|
215
|
+
}
|
|
216
|
+
// Close core props
|
|
217
|
+
try {
|
|
218
|
+
await this.coreProps.abort();
|
|
219
|
+
}
|
|
220
|
+
catch (e) {
|
|
221
|
+
console.error('Error closing core props', e);
|
|
222
|
+
}
|
|
223
|
+
// Close app props
|
|
224
|
+
try {
|
|
225
|
+
await this.appProps.abort();
|
|
226
|
+
}
|
|
227
|
+
catch (e) {
|
|
228
|
+
console.error('Error closing app props', e);
|
|
229
|
+
}
|
|
230
|
+
// Close theme
|
|
231
|
+
try {
|
|
232
|
+
await this.theme.abort();
|
|
233
|
+
}
|
|
234
|
+
catch (e) {
|
|
235
|
+
console.error('Error closing theme', e);
|
|
236
|
+
}
|
|
237
|
+
// Close content types
|
|
238
|
+
try {
|
|
239
|
+
await this.contentTypes.abort();
|
|
240
|
+
}
|
|
241
|
+
catch (e) {
|
|
242
|
+
console.error('Error closing content types', e);
|
|
243
|
+
}
|
|
244
|
+
// All write streams should be closed now
|
|
245
|
+
try {
|
|
246
|
+
await this.zipWriter.abort();
|
|
247
|
+
}
|
|
248
|
+
catch (e) {
|
|
249
|
+
console.error('Error closing zip writer', e);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
exports.XlsxWriter = XlsxWriter;
|
|
254
|
+
//# sourceMappingURL=XlsxWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XlsxWriter.js","sourceRoot":"","sources":["../../../src/stream-writer/XlsxWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import archiver from 'archiver';
|
|
2
|
+
import { ZipWriterAdapter } from '../interfaces';
|
|
3
|
+
export declare class ArchiverWriterAdapter implements ZipWriterAdapter {
|
|
4
|
+
writer: WritableStream<Buffer>;
|
|
5
|
+
archive: archiver.Archiver;
|
|
6
|
+
finalizePromise: Promise<void> | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* All pending writes we'll need to await
|
|
9
|
+
*/
|
|
10
|
+
pendingFileWrites: Promise<any>[];
|
|
11
|
+
/**
|
|
12
|
+
* @param writer The data of the zip file will be written to this stream
|
|
13
|
+
*/
|
|
14
|
+
constructor(writer: WritableStream<Buffer>);
|
|
15
|
+
addFile(name: string): Promise<WritableStream<Buffer>>;
|
|
16
|
+
addDirectory(name: string): Promise<void>;
|
|
17
|
+
ready(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Note: make sure all writeable streams are closed before calling this
|
|
20
|
+
*/
|
|
21
|
+
close(): Promise<void | undefined>;
|
|
22
|
+
abort(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ArchiverWriterAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArchiverWriterAdapter.d.ts","sourceRoot":"","sources":["../../../../src/stream-writer/adapters/ArchiverWriterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,qBAAa,qBAAsB,YAAW,gBAAgB;IAC1D,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC1B,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAE3C;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAM;IAEvC;;OAEG;gBACS,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;IAwC1C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAqBhD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,KAAK;IAKX;;OAEG;IACG,KAAK;IAIL,KAAK;CAOd"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArchiverWriterAdapter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const archiver_1 = tslib_1.__importDefault(require("archiver"));
|
|
6
|
+
const node_stream_1 = require("node:stream");
|
|
7
|
+
class ArchiverWriterAdapter {
|
|
8
|
+
writer;
|
|
9
|
+
archive;
|
|
10
|
+
finalizePromise;
|
|
11
|
+
/**
|
|
12
|
+
* All pending writes we'll need to await
|
|
13
|
+
*/
|
|
14
|
+
pendingFileWrites = [];
|
|
15
|
+
/**
|
|
16
|
+
* @param writer The data of the zip file will be written to this stream
|
|
17
|
+
*/
|
|
18
|
+
constructor(writer) {
|
|
19
|
+
const output = node_stream_1.Writable.fromWeb(writer);
|
|
20
|
+
output.on('close', () => {
|
|
21
|
+
console.log('Archiver has been finalized and the output file descriptor has closed: ' + this.archive.pointer() + ' total bytes');
|
|
22
|
+
});
|
|
23
|
+
output.on('end', function () {
|
|
24
|
+
console.log('Data has been drained');
|
|
25
|
+
});
|
|
26
|
+
output.on('error', (e) => {
|
|
27
|
+
console.error('Error in output stream', e);
|
|
28
|
+
throw e;
|
|
29
|
+
});
|
|
30
|
+
this.archive = (0, archiver_1.default)('zip', {
|
|
31
|
+
zlib: { level: 9 } // Sets the compression level.
|
|
32
|
+
});
|
|
33
|
+
// good practice to catch warnings (ie stat failures and other non-blocking errors)
|
|
34
|
+
this.archive.on('warning', function (err) {
|
|
35
|
+
if (err.code === 'ENOENT') {
|
|
36
|
+
console.warn(err);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.error(err);
|
|
40
|
+
throw err;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
// good practice to catch this error explicitly
|
|
44
|
+
this.archive.on('error', function (err) {
|
|
45
|
+
console.error('Archiver error', err);
|
|
46
|
+
throw err;
|
|
47
|
+
});
|
|
48
|
+
// pipe archive data to the file
|
|
49
|
+
this.archive.pipe(output);
|
|
50
|
+
}
|
|
51
|
+
addFile(name) {
|
|
52
|
+
// Create a new writeable stream that writes to a reader that we'll pass to zipWriter
|
|
53
|
+
const stream = new node_stream_1.PassThrough({});
|
|
54
|
+
stream.on('end', () => {
|
|
55
|
+
console.log('Finished file', name);
|
|
56
|
+
});
|
|
57
|
+
stream.on('close', () => {
|
|
58
|
+
console.log('Closed file stream', name);
|
|
59
|
+
});
|
|
60
|
+
stream.on('error', (err) => {
|
|
61
|
+
console.error('Error in PassThrough stream', name, err);
|
|
62
|
+
//throw err;
|
|
63
|
+
});
|
|
64
|
+
this.archive.append(stream, { name });
|
|
65
|
+
return Promise.resolve(node_stream_1.Writable.toWeb(stream));
|
|
66
|
+
}
|
|
67
|
+
async addDirectory(name) {
|
|
68
|
+
// Empty directories are not supported by archiver
|
|
69
|
+
// Directories should be created automatically when using addFile in this adapter
|
|
70
|
+
}
|
|
71
|
+
async ready() {
|
|
72
|
+
this.finalizePromise = this.archive.finalize();
|
|
73
|
+
return Promise.resolve();
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Note: make sure all writeable streams are closed before calling this
|
|
77
|
+
*/
|
|
78
|
+
async close() {
|
|
79
|
+
return await this.finalizePromise;
|
|
80
|
+
}
|
|
81
|
+
async abort() {
|
|
82
|
+
if (!this.finalizePromise) {
|
|
83
|
+
this.archive.abort();
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
await this.finalizePromise;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.ArchiverWriterAdapter = ArchiverWriterAdapter;
|
|
90
|
+
//# sourceMappingURL=ArchiverWriterAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArchiverWriterAdapter.js","sourceRoot":"","sources":["../../../../src/stream-writer/adapters/ArchiverWriterAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ZipWriter } from '@zip.js/zip.js';
|
|
2
|
+
import { ZipWriterAdapter } from '../interfaces';
|
|
3
|
+
export declare class ZipJsWriterAdapter implements ZipWriterAdapter {
|
|
4
|
+
writer: WritableStream<Buffer>;
|
|
5
|
+
zipWriter: ZipWriter<Buffer>;
|
|
6
|
+
/**
|
|
7
|
+
* All pending writes we'll need to await
|
|
8
|
+
*/
|
|
9
|
+
pendingFileWrites: Promise<any>[];
|
|
10
|
+
/**
|
|
11
|
+
* @param writer The data of the zip file will be written to this stream
|
|
12
|
+
*/
|
|
13
|
+
constructor(writer: WritableStream<Buffer>);
|
|
14
|
+
addFile(name: string): Promise<WritableStream<Buffer>>;
|
|
15
|
+
addDirectory(name: string): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Note: make sure all writeable streams are closed before calling this
|
|
18
|
+
*/
|
|
19
|
+
close(): Promise<void>;
|
|
20
|
+
abort(): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ZipJsWriterAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZipJsWriterAdapter.d.ts","sourceRoot":"","sources":["../../../../src/stream-writer/adapters/ZipJsWriterAdapter.ts"],"names":[],"mappings":"AAAA,OAAY,EACR,SAAS,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,kBAAmB,YAAW,gBAAgB;IACvD,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAM;IAEvC;;OAEG;gBACS,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;IAM1C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAoBhD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,KAAK;IAQL,KAAK;CAGd"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZipJsWriterAdapter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const zip_js_1 = tslib_1.__importStar(require("@zip.js/zip.js"));
|
|
6
|
+
class ZipJsWriterAdapter {
|
|
7
|
+
writer;
|
|
8
|
+
zipWriter;
|
|
9
|
+
/**
|
|
10
|
+
* All pending writes we'll need to await
|
|
11
|
+
*/
|
|
12
|
+
pendingFileWrites = [];
|
|
13
|
+
/**
|
|
14
|
+
* @param writer The data of the zip file will be written to this stream
|
|
15
|
+
*/
|
|
16
|
+
constructor(writer) {
|
|
17
|
+
this.writer = writer;
|
|
18
|
+
zip_js_1.default.configure({ chunkSize: 128 });
|
|
19
|
+
this.zipWriter = new zip_js_1.ZipWriter(writer, { bufferedWrite: true });
|
|
20
|
+
}
|
|
21
|
+
addFile(name) {
|
|
22
|
+
// Create a new writeable stream that writes to a reader that we'll pass to zipWriter
|
|
23
|
+
const stream = new TransformStream(undefined, new CountQueuingStrategy({ highWaterMark: 100 }), new CountQueuingStrategy({ highWaterMark: 10000 }));
|
|
24
|
+
this.pendingFileWrites.push(this.zipWriter.add(name, { readable: stream.readable, size: 10000 }).then(() => {
|
|
25
|
+
console.log('Finished file', name);
|
|
26
|
+
}).catch((e) => {
|
|
27
|
+
console.error('Error writing file', name, e);
|
|
28
|
+
})
|
|
29
|
+
//stream.readable.pipeTo(this.writer)
|
|
30
|
+
);
|
|
31
|
+
return Promise.resolve(stream.writable);
|
|
32
|
+
}
|
|
33
|
+
async addDirectory(name) {
|
|
34
|
+
await this.zipWriter.add(name, undefined, { directory: true });
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Note: make sure all writeable streams are closed before calling this
|
|
38
|
+
*/
|
|
39
|
+
async close() {
|
|
40
|
+
console.log('Awaiting pending file writes');
|
|
41
|
+
await Promise.all(this.pendingFileWrites);
|
|
42
|
+
console.log('Closing zip writer');
|
|
43
|
+
await this.zipWriter.close();
|
|
44
|
+
}
|
|
45
|
+
async abort() {
|
|
46
|
+
await this.zipWriter.close();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.ZipJsWriterAdapter = ZipJsWriterAdapter;
|
|
50
|
+
//# sourceMappingURL=ZipJsWriterAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZipJsWriterAdapter.js","sourceRoot":"","sources":["../../../../src/stream-writer/adapters/ZipJsWriterAdapter.ts"],"names":[],"mappings":";;;;AAAA,iEAEwB;AAGxB,MAAa,kBAAkB;IAC3B,MAAM,CAAyB;IAC/B,SAAS,CAAoB;IAE7B;;OAEG;IACH,iBAAiB,GAAmB,EAAE,CAAC;IAEvC;;OAEG;IACH,YAAY,MAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,gBAAG,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC,MAAM,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,IAAY;QAChB,qFAAqF;QACrF,MAAM,MAAM,GAAG,IAAI,eAAe,CAC9B,SAAS,EACT,IAAI,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAChD,IAAI,oBAAoB,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CACrD,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACzE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC;QACF,qCAAqC;SACxC,CAAA;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACJ;AAxDD,gDAwDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escapeXml.d.ts","sourceRoot":"","sources":["../../../src/stream-writer/escapeXml.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW7C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeXml = escapeXml;
|
|
4
|
+
function escapeXml(str) {
|
|
5
|
+
// " "
|
|
6
|
+
// ' '
|
|
7
|
+
// < <
|
|
8
|
+
// > >
|
|
9
|
+
// & &
|
|
10
|
+
return str.replace(/&/g, '&')
|
|
11
|
+
.replace(/</g, '<')
|
|
12
|
+
.replace(/>/g, '>')
|
|
13
|
+
.replace(/'/g, ''')
|
|
14
|
+
.replace(/"/g, '"');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=escapeXml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escapeXml.js","sourceRoot":"","sources":["../../../src/stream-writer/escapeXml.ts"],"names":[],"mappings":";;AAAA,8BAWC;AAXD,SAAgB,SAAS,CAAC,GAAW;IACjC,aAAa;IACb,aAAa;IACb,WAAW;IACX,WAAW;IACX,YAAY;IACZ,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/stream-writer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./XlsxWriter"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./adapters/ZipJsWriterAdapter"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./adapters/ArchiverWriterAdapter"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stream-writer/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,wEAA6C;AAC7C,2EAAgD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Allows to use different zip libraries
|
|
3
|
+
*/
|
|
4
|
+
export interface ZipWriterAdapter {
|
|
5
|
+
addFile(name: string): Promise<WritableStream<Buffer>>;
|
|
6
|
+
addDirectory(name: string): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Called when all files have added (streams still in progress)
|
|
9
|
+
*/
|
|
10
|
+
ready?(): Promise<void>;
|
|
11
|
+
close(): Promise<void>;
|
|
12
|
+
abort(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/stream-writer/interfaces.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzC;;OAEG;IACH,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/stream-writer/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XlsxTransformerConcreteSheet, XlsxTransformerSheet, XlsxWorkbookFilter } from "./interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Allows to specify which columns to include in the excel file.
|
|
4
|
+
* Takes a filter object that can be built in the frontend
|
|
5
|
+
*/
|
|
6
|
+
export declare class XlsxColumnFilterer<T> {
|
|
7
|
+
allSheets: XlsxTransformerSheet<T, unknown>[];
|
|
8
|
+
constructor(allSheets: XlsxTransformerSheet<T, unknown>[]);
|
|
9
|
+
filterColumns(filter: XlsxWorkbookFilter): XlsxTransformerConcreteSheet<T, unknown>[];
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=XlsxColumnFilterer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XlsxColumnFilterer.d.ts","sourceRoot":"","sources":["../../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,4BAA4B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGrI;;;GAGG;AACH,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBAElC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;IAIzD,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;CAwExF"}
|