@concordance-wiki/plugin-reader-office 0.3.1 → 0.4.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/README.md +2 -2
- package/dist/ooxml.d.ts +7 -1
- package/dist/ooxml.d.ts.map +1 -1
- package/dist/ooxml.js +12 -2
- package/dist/ooxml.js.map +1 -1
- package/dist/pdf.d.ts +10 -1
- package/dist/pdf.d.ts.map +1 -1
- package/dist/pdf.js +25 -9
- package/dist/pdf.js.map +1 -1
- package/dist/xml.d.ts +1 -1
- package/dist/xml.d.ts.map +1 -1
- package/dist/xml.js +7 -2
- package/dist/xml.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ plugins:
|
|
|
39
39
|
- "@concordance-wiki/plugin-convert-libreoffice"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
Every `.docx`, `.pptx`, `.xlsx` and `.pdf` file of a source becomes a document entity whose properties come from the file.
|
|
42
|
+
Every `.docx`, `.pptx`, `.xlsx` and `.pdf` file of a source becomes a document entity whose properties come from the file. Of a package, only the two property parts and the slide parts are inflated, none above 8 MB: media, fonts and sheets stay compressed, and an archive whose entries inflate to gigabytes never fills the memory of the build; a part that declares a DOCTYPE is refused, so that no entity is expanded.
|
|
43
43
|
|
|
44
44
|
## What you get
|
|
45
45
|
|
|
@@ -68,7 +68,7 @@ Part of [Concordance](https://github.com/concordance-wiki/concordance), GNU GPL
|
|
|
68
68
|
| `title`, `author`, `subject`, `keywords` (list) | `docProps/core.xml` | Info dictionary |
|
|
69
69
|
| `created`, `modified` (ISO 8601) | `dcterms:created`, `dcterms:modified` | `CreationDate`, `ModDate`, converted from `D:YYYYMMDDHHmmSS` |
|
|
70
70
|
| `lastModifiedBy` | `cp:lastModifiedBy` | — |
|
|
71
|
-
| `pages`, `words` | `docProps/app.xml` | `pages`: number of page objects |
|
|
71
|
+
| `pages`, `words` | `docProps/app.xml` | `pages`: number of page objects; a PDF over 64 MB is read from its last 16 MB alone, where an updated file keeps its trailer and its Info object, and gets no page count |
|
|
72
72
|
| `slides`, `slideTitles` | pptx only: `Slides` and the title placeholder of every `ppt/slides/slideN.xml`, in slide order; an empty string when a slide has no title | — |
|
|
73
73
|
| `application` | `docProps/app.xml` | — |
|
|
74
74
|
|
package/dist/ooxml.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { type OfficeMetadata } from "./metadata.js";
|
|
2
2
|
export type OoxmlKind = "docx" | "pptx" | "xlsx";
|
|
3
|
-
/**
|
|
3
|
+
/** How large a part the reader inflates: a property or slide part of several megabytes is not one. */
|
|
4
|
+
export declare const PART_SIZE_LIMIT: number;
|
|
5
|
+
/**
|
|
6
|
+
* Reads the document properties of a Word, PowerPoint or Excel package; a missing part yields
|
|
7
|
+
* nothing. Only the parts the reader looks at are inflated, and none above `PART_SIZE_LIMIT`:
|
|
8
|
+
* an archive whose small entries inflate to gigabytes never fills the memory of the build.
|
|
9
|
+
*/
|
|
4
10
|
export declare function readOoxml(bytes: Uint8Array, kind: OoxmlKind): OfficeMetadata;
|
|
5
11
|
//# sourceMappingURL=ooxml.d.ts.map
|
package/dist/ooxml.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ooxml.d.ts","sourceRoot":"","sources":["../src/ooxml.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAU7F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ooxml.d.ts","sourceRoot":"","sources":["../src/ooxml.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAU7F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AA2CjD,sGAAsG;AACtG,eAAO,MAAM,eAAe,QAAkB,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,GAAG,cAAc,CAoB5E"}
|
package/dist/ooxml.js
CHANGED
|
@@ -33,9 +33,19 @@ function slideTitles(parts) {
|
|
|
33
33
|
.sort((a, b) => a.index - b.index)
|
|
34
34
|
.map((slide) => slideTitle(slide.bytes));
|
|
35
35
|
}
|
|
36
|
-
/**
|
|
36
|
+
/** The parts the reader looks at: the two property parts and the slides. Media, fonts and sheets stay compressed. */
|
|
37
|
+
const READ_PARTS = /^(?:docProps\/(?:core|app)\.xml|ppt\/slides\/slide\d+\.xml)$/u;
|
|
38
|
+
/** How large a part the reader inflates: a property or slide part of several megabytes is not one. */
|
|
39
|
+
export const PART_SIZE_LIMIT = 8 * 1024 * 1024;
|
|
40
|
+
/**
|
|
41
|
+
* Reads the document properties of a Word, PowerPoint or Excel package; a missing part yields
|
|
42
|
+
* nothing. Only the parts the reader looks at are inflated, and none above `PART_SIZE_LIMIT`:
|
|
43
|
+
* an archive whose small entries inflate to gigabytes never fills the memory of the build.
|
|
44
|
+
*/
|
|
37
45
|
export function readOoxml(bytes, kind) {
|
|
38
|
-
const parts = unzipSync(bytes
|
|
46
|
+
const parts = unzipSync(bytes, {
|
|
47
|
+
filter: (file) => READ_PARTS.test(file.name) && file.originalSize <= PART_SIZE_LIMIT,
|
|
48
|
+
});
|
|
39
49
|
const core = rootChildren(parts, "docProps/core.xml", "coreProperties");
|
|
40
50
|
const app = rootChildren(parts, "docProps/app.xml", "Properties");
|
|
41
51
|
return compact({
|
package/dist/ooxml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ooxml.js","sourceRoot":"","sources":["../src/ooxml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AAC7F,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,WAAW,GAEZ,MAAM,UAAU,CAAC;AAMlB,MAAM,SAAS,GAAG,gCAAgC,CAAC;AACnD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAEzD,oFAAoF;AACpF,SAAS,YAAY,CAAC,KAAY,EAAE,IAAY,EAAE,IAAY;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACjE,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,KAAiB;IACnC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAY;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACzB,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"ooxml.js","sourceRoot":"","sources":["../src/ooxml.ts"],"names":[],"mappings":"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"}
|
package/dist/pdf.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { type OfficeMetadata } from "./metadata.js";
|
|
2
2
|
/** Converts `D:YYYYMMDDHHmmSSOHH'mm'` to ISO 8601; a value in another form is kept as it is. */
|
|
3
3
|
export declare function isoDate(value: string): string;
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* How many bytes the scan reads as text. A file this large is a scan or a bundle of images: its
|
|
6
|
+
* metadata sits in the trailer at its end, so only the tail is read, and no page count is given.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PDF_SCAN_LIMIT_BYTES: number;
|
|
9
|
+
/**
|
|
10
|
+
* Reads the native metadata of a PDF: the Info dictionary and the number of page objects. A file
|
|
11
|
+
* over `PDF_SCAN_LIMIT_BYTES` is read from its tail alone, where an updated file keeps its
|
|
12
|
+
* trailer and its Info object, and its pages are not counted.
|
|
13
|
+
*/
|
|
5
14
|
export declare function readPdf(bytes: Uint8Array): OfficeMetadata;
|
|
6
15
|
//# sourceMappingURL=pdf.d.ts.map
|
package/dist/pdf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../src/pdf.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../src/pdf.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAsGtF,gGAAgG;AAChG,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7C;AAoBD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AAGrD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAmBzD"}
|
package/dist/pdf.js
CHANGED
|
@@ -31,7 +31,8 @@ function decodeString(bytes) {
|
|
|
31
31
|
const [first, second] = bytes;
|
|
32
32
|
if (first === 0xfe && second === 0xff)
|
|
33
33
|
return utf16.decode(Uint8Array.from(bytes.slice(2)));
|
|
34
|
-
|
|
34
|
+
// One character per byte, without spreading the bytes into a call that a long string would overflow.
|
|
35
|
+
return Buffer.from(bytes).toString("latin1");
|
|
35
36
|
}
|
|
36
37
|
/** The escape a backslash at `at` starts: the bytes it stands for and how many characters follow the backslash. */
|
|
37
38
|
function escapeAt(text, at) {
|
|
@@ -106,7 +107,10 @@ export function isoDate(value) {
|
|
|
106
107
|
const fields = dateFields.map(([start, end, fallback]) => digits.slice(start, end) || fallback);
|
|
107
108
|
return `${fields.slice(0, 3).join("-")}T${fields.slice(3).join(":")}${offset(match[2])}`;
|
|
108
109
|
}
|
|
109
|
-
/**
|
|
110
|
+
/**
|
|
111
|
+
* The body of the last Info object the file references: an update appends a new trailer at the
|
|
112
|
+
* end, and may rewrite the object under its own number, so the last object of that number is read.
|
|
113
|
+
*/
|
|
110
114
|
function infoDictionary(text) {
|
|
111
115
|
const references = [...text.matchAll(infoReference)];
|
|
112
116
|
const last = references.at(-1);
|
|
@@ -114,20 +118,32 @@ function infoDictionary(text) {
|
|
|
114
118
|
return "";
|
|
115
119
|
const number = group(last, 1);
|
|
116
120
|
const generation = group(last, 2);
|
|
117
|
-
const object = new RegExp(String.raw `(?:^|\s)${number}\s+${generation}\s+obj\b([\s\S]*?)(?:endobj|$)
|
|
118
|
-
const match = object.
|
|
119
|
-
return match ===
|
|
121
|
+
const object = new RegExp(String.raw `(?:^|\s)${number}\s+${generation}\s+obj\b([\s\S]*?)(?:endobj|$)`, "g");
|
|
122
|
+
const match = [...text.matchAll(object)].at(-1);
|
|
123
|
+
return match === undefined ? "" : group(match, 1);
|
|
120
124
|
}
|
|
121
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* How many bytes the scan reads as text. A file this large is a scan or a bundle of images: its
|
|
127
|
+
* metadata sits in the trailer at its end, so only the tail is read, and no page count is given.
|
|
128
|
+
*/
|
|
129
|
+
export const PDF_SCAN_LIMIT_BYTES = 64 * 1024 * 1024;
|
|
130
|
+
const TAIL_BYTES = 16 * 1024 * 1024;
|
|
131
|
+
/**
|
|
132
|
+
* Reads the native metadata of a PDF: the Info dictionary and the number of page objects. A file
|
|
133
|
+
* over `PDF_SCAN_LIMIT_BYTES` is read from its tail alone, where an updated file keeps its
|
|
134
|
+
* trailer and its Info object, and its pages are not counted.
|
|
135
|
+
*/
|
|
122
136
|
export function readPdf(bytes) {
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
137
|
+
const header = latin1(bytes.subarray(0, 5));
|
|
138
|
+
if (header !== "%PDF-")
|
|
125
139
|
throw new Error("not a PDF file: the header is missing");
|
|
140
|
+
const whole = bytes.byteLength <= PDF_SCAN_LIMIT_BYTES;
|
|
141
|
+
const text = latin1(whole ? bytes : bytes.subarray(bytes.byteLength - TAIL_BYTES));
|
|
126
142
|
const info = infoDictionary(text);
|
|
127
143
|
const property = (key) => nonBlank(stringProperty(info, key));
|
|
128
144
|
const created = property("CreationDate");
|
|
129
145
|
const modified = property("ModDate");
|
|
130
|
-
const pages = [...text.matchAll(pageObject)].length;
|
|
146
|
+
const pages = whole ? [...text.matchAll(pageObject)].length : 0;
|
|
131
147
|
return compact({
|
|
132
148
|
title: property("Title"),
|
|
133
149
|
author: property("Author"),
|
package/dist/pdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../src/pdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AAEtF,iGAAiG;AACjG,mGAAmG;AACnG,mGAAmG;AAEnG,MAAM,UAAU,GAAG,oBAAoB,CAAC;AACxC,MAAM,aAAa,GAAG,+BAA+B,CAAC;AACtD,MAAM,OAAO,GAAG,yDAAyD,CAAC;AAC1E,+FAA+F;AAC/F,MAAM,UAAU,GAAwC;IACtD,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;IACb,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;CACf,CAAC;AAGF,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;AAC1C,MAAM,OAAO,GAA2B,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAE5E,uEAAuE;AACvE,SAAS,KAAK,CAAC,KAAsB,EAAE,KAAa;IAClD,+EAA+E;IAC/E,OAAO,KAAK,CAAC,KAAK,CAAW,CAAC;AAChC,CAAC;AAED,qGAAqG;AACrG,SAAS,MAAM,CAAC,KAAiB;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1F,CAAC;AAED,kGAAkG;AAClG,SAAS,YAAY,CAAC,KAAe;IACnC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../src/pdf.ts"],"names":[],"mappings":"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"}
|
package/dist/xml.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface XmlElement {
|
|
|
5
5
|
children: XmlElement[];
|
|
6
6
|
text: string;
|
|
7
7
|
}
|
|
8
|
-
/** Namespace prefixes are dropped, so that `dc:title` and `title` are the same element. */
|
|
8
|
+
/** Namespace prefixes are dropped, so that `dc:title` and `title` are the same element; a part with a DOCTYPE is not read. */
|
|
9
9
|
export declare function parseXml(bytes: Uint8Array): XmlElement[];
|
|
10
10
|
export declare function childNamed(elements: XmlElement[], name: string): XmlElement | undefined;
|
|
11
11
|
/** Every element with that name below the given ones, in document order. */
|
package/dist/xml.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"AAGA,oGAAoG;AACpG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAuCD,8HAA8H;AAC9H,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAMxD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEvF;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAKnF;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAElD;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpF"}
|
package/dist/xml.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { refusedXml } from "@concordance-wiki/core";
|
|
1
2
|
import { XMLParser } from "fast-xml-parser";
|
|
2
3
|
const parser = new XMLParser({
|
|
3
4
|
preserveOrder: true,
|
|
@@ -26,10 +27,14 @@ function elementsOf(nodes) {
|
|
|
26
27
|
}
|
|
27
28
|
return elements;
|
|
28
29
|
}
|
|
29
|
-
/** Namespace prefixes are dropped, so that `dc:title` and `title` are the same element. */
|
|
30
|
+
/** Namespace prefixes are dropped, so that `dc:title` and `title` are the same element; a part with a DOCTYPE is not read. */
|
|
30
31
|
export function parseXml(bytes) {
|
|
32
|
+
const text = decoder.decode(bytes);
|
|
33
|
+
const refused = refusedXml(text);
|
|
34
|
+
if (refused !== undefined)
|
|
35
|
+
throw new Error(refused);
|
|
31
36
|
// The parser returns the ordered node list described above.
|
|
32
|
-
return elementsOf(parser.parse(
|
|
37
|
+
return elementsOf(parser.parse(text));
|
|
33
38
|
}
|
|
34
39
|
export function childNamed(elements, name) {
|
|
35
40
|
return elements.find((element) => element.name === name);
|
package/dist/xml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgB5C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,EAAE;IACvB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,KAAK;IAC1B,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,SAAS,UAAU,CAAC,KAAoB;IACtC,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,KAAK,IAAI;gBAAE,SAAS;YAC3B,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,OAAO;gBACb,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC9D,CAAC,CAAC,6DAA6D;oBAC7D,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@concordance-wiki/plugin-reader-office",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Metadata reader for docx, pptx, xlsx and pdf files: properties, dates, counts and slide titles.",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"repository": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"fast-xml-parser": "5.11.1",
|
|
34
34
|
"fflate": "0.8.3",
|
|
35
|
-
"@concordance-wiki/core": "0.
|
|
35
|
+
"@concordance-wiki/core": "0.4.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"vitest": "4.1.11"
|