docxmlater 0.1.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 +21 -0
- package/README.md +624 -0
- package/dist/core/Document.d.ts +215 -0
- package/dist/core/Document.d.ts.map +1 -0
- package/dist/core/Document.js +980 -0
- package/dist/core/Document.js.map +1 -0
- package/dist/core/Relationship.d.ts +42 -0
- package/dist/core/Relationship.d.ts.map +1 -0
- package/dist/core/Relationship.js +115 -0
- package/dist/core/Relationship.js.map +1 -0
- package/dist/core/RelationshipManager.d.ts +28 -0
- package/dist/core/RelationshipManager.d.ts.map +1 -0
- package/dist/core/RelationshipManager.js +126 -0
- package/dist/core/RelationshipManager.js.map +1 -0
- package/dist/elements/Bookmark.d.ts +22 -0
- package/dist/elements/Bookmark.d.ts.map +1 -0
- package/dist/elements/Bookmark.js +75 -0
- package/dist/elements/Bookmark.js.map +1 -0
- package/dist/elements/BookmarkManager.d.ts +22 -0
- package/dist/elements/BookmarkManager.d.ts.map +1 -0
- package/dist/elements/BookmarkManager.js +76 -0
- package/dist/elements/BookmarkManager.js.map +1 -0
- package/dist/elements/Comment.d.ts +42 -0
- package/dist/elements/Comment.d.ts.map +1 -0
- package/dist/elements/Comment.js +156 -0
- package/dist/elements/Comment.js.map +1 -0
- package/dist/elements/CommentManager.d.ts +40 -0
- package/dist/elements/CommentManager.d.ts.map +1 -0
- package/dist/elements/CommentManager.js +177 -0
- package/dist/elements/CommentManager.js.map +1 -0
- package/dist/elements/Field.d.ts +36 -0
- package/dist/elements/Field.d.ts.map +1 -0
- package/dist/elements/Field.js +216 -0
- package/dist/elements/Field.js.map +1 -0
- package/dist/elements/Footer.d.ts +32 -0
- package/dist/elements/Footer.d.ts.map +1 -0
- package/dist/elements/Footer.js +125 -0
- package/dist/elements/Footer.js.map +1 -0
- package/dist/elements/Header.d.ts +32 -0
- package/dist/elements/Header.d.ts.map +1 -0
- package/dist/elements/Header.js +125 -0
- package/dist/elements/Header.js.map +1 -0
- package/dist/elements/HeaderFooterManager.d.ts +37 -0
- package/dist/elements/HeaderFooterManager.d.ts.map +1 -0
- package/dist/elements/HeaderFooterManager.js +87 -0
- package/dist/elements/HeaderFooterManager.js.map +1 -0
- package/dist/elements/Hyperlink.d.ts +39 -0
- package/dist/elements/Hyperlink.d.ts.map +1 -0
- package/dist/elements/Hyperlink.js +107 -0
- package/dist/elements/Hyperlink.js.map +1 -0
- package/dist/elements/Image.d.ts +48 -0
- package/dist/elements/Image.d.ts.map +1 -0
- package/dist/elements/Image.js +431 -0
- package/dist/elements/Image.js.map +1 -0
- package/dist/elements/ImageManager.d.ts +33 -0
- package/dist/elements/ImageManager.d.ts.map +1 -0
- package/dist/elements/ImageManager.js +109 -0
- package/dist/elements/ImageManager.js.map +1 -0
- package/dist/elements/Paragraph.d.ts +82 -0
- package/dist/elements/Paragraph.d.ts.map +1 -0
- package/dist/elements/Paragraph.js +272 -0
- package/dist/elements/Paragraph.js.map +1 -0
- package/dist/elements/Revision.d.ts +34 -0
- package/dist/elements/Revision.d.ts.map +1 -0
- package/dist/elements/Revision.js +115 -0
- package/dist/elements/Revision.js.map +1 -0
- package/dist/elements/RevisionManager.d.ts +31 -0
- package/dist/elements/RevisionManager.d.ts.map +1 -0
- package/dist/elements/RevisionManager.js +96 -0
- package/dist/elements/RevisionManager.js.map +1 -0
- package/dist/elements/Run.d.ts +39 -0
- package/dist/elements/Run.d.ts.map +1 -0
- package/dist/elements/Run.js +140 -0
- package/dist/elements/Run.js.map +1 -0
- package/dist/elements/Section.d.ts +65 -0
- package/dist/elements/Section.d.ts.map +1 -0
- package/dist/elements/Section.js +232 -0
- package/dist/elements/Section.js.map +1 -0
- package/dist/elements/Table.d.ts +49 -0
- package/dist/elements/Table.d.ts.map +1 -0
- package/dist/elements/Table.js +159 -0
- package/dist/elements/Table.js.map +1 -0
- package/dist/elements/TableCell.d.ts +46 -0
- package/dist/elements/TableCell.d.ts.map +1 -0
- package/dist/elements/TableCell.js +128 -0
- package/dist/elements/TableCell.js.map +1 -0
- package/dist/elements/TableOfContents.d.ts +36 -0
- package/dist/elements/TableOfContents.d.ts.map +1 -0
- package/dist/elements/TableOfContents.js +197 -0
- package/dist/elements/TableOfContents.js.map +1 -0
- package/dist/elements/TableOfContentsElement.d.ts +14 -0
- package/dist/elements/TableOfContentsElement.d.ts.map +1 -0
- package/dist/elements/TableOfContentsElement.js +32 -0
- package/dist/elements/TableOfContentsElement.js.map +1 -0
- package/dist/elements/TableRow.d.ts +25 -0
- package/dist/elements/TableRow.d.ts.map +1 -0
- package/dist/elements/TableRow.js +84 -0
- package/dist/elements/TableRow.js.map +1 -0
- package/dist/formatting/AbstractNumbering.d.ts +31 -0
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -0
- package/dist/formatting/AbstractNumbering.js +132 -0
- package/dist/formatting/AbstractNumbering.js.map +1 -0
- package/dist/formatting/NumberingInstance.d.ts +16 -0
- package/dist/formatting/NumberingInstance.d.ts.map +1 -0
- package/dist/formatting/NumberingInstance.js +35 -0
- package/dist/formatting/NumberingInstance.js.map +1 -0
- package/dist/formatting/NumberingLevel.d.ts +37 -0
- package/dist/formatting/NumberingLevel.d.ts.map +1 -0
- package/dist/formatting/NumberingLevel.js +164 -0
- package/dist/formatting/NumberingLevel.js.map +1 -0
- package/dist/formatting/NumberingManager.d.ts +33 -0
- package/dist/formatting/NumberingManager.d.ts.map +1 -0
- package/dist/formatting/NumberingManager.js +162 -0
- package/dist/formatting/NumberingManager.js.map +1 -0
- package/dist/formatting/Style.d.ts +38 -0
- package/dist/formatting/Style.d.ts.map +1 -0
- package/dist/formatting/Style.js +298 -0
- package/dist/formatting/Style.js.map +1 -0
- package/dist/formatting/StylesManager.d.ts +30 -0
- package/dist/formatting/StylesManager.d.ts.map +1 -0
- package/dist/formatting/StylesManager.js +165 -0
- package/dist/formatting/StylesManager.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +135 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/units.d.ts +89 -0
- package/dist/utils/units.d.ts.map +1 -0
- package/dist/utils/units.js +176 -0
- package/dist/utils/units.js.map +1 -0
- package/dist/utils/validation.d.ts +16 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +151 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/xml/XMLBuilder.d.ts +24 -0
- package/dist/xml/XMLBuilder.d.ts.map +1 -0
- package/dist/xml/XMLBuilder.js +126 -0
- package/dist/xml/XMLBuilder.js.map +1 -0
- package/dist/xml/XMLParser.d.ts +10 -0
- package/dist/xml/XMLParser.d.ts.map +1 -0
- package/dist/xml/XMLParser.js +120 -0
- package/dist/xml/XMLParser.js.map +1 -0
- package/dist/zip/ZipHandler.d.ts +50 -0
- package/dist/zip/ZipHandler.d.ts.map +1 -0
- package/dist/zip/ZipHandler.js +307 -0
- package/dist/zip/ZipHandler.js.map +1 -0
- package/dist/zip/ZipReader.d.ts +21 -0
- package/dist/zip/ZipReader.d.ts.map +1 -0
- package/dist/zip/ZipReader.js +152 -0
- package/dist/zip/ZipReader.js.map +1 -0
- package/dist/zip/ZipWriter.d.ts +20 -0
- package/dist/zip/ZipWriter.d.ts.map +1 -0
- package/dist/zip/ZipWriter.js +118 -0
- package/dist/zip/ZipWriter.js.map +1 -0
- package/dist/zip/errors.d.ts +19 -0
- package/dist/zip/errors.d.ts.map +1 -0
- package/dist/zip/errors.js +52 -0
- package/dist/zip/errors.js.map +1 -0
- package/dist/zip/types.d.ts +37 -0
- package/dist/zip/types.d.ts.map +1 -0
- package/dist/zip/types.js +23 -0
- package/dist/zip/types.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/utils/units.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function validateDocxStructure(filePaths: string[]): void;
|
|
2
|
+
export declare function isBinaryFile(filePath: string): boolean;
|
|
3
|
+
export declare function normalizePath(path: string): string;
|
|
4
|
+
export declare function isValidZipBuffer(buffer: Buffer): boolean;
|
|
5
|
+
export declare function isTextContent(content: Buffer | string): boolean;
|
|
6
|
+
export declare function validateTwips(value: number, fieldName?: string): void;
|
|
7
|
+
export declare function validateColor(color: string, fieldName?: string): void;
|
|
8
|
+
export declare const validateHexColor: typeof validateColor;
|
|
9
|
+
export declare function validateNumberingId(numId: number, fieldName?: string): void;
|
|
10
|
+
export declare function validateLevel(level: number, fieldName?: string, maxLevel?: number): void;
|
|
11
|
+
export declare function validateAlignment(alignment: string, allowed: readonly string[], fieldName?: string): void;
|
|
12
|
+
export declare function validateFontSize(size: number, fieldName?: string): void;
|
|
13
|
+
export declare function validateNonEmptyString(value: string, fieldName?: string): void;
|
|
14
|
+
export declare function validatePercentage(value: number, fieldName?: string): void;
|
|
15
|
+
export declare function validateEmus(value: number, fieldName?: string): void;
|
|
16
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAYA,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAQ/D;AAOD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQtD;AAQD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAWxD;AAOD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAa/D;AAUD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAgB,GAAG,IAAI,CAc9E;AASD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAgB,GAAG,IAAI,CAa9E;AAKD,eAAO,MAAM,gBAAgB,sBAAgB,CAAC;AAQ9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAuB,GAAG,IAAI,CAc3F;AASD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAAgB,EAC3B,QAAQ,GAAE,MAAU,GACnB,IAAI,CAQN;AASD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,GAAE,MAAoB,GAC9B,IAAI,CAUN;AASD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAoB,GAAG,IAAI,CAkBpF;AAQD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAgB,GAAG,IAAI,CAQvF;AAQD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAqB,GAAG,IAAI,CAQxF;AAUD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,IAAI,CAoB5E"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateHexColor = void 0;
|
|
4
|
+
exports.validateDocxStructure = validateDocxStructure;
|
|
5
|
+
exports.isBinaryFile = isBinaryFile;
|
|
6
|
+
exports.normalizePath = normalizePath;
|
|
7
|
+
exports.isValidZipBuffer = isValidZipBuffer;
|
|
8
|
+
exports.isTextContent = isTextContent;
|
|
9
|
+
exports.validateTwips = validateTwips;
|
|
10
|
+
exports.validateColor = validateColor;
|
|
11
|
+
exports.validateNumberingId = validateNumberingId;
|
|
12
|
+
exports.validateLevel = validateLevel;
|
|
13
|
+
exports.validateAlignment = validateAlignment;
|
|
14
|
+
exports.validateFontSize = validateFontSize;
|
|
15
|
+
exports.validateNonEmptyString = validateNonEmptyString;
|
|
16
|
+
exports.validatePercentage = validatePercentage;
|
|
17
|
+
exports.validateEmus = validateEmus;
|
|
18
|
+
const types_1 = require("../zip/types");
|
|
19
|
+
const errors_1 = require("../zip/errors");
|
|
20
|
+
function validateDocxStructure(filePaths) {
|
|
21
|
+
const fileSet = new Set(filePaths);
|
|
22
|
+
for (const requiredFile of types_1.REQUIRED_DOCX_FILES) {
|
|
23
|
+
if (!fileSet.has(requiredFile)) {
|
|
24
|
+
throw new errors_1.MissingRequiredFileError(requiredFile);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function isBinaryFile(filePath) {
|
|
29
|
+
const binaryExtensions = [
|
|
30
|
+
'.png', '.jpg', '.jpeg', '.gif', '.bmp', '.tiff', '.ico',
|
|
31
|
+
'.emf', '.wmf', '.bin', '.dat', '.ttf', '.otf', '.woff',
|
|
32
|
+
];
|
|
33
|
+
const extension = filePath.substring(filePath.lastIndexOf('.')).toLowerCase();
|
|
34
|
+
return binaryExtensions.includes(extension);
|
|
35
|
+
}
|
|
36
|
+
function normalizePath(path) {
|
|
37
|
+
return path.replace(/\\/g, '/').replace(/^\/+/, '');
|
|
38
|
+
}
|
|
39
|
+
function isValidZipBuffer(buffer) {
|
|
40
|
+
if (buffer.length < 4) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return ((buffer[0] === 0x50 && buffer[1] === 0x4B) &&
|
|
44
|
+
((buffer[2] === 0x03 && buffer[3] === 0x04) ||
|
|
45
|
+
(buffer[2] === 0x05 && buffer[3] === 0x06)));
|
|
46
|
+
}
|
|
47
|
+
function isTextContent(content) {
|
|
48
|
+
if (typeof content === 'string') {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const text = content.toString('utf8');
|
|
53
|
+
return !text.includes('\0');
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function validateTwips(value, fieldName = 'value') {
|
|
60
|
+
if (!Number.isFinite(value)) {
|
|
61
|
+
throw new Error(`${fieldName} must be a finite number, got ${value}`);
|
|
62
|
+
}
|
|
63
|
+
const MIN_TWIPS = -31680;
|
|
64
|
+
const MAX_TWIPS = 31680;
|
|
65
|
+
if (value < MIN_TWIPS || value > MAX_TWIPS) {
|
|
66
|
+
throw new Error(`${fieldName} out of range: ${value} twips (allowed: ${MIN_TWIPS} to ${MAX_TWIPS}, ±22 inches)`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function validateColor(color, fieldName = 'color') {
|
|
70
|
+
if (typeof color !== 'string') {
|
|
71
|
+
throw new Error(`${fieldName} must be a string, got ${typeof color}`);
|
|
72
|
+
}
|
|
73
|
+
const cleanColor = color.startsWith('#') ? color.substring(1) : color;
|
|
74
|
+
if (!/^[0-9A-Fa-f]{6}$/.test(cleanColor)) {
|
|
75
|
+
throw new Error(`${fieldName} must be a 6-digit hex color (e.g., 'FF0000' or '#FF0000'), got '${color}'`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.validateHexColor = validateColor;
|
|
79
|
+
function validateNumberingId(numId, fieldName = 'numbering ID') {
|
|
80
|
+
if (!Number.isInteger(numId)) {
|
|
81
|
+
throw new Error(`${fieldName} must be an integer, got ${numId}`);
|
|
82
|
+
}
|
|
83
|
+
if (numId < 0) {
|
|
84
|
+
throw new Error(`${fieldName} must be non-negative, got ${numId}`);
|
|
85
|
+
}
|
|
86
|
+
const MAX_NUM_ID = 2147483647;
|
|
87
|
+
if (numId > MAX_NUM_ID) {
|
|
88
|
+
throw new Error(`${fieldName} exceeds maximum value ${MAX_NUM_ID}, got ${numId}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function validateLevel(level, fieldName = 'level', maxLevel = 8) {
|
|
92
|
+
if (!Number.isInteger(level)) {
|
|
93
|
+
throw new Error(`${fieldName} must be an integer, got ${level}`);
|
|
94
|
+
}
|
|
95
|
+
if (level < 0 || level > maxLevel) {
|
|
96
|
+
throw new Error(`${fieldName} must be between 0 and ${maxLevel}, got ${level}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function validateAlignment(alignment, allowed, fieldName = 'alignment') {
|
|
100
|
+
if (typeof alignment !== 'string') {
|
|
101
|
+
throw new Error(`${fieldName} must be a string, got ${typeof alignment}`);
|
|
102
|
+
}
|
|
103
|
+
if (!allowed.includes(alignment)) {
|
|
104
|
+
throw new Error(`Invalid ${fieldName}: '${alignment}' (allowed: ${allowed.join(', ')})`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function validateFontSize(size, fieldName = 'font size') {
|
|
108
|
+
if (!Number.isFinite(size)) {
|
|
109
|
+
throw new Error(`${fieldName} must be a finite number, got ${size}`);
|
|
110
|
+
}
|
|
111
|
+
if (!Number.isInteger(size)) {
|
|
112
|
+
throw new Error(`${fieldName} must be an integer (in half-points), got ${size}`);
|
|
113
|
+
}
|
|
114
|
+
const MIN_SIZE = 2;
|
|
115
|
+
const MAX_SIZE = 1638;
|
|
116
|
+
if (size < MIN_SIZE || size > MAX_SIZE) {
|
|
117
|
+
throw new Error(`${fieldName} out of range: ${size} half-points (allowed: ${MIN_SIZE}-${MAX_SIZE}, or ${MIN_SIZE / 2}-${MAX_SIZE / 2} points)`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function validateNonEmptyString(value, fieldName = 'value') {
|
|
121
|
+
if (typeof value !== 'string') {
|
|
122
|
+
throw new Error(`${fieldName} must be a string, got ${typeof value}`);
|
|
123
|
+
}
|
|
124
|
+
if (value.trim().length === 0) {
|
|
125
|
+
throw new Error(`${fieldName} cannot be empty`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function validatePercentage(value, fieldName = 'percentage') {
|
|
129
|
+
if (!Number.isFinite(value)) {
|
|
130
|
+
throw new Error(`${fieldName} must be a finite number, got ${value}`);
|
|
131
|
+
}
|
|
132
|
+
if (value < 0 || value > 100) {
|
|
133
|
+
throw new Error(`${fieldName} must be between 0 and 100, got ${value}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function validateEmus(value, fieldName = 'EMUs') {
|
|
137
|
+
if (!Number.isFinite(value)) {
|
|
138
|
+
throw new Error(`${fieldName} must be a finite number, got ${value}`);
|
|
139
|
+
}
|
|
140
|
+
if (!Number.isInteger(value)) {
|
|
141
|
+
throw new Error(`${fieldName} must be an integer, got ${value}`);
|
|
142
|
+
}
|
|
143
|
+
if (value < 0) {
|
|
144
|
+
throw new Error(`${fieldName} must be non-negative, got ${value}`);
|
|
145
|
+
}
|
|
146
|
+
const MAX_EMUS = 50000000;
|
|
147
|
+
if (value > MAX_EMUS) {
|
|
148
|
+
throw new Error(`${fieldName} exceeds maximum ${MAX_EMUS} (about 55 inches), got ${value}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface XMLElement {
|
|
2
|
+
name: string;
|
|
3
|
+
attributes?: Record<string, string | number | boolean | undefined>;
|
|
4
|
+
children?: (XMLElement | string)[];
|
|
5
|
+
selfClosing?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class XMLBuilder {
|
|
8
|
+
private elements;
|
|
9
|
+
element(name: string, attributes?: Record<string, string | number | boolean | undefined>, children?: (XMLElement | string)[]): XMLBuilder;
|
|
10
|
+
selfClosingElement(name: string, attributes?: Record<string, string | number | boolean | undefined>): XMLBuilder;
|
|
11
|
+
text(text: string): XMLBuilder;
|
|
12
|
+
build(includeDeclaration?: boolean): string;
|
|
13
|
+
private elementsToString;
|
|
14
|
+
private elementToString;
|
|
15
|
+
private escapeXml;
|
|
16
|
+
static escapeXmlText(text: string): string;
|
|
17
|
+
static escapeXmlAttribute(value: string): string;
|
|
18
|
+
static unescapeXml(text: string): string;
|
|
19
|
+
static createNamespaces(): Record<string, string>;
|
|
20
|
+
static w(name: string, attributes?: Record<string, string | number | boolean | undefined>, children?: (XMLElement | string)[]): XMLElement;
|
|
21
|
+
static wSelf(name: string, attributes?: Record<string, string | number | boolean | undefined>): XMLElement;
|
|
22
|
+
static createDocument(bodyContent: XMLElement[]): string;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=XMLBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XMLBuilder.d.ts","sourceRoot":"","sources":["../../src/xml/XMLBuilder.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAKD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAA+B;IAS/C,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAClE,QAAQ,CAAC,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GACjC,UAAU;IAeb,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GACjE,UAAU;IAcb,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAU9B,KAAK,CAAC,kBAAkB,UAAQ,GAAG,MAAM;IAczC,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,SAAS;IAYjB,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAa1C,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAchD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAYxC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBjD,MAAM,CAAC,CAAC,CACN,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAClE,QAAQ,CAAC,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GACjC,UAAU;IAcb,MAAM,CAAC,KAAK,CACV,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GACjE,UAAU;IAab,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM;CASzD"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XMLBuilder = void 0;
|
|
4
|
+
class XMLBuilder {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.elements = [];
|
|
7
|
+
}
|
|
8
|
+
element(name, attributes, children) {
|
|
9
|
+
this.elements.push({
|
|
10
|
+
name,
|
|
11
|
+
attributes,
|
|
12
|
+
children,
|
|
13
|
+
});
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
selfClosingElement(name, attributes) {
|
|
17
|
+
this.elements.push({
|
|
18
|
+
name,
|
|
19
|
+
attributes,
|
|
20
|
+
selfClosing: true,
|
|
21
|
+
});
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
text(text) {
|
|
25
|
+
this.elements.push(text);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
build(includeDeclaration = false) {
|
|
29
|
+
let xml = '';
|
|
30
|
+
if (includeDeclaration) {
|
|
31
|
+
xml += '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n';
|
|
32
|
+
}
|
|
33
|
+
xml += this.elementsToString(this.elements);
|
|
34
|
+
return xml;
|
|
35
|
+
}
|
|
36
|
+
elementsToString(elements) {
|
|
37
|
+
let xml = '';
|
|
38
|
+
for (const element of elements) {
|
|
39
|
+
if (typeof element === 'string') {
|
|
40
|
+
xml += this.escapeXml(element);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
xml += this.elementToString(element);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return xml;
|
|
47
|
+
}
|
|
48
|
+
elementToString(element) {
|
|
49
|
+
let xml = `<${element.name}`;
|
|
50
|
+
if (element.attributes) {
|
|
51
|
+
for (const [key, value] of Object.entries(element.attributes)) {
|
|
52
|
+
if (value !== undefined && value !== null && value !== false) {
|
|
53
|
+
const attrValue = value === true ? key : String(value);
|
|
54
|
+
xml += ` ${key}="${this.escapeXml(attrValue)}"`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (element.selfClosing) {
|
|
59
|
+
xml += '/>';
|
|
60
|
+
return xml;
|
|
61
|
+
}
|
|
62
|
+
xml += '>';
|
|
63
|
+
if (element.children && element.children.length > 0) {
|
|
64
|
+
xml += this.elementsToString(element.children);
|
|
65
|
+
}
|
|
66
|
+
xml += `</${element.name}>`;
|
|
67
|
+
return xml;
|
|
68
|
+
}
|
|
69
|
+
escapeXml(text) {
|
|
70
|
+
return XMLBuilder.escapeXmlAttribute(text);
|
|
71
|
+
}
|
|
72
|
+
static escapeXmlText(text) {
|
|
73
|
+
return text
|
|
74
|
+
.replace(/&/g, '&')
|
|
75
|
+
.replace(/</g, '<')
|
|
76
|
+
.replace(/>/g, '>');
|
|
77
|
+
}
|
|
78
|
+
static escapeXmlAttribute(value) {
|
|
79
|
+
return value
|
|
80
|
+
.replace(/&/g, '&')
|
|
81
|
+
.replace(/</g, '<')
|
|
82
|
+
.replace(/>/g, '>')
|
|
83
|
+
.replace(/"/g, '"')
|
|
84
|
+
.replace(/'/g, ''');
|
|
85
|
+
}
|
|
86
|
+
static unescapeXml(text) {
|
|
87
|
+
return text
|
|
88
|
+
.replace(/</g, '<')
|
|
89
|
+
.replace(/>/g, '>')
|
|
90
|
+
.replace(/"/g, '"')
|
|
91
|
+
.replace(/'/g, "'")
|
|
92
|
+
.replace(/&/g, '&');
|
|
93
|
+
}
|
|
94
|
+
static createNamespaces() {
|
|
95
|
+
return {
|
|
96
|
+
'xmlns:w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main',
|
|
97
|
+
'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',
|
|
98
|
+
'xmlns:wp': 'http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing',
|
|
99
|
+
'xmlns:a': 'http://schemas.openxmlformats.org/drawingml/2006/main',
|
|
100
|
+
'xmlns:pic': 'http://schemas.openxmlformats.org/drawingml/2006/picture',
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
static w(name, attributes, children) {
|
|
104
|
+
return {
|
|
105
|
+
name: `w:${name}`,
|
|
106
|
+
attributes,
|
|
107
|
+
children,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
static wSelf(name, attributes) {
|
|
111
|
+
return {
|
|
112
|
+
name: `w:${name}`,
|
|
113
|
+
attributes,
|
|
114
|
+
selfClosing: true,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
static createDocument(bodyContent) {
|
|
118
|
+
const builder = new XMLBuilder();
|
|
119
|
+
builder.element('w:document', XMLBuilder.createNamespaces(), [
|
|
120
|
+
XMLBuilder.w('body', undefined, bodyContent),
|
|
121
|
+
]);
|
|
122
|
+
return builder.build(true);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.XMLBuilder = XMLBuilder;
|
|
126
|
+
//# sourceMappingURL=XMLBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XMLBuilder.js","sourceRoot":"","sources":["../../src/xml/XMLBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class XMLParser {
|
|
2
|
+
static extractBody(docXml: string): string;
|
|
3
|
+
static extractElements(xml: string, tagName: string): string[];
|
|
4
|
+
static extractAttribute(xml: string, attributeName: string): string | undefined;
|
|
5
|
+
static hasSelfClosingTag(xml: string, tagName: string): boolean;
|
|
6
|
+
static extractText(xml: string): string;
|
|
7
|
+
static validateSize(xml: string, maxSize?: number): void;
|
|
8
|
+
static extractBetweenTags(xml: string, startTag: string, endTag: string): string | undefined;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=XMLParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XMLParser.d.ts","sourceRoot":"","sources":["../../src/xml/XMLParser.ts"],"names":[],"mappings":"AAUA,qBAAa,SAAS;IAMpB,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAyB1C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IA6D9D,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAmB/E,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAU/D,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAkCvC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAyB,GAAG,IAAI;IAiB1E,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAc7F"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XMLParser = void 0;
|
|
4
|
+
class XMLParser {
|
|
5
|
+
static extractBody(docXml) {
|
|
6
|
+
const startTag = '<w:body';
|
|
7
|
+
const endTag = '</w:body>';
|
|
8
|
+
const startIdx = docXml.indexOf(startTag);
|
|
9
|
+
if (startIdx === -1)
|
|
10
|
+
return '';
|
|
11
|
+
const openEnd = docXml.indexOf('>', startIdx);
|
|
12
|
+
if (openEnd === -1)
|
|
13
|
+
return '';
|
|
14
|
+
const endIdx = docXml.indexOf(endTag, openEnd);
|
|
15
|
+
if (endIdx === -1)
|
|
16
|
+
return '';
|
|
17
|
+
return docXml.substring(openEnd + 1, endIdx);
|
|
18
|
+
}
|
|
19
|
+
static extractElements(xml, tagName) {
|
|
20
|
+
const elements = [];
|
|
21
|
+
const openTag = `<${tagName}`;
|
|
22
|
+
const closeTag = `</${tagName}>`;
|
|
23
|
+
const selfClosingEnd = '/>';
|
|
24
|
+
let pos = 0;
|
|
25
|
+
while (pos < xml.length) {
|
|
26
|
+
const startIdx = xml.indexOf(openTag, pos);
|
|
27
|
+
if (startIdx === -1)
|
|
28
|
+
break;
|
|
29
|
+
const openEnd = xml.indexOf('>', startIdx);
|
|
30
|
+
if (openEnd === -1)
|
|
31
|
+
break;
|
|
32
|
+
if (xml.substring(openEnd - 1, openEnd + 1) === selfClosingEnd) {
|
|
33
|
+
elements.push(xml.substring(startIdx, openEnd + 1));
|
|
34
|
+
pos = openEnd + 1;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
let depth = 1;
|
|
38
|
+
let searchPos = openEnd + 1;
|
|
39
|
+
while (depth > 0 && searchPos < xml.length) {
|
|
40
|
+
const nextOpen = xml.indexOf(openTag, searchPos);
|
|
41
|
+
const nextClose = xml.indexOf(closeTag, searchPos);
|
|
42
|
+
if (nextClose === -1)
|
|
43
|
+
break;
|
|
44
|
+
if (nextOpen !== -1 && nextOpen < nextClose) {
|
|
45
|
+
depth++;
|
|
46
|
+
searchPos = nextOpen + openTag.length;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
depth--;
|
|
50
|
+
if (depth === 0) {
|
|
51
|
+
elements.push(xml.substring(startIdx, nextClose + closeTag.length));
|
|
52
|
+
pos = nextClose + closeTag.length;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
searchPos = nextClose + closeTag.length;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (depth > 0) {
|
|
60
|
+
pos = startIdx + openTag.length;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return elements;
|
|
64
|
+
}
|
|
65
|
+
static extractAttribute(xml, attributeName) {
|
|
66
|
+
const attrPattern = `${attributeName}="`;
|
|
67
|
+
const startIdx = xml.indexOf(attrPattern);
|
|
68
|
+
if (startIdx === -1)
|
|
69
|
+
return undefined;
|
|
70
|
+
const valueStart = startIdx + attrPattern.length;
|
|
71
|
+
const valueEnd = xml.indexOf('"', valueStart);
|
|
72
|
+
if (valueEnd === -1)
|
|
73
|
+
return undefined;
|
|
74
|
+
return xml.substring(valueStart, valueEnd);
|
|
75
|
+
}
|
|
76
|
+
static hasSelfClosingTag(xml, tagName) {
|
|
77
|
+
return xml.includes(`<${tagName}/>`) || xml.includes(`<${tagName} `);
|
|
78
|
+
}
|
|
79
|
+
static extractText(xml) {
|
|
80
|
+
const texts = [];
|
|
81
|
+
const openTag = '<w:t';
|
|
82
|
+
const closeTag = '</w:t>';
|
|
83
|
+
let pos = 0;
|
|
84
|
+
while (pos < xml.length) {
|
|
85
|
+
const startIdx = xml.indexOf(openTag, pos);
|
|
86
|
+
if (startIdx === -1)
|
|
87
|
+
break;
|
|
88
|
+
const openEnd = xml.indexOf('>', startIdx);
|
|
89
|
+
if (openEnd === -1)
|
|
90
|
+
break;
|
|
91
|
+
const closeIdx = xml.indexOf(closeTag, openEnd);
|
|
92
|
+
if (closeIdx === -1)
|
|
93
|
+
break;
|
|
94
|
+
const text = xml.substring(openEnd + 1, closeIdx);
|
|
95
|
+
texts.push(text);
|
|
96
|
+
pos = closeIdx + closeTag.length;
|
|
97
|
+
}
|
|
98
|
+
return texts.join('');
|
|
99
|
+
}
|
|
100
|
+
static validateSize(xml, maxSize = 10 * 1024 * 1024) {
|
|
101
|
+
if (xml.length > maxSize) {
|
|
102
|
+
throw new Error(`XML content too large for parsing (${(xml.length / 1024 / 1024).toFixed(1)}MB). ` +
|
|
103
|
+
`Maximum allowed: ${(maxSize / 1024 / 1024).toFixed(0)}MB`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
static extractBetweenTags(xml, startTag, endTag) {
|
|
107
|
+
const startIdx = xml.indexOf(startTag);
|
|
108
|
+
if (startIdx === -1)
|
|
109
|
+
return undefined;
|
|
110
|
+
const openEnd = xml.indexOf('>', startIdx);
|
|
111
|
+
if (openEnd === -1)
|
|
112
|
+
return undefined;
|
|
113
|
+
const endIdx = xml.indexOf(endTag, openEnd);
|
|
114
|
+
if (endIdx === -1)
|
|
115
|
+
return undefined;
|
|
116
|
+
return xml.substring(openEnd + 1, endIdx);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.XMLParser = XMLParser;
|
|
120
|
+
//# sourceMappingURL=XMLParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml/XMLParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ZipFile, FileMap, LoadOptions, SaveOptions, AddFileOptions } from './types';
|
|
2
|
+
export declare class ZipHandler {
|
|
3
|
+
private reader;
|
|
4
|
+
private writer;
|
|
5
|
+
private mode;
|
|
6
|
+
constructor();
|
|
7
|
+
load(filePath: string, options?: LoadOptions): Promise<void>;
|
|
8
|
+
loadFromBuffer(buffer: Buffer, options?: LoadOptions): Promise<void>;
|
|
9
|
+
addFile(filePath: string, content: string | Buffer, options?: AddFileOptions): void;
|
|
10
|
+
addFiles(files: FileMap, options?: AddFileOptions): void;
|
|
11
|
+
updateFile(filePath: string, content: string | Buffer, options?: AddFileOptions): boolean;
|
|
12
|
+
removeFile(filePath: string): boolean;
|
|
13
|
+
getFile(filePath: string): ZipFile | undefined;
|
|
14
|
+
getFileAsString(filePath: string): string | undefined;
|
|
15
|
+
getFileAsBuffer(filePath: string): Buffer | undefined;
|
|
16
|
+
getAllFiles(): FileMap;
|
|
17
|
+
getFilePaths(): string[];
|
|
18
|
+
hasFile(filePath: string): boolean;
|
|
19
|
+
getFileCount(): number;
|
|
20
|
+
renameFile(oldPath: string, newPath: string): boolean;
|
|
21
|
+
copyFile(srcPath: string, destPath: string): boolean;
|
|
22
|
+
moveFile(srcPath: string, destPath: string): boolean;
|
|
23
|
+
existsOrThrow(filePath: string): void;
|
|
24
|
+
removeFiles(filePaths: string[]): number;
|
|
25
|
+
getFilesByExtension(extension: string): ZipFile[];
|
|
26
|
+
getTotalSize(): number;
|
|
27
|
+
getStats(): {
|
|
28
|
+
fileCount: number;
|
|
29
|
+
totalSize: number;
|
|
30
|
+
textFileCount: number;
|
|
31
|
+
binaryFileCount: number;
|
|
32
|
+
avgFileSize: number;
|
|
33
|
+
};
|
|
34
|
+
isEmpty(): boolean;
|
|
35
|
+
getTextFiles(): ZipFile[];
|
|
36
|
+
getBinaryFiles(): ZipFile[];
|
|
37
|
+
getMediaFiles(): ZipFile[];
|
|
38
|
+
exportFile(internalPath: string, outputPath: string): Promise<void>;
|
|
39
|
+
importFile(sourcePath: string, internalPath: string, options?: AddFileOptions): Promise<void>;
|
|
40
|
+
save(filePath: string, options?: SaveOptions): Promise<void>;
|
|
41
|
+
toBuffer(options?: SaveOptions): Promise<Buffer>;
|
|
42
|
+
validate(): void;
|
|
43
|
+
clear(): void;
|
|
44
|
+
getMode(): 'read' | 'write' | 'modify';
|
|
45
|
+
isLoaded(): boolean;
|
|
46
|
+
clone(): ZipHandler;
|
|
47
|
+
static modify(inputPath: string, outputPath: string, modifier: (handler: ZipHandler) => void | Promise<void>, loadOptions?: LoadOptions, saveOptions?: SaveOptions): Promise<void>;
|
|
48
|
+
static create(outputPath: string, files: FileMap, saveOptions?: SaveOptions): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=ZipHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZipHandler.d.ts","sourceRoot":"","sources":["../../src/zip/ZipHandler.ts"],"names":[],"mappings":"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"}
|