wpd-codec 0.0.0 → 1.0.1
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 +182 -0
- package/dist/bytes/view.cjs +23 -0
- package/dist/bytes/view.d.cts +7 -0
- package/dist/bytes/view.d.ts +7 -0
- package/dist/bytes/view.js +19 -0
- package/dist/codec.cjs +23 -0
- package/dist/codec.d.cts +8 -0
- package/dist/codec.d.ts +8 -0
- package/dist/codec.js +21 -0
- package/dist/container/container.cjs +53 -0
- package/dist/container/container.d.cts +16 -0
- package/dist/container/container.d.ts +16 -0
- package/dist/container/container.js +50 -0
- package/dist/container/header.cjs +49 -0
- package/dist/container/header.d.cts +16 -0
- package/dist/container/header.d.ts +16 -0
- package/dist/container/header.js +45 -0
- package/dist/container/prefix.cjs +66 -0
- package/dist/container/prefix.d.cts +18 -0
- package/dist/container/prefix.d.ts +18 -0
- package/dist/container/prefix.js +61 -0
- package/dist/diagnostics-Cp0HKphg.d.cts +15 -0
- package/dist/diagnostics-Cp0HKphg.d.ts +15 -0
- package/dist/diagnostics.cjs +12 -0
- package/dist/diagnostics.d.cts +2 -0
- package/dist/diagnostics.d.ts +2 -0
- package/dist/diagnostics.js +10 -0
- package/dist/errors.cjs +31 -0
- package/dist/errors.d.cts +15 -0
- package/dist/errors.d.ts +15 -0
- package/dist/errors.js +27 -0
- package/dist/format.cjs +7 -0
- package/dist/format.d.cts +5 -0
- package/dist/format.d.ts +5 -0
- package/dist/format.js +5 -0
- package/dist/index.cjs +58 -0
- package/dist/index.d.cts +13 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +13 -0
- package/dist/read.cjs +296 -0
- package/dist/read.d.cts +10 -0
- package/dist/read.d.ts +10 -0
- package/dist/read.js +294 -0
- package/dist/stream/attributes.cjs +46 -0
- package/dist/stream/attributes.d.cts +37 -0
- package/dist/stream/attributes.d.ts +37 -0
- package/dist/stream/attributes.js +41 -0
- package/dist/stream/characters.cjs +205 -0
- package/dist/stream/characters.d.cts +12 -0
- package/dist/stream/characters.d.ts +12 -0
- package/dist/stream/characters.js +199 -0
- package/dist/stream/eol.cjs +52 -0
- package/dist/stream/eol.d.cts +10 -0
- package/dist/stream/eol.d.ts +10 -0
- package/dist/stream/eol.js +46 -0
- package/dist/stream/tokenise.cjs +125 -0
- package/dist/stream/tokenise.d.cts +30 -0
- package/dist/stream/tokenise.d.ts +30 -0
- package/dist/stream/tokenise.js +121 -0
- package/package.json +96 -2
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_errors = require("../errors.cjs");
|
|
3
|
+
const require_bytes_view = require("../bytes/view.cjs");
|
|
4
|
+
const require_stream_characters = require("../stream/characters.cjs");
|
|
5
|
+
//#region src/container/prefix.ts
|
|
6
|
+
const WPD_INDEX_RECORD_SIZE = 14;
|
|
7
|
+
const INDEX_HEADER_FLAGS = 2;
|
|
8
|
+
const PACKET_TYPE_DESIRED_FONT_DESCRIPTOR = 85;
|
|
9
|
+
function readPrefixPackets(bytes, header) {
|
|
10
|
+
const indexAreaOffset = header.indexAreaOffset;
|
|
11
|
+
const headerFlags = require_bytes_view.byteAt(bytes, indexAreaOffset);
|
|
12
|
+
if (headerFlags !== INDEX_HEADER_FLAGS) throw new require_errors.WpdFormatError(`The index block at offset ${indexAreaOffset} opens with flags ${headerFlags}, not the index header's documented value of ${INDEX_HEADER_FLAGS}.`);
|
|
13
|
+
const indexCount = require_bytes_view.uint16At(bytes, indexAreaOffset + 2);
|
|
14
|
+
if (indexCount < 1) throw new require_errors.WpdFormatError(`The index header claims ${indexCount} indexes, but it is itself one of them.`);
|
|
15
|
+
const packets = [];
|
|
16
|
+
for (let entry = 1; entry < indexCount; entry += 1) {
|
|
17
|
+
const recordOffset = indexAreaOffset + entry * 14;
|
|
18
|
+
const flags = require_bytes_view.byteAt(bytes, recordOffset);
|
|
19
|
+
const packetType = require_bytes_view.byteAt(bytes, recordOffset + 1);
|
|
20
|
+
const useCount = require_bytes_view.uint16At(bytes, recordOffset + 2);
|
|
21
|
+
const hiddenCount = require_bytes_view.uint16At(bytes, recordOffset + 4);
|
|
22
|
+
const size = require_bytes_view.uint32At(bytes, recordOffset + 6);
|
|
23
|
+
const offset = require_bytes_view.uint32At(bytes, recordOffset + 10);
|
|
24
|
+
if (packetType === 0) {
|
|
25
|
+
packets.push({
|
|
26
|
+
prefixId: entry,
|
|
27
|
+
packetType,
|
|
28
|
+
flags,
|
|
29
|
+
useCount,
|
|
30
|
+
hiddenCount,
|
|
31
|
+
offset,
|
|
32
|
+
bytes: /* @__PURE__ */ new Uint8Array(0)
|
|
33
|
+
});
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
packets.push({
|
|
37
|
+
prefixId: entry,
|
|
38
|
+
packetType,
|
|
39
|
+
flags,
|
|
40
|
+
useCount,
|
|
41
|
+
hiddenCount,
|
|
42
|
+
offset,
|
|
43
|
+
bytes: require_bytes_view.sliceAt(bytes, offset, size)
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return packets;
|
|
47
|
+
}
|
|
48
|
+
function packetByPrefixId(packets, prefixId) {
|
|
49
|
+
return packets.find((packet) => packet.prefixId === prefixId);
|
|
50
|
+
}
|
|
51
|
+
const TYPEFACE_NAME_LENGTH_OFFSET = 22;
|
|
52
|
+
const TYPEFACE_NAME_OFFSET = 24;
|
|
53
|
+
function readTypefaceName(packet) {
|
|
54
|
+
if (packet.length < TYPEFACE_NAME_OFFSET) return;
|
|
55
|
+
const nameLength = require_bytes_view.uint16At(packet, TYPEFACE_NAME_LENGTH_OFFSET);
|
|
56
|
+
const available = Math.min(nameLength, packet.length - TYPEFACE_NAME_OFFSET);
|
|
57
|
+
if (available <= 0) return;
|
|
58
|
+
const { text } = require_stream_characters.decodeWordString(packet, TYPEFACE_NAME_OFFSET, Math.floor(available / 2));
|
|
59
|
+
return text.length > 0 ? text : void 0;
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
exports.PACKET_TYPE_DESIRED_FONT_DESCRIPTOR = PACKET_TYPE_DESIRED_FONT_DESCRIPTOR;
|
|
63
|
+
exports.WPD_INDEX_RECORD_SIZE = WPD_INDEX_RECORD_SIZE;
|
|
64
|
+
exports.packetByPrefixId = packetByPrefixId;
|
|
65
|
+
exports.readPrefixPackets = readPrefixPackets;
|
|
66
|
+
exports.readTypefaceName = readTypefaceName;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { WpdFileHeader } from "./header.cjs";
|
|
2
|
+
//#region src/container/prefix.d.ts
|
|
3
|
+
declare const WPD_INDEX_RECORD_SIZE = 14;
|
|
4
|
+
declare const PACKET_TYPE_DESIRED_FONT_DESCRIPTOR = 85;
|
|
5
|
+
interface WpdPrefixPacket {
|
|
6
|
+
readonly prefixId: number;
|
|
7
|
+
readonly packetType: number;
|
|
8
|
+
readonly flags: number;
|
|
9
|
+
readonly useCount: number;
|
|
10
|
+
readonly hiddenCount: number;
|
|
11
|
+
readonly offset: number;
|
|
12
|
+
readonly bytes: Uint8Array;
|
|
13
|
+
}
|
|
14
|
+
declare function readPrefixPackets(bytes: Uint8Array, header: WpdFileHeader): WpdPrefixPacket[];
|
|
15
|
+
declare function packetByPrefixId(packets: readonly WpdPrefixPacket[], prefixId: number): WpdPrefixPacket | undefined;
|
|
16
|
+
declare function readTypefaceName(packet: Uint8Array): string | undefined;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, WPD_INDEX_RECORD_SIZE, WpdPrefixPacket, packetByPrefixId, readPrefixPackets, readTypefaceName };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { WpdFileHeader } from "./header.js";
|
|
2
|
+
//#region src/container/prefix.d.ts
|
|
3
|
+
declare const WPD_INDEX_RECORD_SIZE = 14;
|
|
4
|
+
declare const PACKET_TYPE_DESIRED_FONT_DESCRIPTOR = 85;
|
|
5
|
+
interface WpdPrefixPacket {
|
|
6
|
+
readonly prefixId: number;
|
|
7
|
+
readonly packetType: number;
|
|
8
|
+
readonly flags: number;
|
|
9
|
+
readonly useCount: number;
|
|
10
|
+
readonly hiddenCount: number;
|
|
11
|
+
readonly offset: number;
|
|
12
|
+
readonly bytes: Uint8Array;
|
|
13
|
+
}
|
|
14
|
+
declare function readPrefixPackets(bytes: Uint8Array, header: WpdFileHeader): WpdPrefixPacket[];
|
|
15
|
+
declare function packetByPrefixId(packets: readonly WpdPrefixPacket[], prefixId: number): WpdPrefixPacket | undefined;
|
|
16
|
+
declare function readTypefaceName(packet: Uint8Array): string | undefined;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, WPD_INDEX_RECORD_SIZE, WpdPrefixPacket, packetByPrefixId, readPrefixPackets, readTypefaceName };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { WpdFormatError } from "../errors.js";
|
|
2
|
+
import { byteAt, sliceAt, uint16At, uint32At } from "../bytes/view.js";
|
|
3
|
+
import { decodeWordString } from "../stream/characters.js";
|
|
4
|
+
//#region src/container/prefix.ts
|
|
5
|
+
const WPD_INDEX_RECORD_SIZE = 14;
|
|
6
|
+
const INDEX_HEADER_FLAGS = 2;
|
|
7
|
+
const PACKET_TYPE_DESIRED_FONT_DESCRIPTOR = 85;
|
|
8
|
+
function readPrefixPackets(bytes, header) {
|
|
9
|
+
const indexAreaOffset = header.indexAreaOffset;
|
|
10
|
+
const headerFlags = byteAt(bytes, indexAreaOffset);
|
|
11
|
+
if (headerFlags !== INDEX_HEADER_FLAGS) throw new WpdFormatError(`The index block at offset ${indexAreaOffset} opens with flags ${headerFlags}, not the index header's documented value of ${INDEX_HEADER_FLAGS}.`);
|
|
12
|
+
const indexCount = uint16At(bytes, indexAreaOffset + 2);
|
|
13
|
+
if (indexCount < 1) throw new WpdFormatError(`The index header claims ${indexCount} indexes, but it is itself one of them.`);
|
|
14
|
+
const packets = [];
|
|
15
|
+
for (let entry = 1; entry < indexCount; entry += 1) {
|
|
16
|
+
const recordOffset = indexAreaOffset + entry * 14;
|
|
17
|
+
const flags = byteAt(bytes, recordOffset);
|
|
18
|
+
const packetType = byteAt(bytes, recordOffset + 1);
|
|
19
|
+
const useCount = uint16At(bytes, recordOffset + 2);
|
|
20
|
+
const hiddenCount = uint16At(bytes, recordOffset + 4);
|
|
21
|
+
const size = uint32At(bytes, recordOffset + 6);
|
|
22
|
+
const offset = uint32At(bytes, recordOffset + 10);
|
|
23
|
+
if (packetType === 0) {
|
|
24
|
+
packets.push({
|
|
25
|
+
prefixId: entry,
|
|
26
|
+
packetType,
|
|
27
|
+
flags,
|
|
28
|
+
useCount,
|
|
29
|
+
hiddenCount,
|
|
30
|
+
offset,
|
|
31
|
+
bytes: /* @__PURE__ */ new Uint8Array(0)
|
|
32
|
+
});
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
packets.push({
|
|
36
|
+
prefixId: entry,
|
|
37
|
+
packetType,
|
|
38
|
+
flags,
|
|
39
|
+
useCount,
|
|
40
|
+
hiddenCount,
|
|
41
|
+
offset,
|
|
42
|
+
bytes: sliceAt(bytes, offset, size)
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return packets;
|
|
46
|
+
}
|
|
47
|
+
function packetByPrefixId(packets, prefixId) {
|
|
48
|
+
return packets.find((packet) => packet.prefixId === prefixId);
|
|
49
|
+
}
|
|
50
|
+
const TYPEFACE_NAME_LENGTH_OFFSET = 22;
|
|
51
|
+
const TYPEFACE_NAME_OFFSET = 24;
|
|
52
|
+
function readTypefaceName(packet) {
|
|
53
|
+
if (packet.length < TYPEFACE_NAME_OFFSET) return;
|
|
54
|
+
const nameLength = uint16At(packet, TYPEFACE_NAME_LENGTH_OFFSET);
|
|
55
|
+
const available = Math.min(nameLength, packet.length - TYPEFACE_NAME_OFFSET);
|
|
56
|
+
if (available <= 0) return;
|
|
57
|
+
const { text } = decodeWordString(packet, TYPEFACE_NAME_OFFSET, Math.floor(available / 2));
|
|
58
|
+
return text.length > 0 ? text : void 0;
|
|
59
|
+
}
|
|
60
|
+
//#endregion
|
|
61
|
+
export { PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, WPD_INDEX_RECORD_SIZE, packetByPrefixId, readPrefixPackets, readTypefaceName };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/diagnostics.d.ts
|
|
2
|
+
interface WpdDiagnostic {
|
|
3
|
+
readonly code: string;
|
|
4
|
+
readonly message: string;
|
|
5
|
+
}
|
|
6
|
+
type WpdDiagnosticSink = (diagnostic: WpdDiagnostic) => void;
|
|
7
|
+
declare const WpdDiagnosticCodes: {
|
|
8
|
+
readonly UnmappedCharacter: "wpd/unmapped-character";
|
|
9
|
+
readonly MissingPrefixPacket: "wpd/missing-prefix-packet";
|
|
10
|
+
readonly TableFlattened: "wpd/table-flattened";
|
|
11
|
+
readonly ColumnBreakFlattened: "wpd/column-break-flattened";
|
|
12
|
+
};
|
|
13
|
+
declare const NOOP_WPD_DIAGNOSTIC_SINK: WpdDiagnosticSink;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { WpdDiagnosticSink as i, WpdDiagnostic as n, WpdDiagnosticCodes as r, NOOP_WPD_DIAGNOSTIC_SINK as t };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/diagnostics.d.ts
|
|
2
|
+
interface WpdDiagnostic {
|
|
3
|
+
readonly code: string;
|
|
4
|
+
readonly message: string;
|
|
5
|
+
}
|
|
6
|
+
type WpdDiagnosticSink = (diagnostic: WpdDiagnostic) => void;
|
|
7
|
+
declare const WpdDiagnosticCodes: {
|
|
8
|
+
readonly UnmappedCharacter: "wpd/unmapped-character";
|
|
9
|
+
readonly MissingPrefixPacket: "wpd/missing-prefix-packet";
|
|
10
|
+
readonly TableFlattened: "wpd/table-flattened";
|
|
11
|
+
readonly ColumnBreakFlattened: "wpd/column-break-flattened";
|
|
12
|
+
};
|
|
13
|
+
declare const NOOP_WPD_DIAGNOSTIC_SINK: WpdDiagnosticSink;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { WpdDiagnosticSink as i, WpdDiagnostic as n, WpdDiagnosticCodes as r, NOOP_WPD_DIAGNOSTIC_SINK as t };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/diagnostics.ts
|
|
3
|
+
const WpdDiagnosticCodes = {
|
|
4
|
+
UnmappedCharacter: "wpd/unmapped-character",
|
|
5
|
+
MissingPrefixPacket: "wpd/missing-prefix-packet",
|
|
6
|
+
TableFlattened: "wpd/table-flattened",
|
|
7
|
+
ColumnBreakFlattened: "wpd/column-break-flattened"
|
|
8
|
+
};
|
|
9
|
+
const NOOP_WPD_DIAGNOSTIC_SINK = () => {};
|
|
10
|
+
//#endregion
|
|
11
|
+
exports.NOOP_WPD_DIAGNOSTIC_SINK = NOOP_WPD_DIAGNOSTIC_SINK;
|
|
12
|
+
exports.WpdDiagnosticCodes = WpdDiagnosticCodes;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/diagnostics.ts
|
|
2
|
+
const WpdDiagnosticCodes = {
|
|
3
|
+
UnmappedCharacter: "wpd/unmapped-character",
|
|
4
|
+
MissingPrefixPacket: "wpd/missing-prefix-packet",
|
|
5
|
+
TableFlattened: "wpd/table-flattened",
|
|
6
|
+
ColumnBreakFlattened: "wpd/column-break-flattened"
|
|
7
|
+
};
|
|
8
|
+
const NOOP_WPD_DIAGNOSTIC_SINK = () => {};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { NOOP_WPD_DIAGNOSTIC_SINK, WpdDiagnosticCodes };
|
package/dist/errors.cjs
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/errors.ts
|
|
3
|
+
var WpdFormatError = class extends Error {
|
|
4
|
+
constructor(message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = "WpdFormatError";
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
var WpdNotAWordPerfectFileError = class extends WpdFormatError {
|
|
10
|
+
constructor(message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = "WpdNotAWordPerfectFileError";
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var WpdEncryptedDocumentError = class extends WpdFormatError {
|
|
16
|
+
constructor(message) {
|
|
17
|
+
super(message);
|
|
18
|
+
this.name = "WpdEncryptedDocumentError";
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var WpdUnsupportedVersionError = class extends WpdFormatError {
|
|
22
|
+
constructor(message) {
|
|
23
|
+
super(message);
|
|
24
|
+
this.name = "WpdUnsupportedVersionError";
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
exports.WpdEncryptedDocumentError = WpdEncryptedDocumentError;
|
|
29
|
+
exports.WpdFormatError = WpdFormatError;
|
|
30
|
+
exports.WpdNotAWordPerfectFileError = WpdNotAWordPerfectFileError;
|
|
31
|
+
exports.WpdUnsupportedVersionError = WpdUnsupportedVersionError;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/errors.d.ts
|
|
2
|
+
declare class WpdFormatError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
declare class WpdNotAWordPerfectFileError extends WpdFormatError {
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
|
8
|
+
declare class WpdEncryptedDocumentError extends WpdFormatError {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
11
|
+
declare class WpdUnsupportedVersionError extends WpdFormatError {
|
|
12
|
+
constructor(message: string);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { WpdEncryptedDocumentError, WpdFormatError, WpdNotAWordPerfectFileError, WpdUnsupportedVersionError };
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/errors.d.ts
|
|
2
|
+
declare class WpdFormatError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
declare class WpdNotAWordPerfectFileError extends WpdFormatError {
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
|
8
|
+
declare class WpdEncryptedDocumentError extends WpdFormatError {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
11
|
+
declare class WpdUnsupportedVersionError extends WpdFormatError {
|
|
12
|
+
constructor(message: string);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { WpdEncryptedDocumentError, WpdFormatError, WpdNotAWordPerfectFileError, WpdUnsupportedVersionError };
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/errors.ts
|
|
2
|
+
var WpdFormatError = class extends Error {
|
|
3
|
+
constructor(message) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = "WpdFormatError";
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
var WpdNotAWordPerfectFileError = class extends WpdFormatError {
|
|
9
|
+
constructor(message) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = "WpdNotAWordPerfectFileError";
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
var WpdEncryptedDocumentError = class extends WpdFormatError {
|
|
15
|
+
constructor(message) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.name = "WpdEncryptedDocumentError";
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
var WpdUnsupportedVersionError = class extends WpdFormatError {
|
|
21
|
+
constructor(message) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = "WpdUnsupportedVersionError";
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { WpdEncryptedDocumentError, WpdFormatError, WpdNotAWordPerfectFileError, WpdUnsupportedVersionError };
|
package/dist/format.cjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/format.ts
|
|
3
|
+
const WPD_MEDIA_TYPE = "application/vnd.wordperfect";
|
|
4
|
+
const WPD_FILE_EXTENSION = ".wpd";
|
|
5
|
+
//#endregion
|
|
6
|
+
exports.WPD_FILE_EXTENSION = WPD_FILE_EXTENSION;
|
|
7
|
+
exports.WPD_MEDIA_TYPE = WPD_MEDIA_TYPE;
|
package/dist/format.d.ts
ADDED
package/dist/format.js
ADDED
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_errors = require("./errors.cjs");
|
|
3
|
+
const require_container_header = require("./container/header.cjs");
|
|
4
|
+
const require_stream_characters = require("./stream/characters.cjs");
|
|
5
|
+
const require_container_prefix = require("./container/prefix.cjs");
|
|
6
|
+
const require_container_container = require("./container/container.cjs");
|
|
7
|
+
const require_diagnostics = require("./diagnostics.cjs");
|
|
8
|
+
const require_stream_attributes = require("./stream/attributes.cjs");
|
|
9
|
+
const require_stream_eol = require("./stream/eol.cjs");
|
|
10
|
+
const require_stream_tokenise = require("./stream/tokenise.cjs");
|
|
11
|
+
const require_read = require("./read.cjs");
|
|
12
|
+
const require_codec = require("./codec.cjs");
|
|
13
|
+
const require_format = require("./format.cjs");
|
|
14
|
+
exports.ATTRIBUTE_OFF = require_stream_attributes.ATTRIBUTE_OFF;
|
|
15
|
+
exports.ATTRIBUTE_ON = require_stream_attributes.ATTRIBUTE_ON;
|
|
16
|
+
exports.EOL_GROUP = require_stream_eol.EOL_GROUP;
|
|
17
|
+
exports.FIRST_ASCII_CHARACTER = require_stream_characters.FIRST_ASCII_CHARACTER;
|
|
18
|
+
exports.FIRST_FIXED_FUNCTION = require_stream_tokenise.FIRST_FIXED_FUNCTION;
|
|
19
|
+
exports.FIRST_SINGLE_BYTE_EOL = require_stream_eol.FIRST_SINGLE_BYTE_EOL;
|
|
20
|
+
exports.FIRST_SINGLE_BYTE_FUNCTION = require_stream_tokenise.FIRST_SINGLE_BYTE_FUNCTION;
|
|
21
|
+
exports.FIRST_VARIABLE_FUNCTION = require_stream_tokenise.FIRST_VARIABLE_FUNCTION;
|
|
22
|
+
exports.LAST_CHARACTER = require_stream_characters.LAST_CHARACTER;
|
|
23
|
+
exports.LAST_SINGLE_BYTE_EOL = require_stream_eol.LAST_SINGLE_BYTE_EOL;
|
|
24
|
+
exports.NOOP_WPD_DIAGNOSTIC_SINK = require_diagnostics.NOOP_WPD_DIAGNOSTIC_SINK;
|
|
25
|
+
exports.PACKET_TYPE_DESIRED_FONT_DESCRIPTOR = require_container_prefix.PACKET_TYPE_DESIRED_FONT_DESCRIPTOR;
|
|
26
|
+
exports.PERFECT_OFFICE_MAIN_STREAM = require_container_container.PERFECT_OFFICE_MAIN_STREAM;
|
|
27
|
+
exports.PERFECT_OFFICE_OBJECTS_STORAGE = require_container_container.PERFECT_OFFICE_OBJECTS_STORAGE;
|
|
28
|
+
exports.UNMAPPED_CHARACTER = require_stream_characters.UNMAPPED_CHARACTER;
|
|
29
|
+
exports.WPD_FILE_EXTENSION = require_format.WPD_FILE_EXTENSION;
|
|
30
|
+
exports.WPD_FILE_ID = require_container_header.WPD_FILE_ID;
|
|
31
|
+
exports.WPD_INDEX_RECORD_SIZE = require_container_prefix.WPD_INDEX_RECORD_SIZE;
|
|
32
|
+
exports.WPD_MEDIA_TYPE = require_format.WPD_MEDIA_TYPE;
|
|
33
|
+
exports.WPD_PREFIX_HEADER_SIZE = require_container_header.WPD_PREFIX_HEADER_SIZE;
|
|
34
|
+
exports.WpdAttribute = require_stream_attributes.WpdAttribute;
|
|
35
|
+
exports.WpdBytesSchema = require_codec.WpdBytesSchema;
|
|
36
|
+
exports.WpdDiagnosticCodes = require_diagnostics.WpdDiagnosticCodes;
|
|
37
|
+
exports.WpdEncryptedDocumentError = require_errors.WpdEncryptedDocumentError;
|
|
38
|
+
exports.WpdFormatError = require_errors.WpdFormatError;
|
|
39
|
+
exports.WpdNotAWordPerfectFileError = require_errors.WpdNotAWordPerfectFileError;
|
|
40
|
+
exports.WpdUnsupportedVersionError = require_errors.WpdUnsupportedVersionError;
|
|
41
|
+
exports.decodeAttributeByte = require_stream_attributes.decodeAttributeByte;
|
|
42
|
+
exports.decodeSingleByteCharacter = require_stream_characters.decodeSingleByteCharacter;
|
|
43
|
+
exports.decodeWordString = require_stream_characters.decodeWordString;
|
|
44
|
+
exports.decodeWpCharacter = require_stream_characters.decodeWpCharacter;
|
|
45
|
+
exports.eolMappingForSubfunction = require_stream_eol.eolMappingForSubfunction;
|
|
46
|
+
exports.hasWordPerfectFileId = require_container_header.hasWordPerfectFileId;
|
|
47
|
+
exports.isSingleByteEol = require_stream_eol.isSingleByteEol;
|
|
48
|
+
exports.openWpdDocument = require_container_container.openWpdDocument;
|
|
49
|
+
exports.packetByPrefixId = require_container_prefix.packetByPrefixId;
|
|
50
|
+
exports.readFileHeader = require_container_header.readFileHeader;
|
|
51
|
+
exports.readPrefixPackets = require_container_prefix.readPrefixPackets;
|
|
52
|
+
exports.readTypefaceName = require_container_prefix.readTypefaceName;
|
|
53
|
+
exports.readWpd = require_read.readWpd;
|
|
54
|
+
exports.readWpdContent = require_read.readWpdContent;
|
|
55
|
+
exports.runAttributesFrom = require_stream_attributes.runAttributesFrom;
|
|
56
|
+
exports.subfunctionForSingleByteEol = require_stream_eol.subfunctionForSingleByteEol;
|
|
57
|
+
exports.tokeniseDocumentArea = require_stream_tokenise.tokeniseDocumentArea;
|
|
58
|
+
exports.wpdContentCodec = require_codec.wpdContentCodec;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { i as WpdDiagnosticSink, n as WpdDiagnostic, r as WpdDiagnosticCodes, t as NOOP_WPD_DIAGNOSTIC_SINK } from "./diagnostics-Cp0HKphg.cjs";
|
|
2
|
+
import { ReadWpdOptions, readWpd, readWpdContent } from "./read.cjs";
|
|
3
|
+
import { WpdBytesSchema, wpdContentCodec } from "./codec.cjs";
|
|
4
|
+
import { WPD_FILE_ID, WPD_PREFIX_HEADER_SIZE, WpdFileHeader, hasWordPerfectFileId, readFileHeader } from "./container/header.cjs";
|
|
5
|
+
import { PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, WPD_INDEX_RECORD_SIZE, WpdPrefixPacket, packetByPrefixId, readPrefixPackets, readTypefaceName } from "./container/prefix.cjs";
|
|
6
|
+
import { PERFECT_OFFICE_MAIN_STREAM, PERFECT_OFFICE_OBJECTS_STORAGE, WpdDocumentContainer, openWpdDocument } from "./container/container.cjs";
|
|
7
|
+
import { WpdEncryptedDocumentError, WpdFormatError, WpdNotAWordPerfectFileError, WpdUnsupportedVersionError } from "./errors.cjs";
|
|
8
|
+
import { WPD_FILE_EXTENSION, WPD_MEDIA_TYPE } from "./format.cjs";
|
|
9
|
+
import { FIRST_FIXED_FUNCTION, FIRST_SINGLE_BYTE_FUNCTION, FIRST_VARIABLE_FUNCTION, WpdCharacterToken, WpdFixedFunctionToken, WpdSingleByteFunctionToken, WpdToken, WpdVariableFunctionToken, tokeniseDocumentArea } from "./stream/tokenise.cjs";
|
|
10
|
+
import { EOL_GROUP, FIRST_SINGLE_BYTE_EOL, LAST_SINGLE_BYTE_EOL, WpdEolMapping, eolMappingForSubfunction, isSingleByteEol, subfunctionForSingleByteEol } from "./stream/eol.cjs";
|
|
11
|
+
import { ATTRIBUTE_OFF, ATTRIBUTE_ON, WpdAttribute, WpdAttributeCode, WpdRunAttributes, decodeAttributeByte, runAttributesFrom } from "./stream/attributes.cjs";
|
|
12
|
+
import { FIRST_ASCII_CHARACTER, LAST_CHARACTER, UNMAPPED_CHARACTER, decodeSingleByteCharacter, decodeWordString, decodeWpCharacter } from "./stream/characters.cjs";
|
|
13
|
+
export { ATTRIBUTE_OFF, ATTRIBUTE_ON, EOL_GROUP, FIRST_ASCII_CHARACTER, FIRST_FIXED_FUNCTION, FIRST_SINGLE_BYTE_EOL, FIRST_SINGLE_BYTE_FUNCTION, FIRST_VARIABLE_FUNCTION, LAST_CHARACTER, LAST_SINGLE_BYTE_EOL, NOOP_WPD_DIAGNOSTIC_SINK, PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, PERFECT_OFFICE_MAIN_STREAM, PERFECT_OFFICE_OBJECTS_STORAGE, type ReadWpdOptions, UNMAPPED_CHARACTER, WPD_FILE_EXTENSION, WPD_FILE_ID, WPD_INDEX_RECORD_SIZE, WPD_MEDIA_TYPE, WPD_PREFIX_HEADER_SIZE, WpdAttribute, type WpdAttributeCode, WpdBytesSchema, type WpdCharacterToken, type WpdDiagnostic, WpdDiagnosticCodes, type WpdDiagnosticSink, type WpdDocumentContainer, WpdEncryptedDocumentError, type WpdEolMapping, type WpdFileHeader, type WpdFixedFunctionToken, WpdFormatError, WpdNotAWordPerfectFileError, type WpdPrefixPacket, type WpdRunAttributes, type WpdSingleByteFunctionToken, type WpdToken, WpdUnsupportedVersionError, type WpdVariableFunctionToken, decodeAttributeByte, decodeSingleByteCharacter, decodeWordString, decodeWpCharacter, eolMappingForSubfunction, hasWordPerfectFileId, isSingleByteEol, openWpdDocument, packetByPrefixId, readFileHeader, readPrefixPackets, readTypefaceName, readWpd, readWpdContent, runAttributesFrom, subfunctionForSingleByteEol, tokeniseDocumentArea, wpdContentCodec };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { i as WpdDiagnosticSink, n as WpdDiagnostic, r as WpdDiagnosticCodes, t as NOOP_WPD_DIAGNOSTIC_SINK } from "./diagnostics-Cp0HKphg.js";
|
|
2
|
+
import { ReadWpdOptions, readWpd, readWpdContent } from "./read.js";
|
|
3
|
+
import { WpdBytesSchema, wpdContentCodec } from "./codec.js";
|
|
4
|
+
import { WPD_FILE_ID, WPD_PREFIX_HEADER_SIZE, WpdFileHeader, hasWordPerfectFileId, readFileHeader } from "./container/header.js";
|
|
5
|
+
import { PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, WPD_INDEX_RECORD_SIZE, WpdPrefixPacket, packetByPrefixId, readPrefixPackets, readTypefaceName } from "./container/prefix.js";
|
|
6
|
+
import { PERFECT_OFFICE_MAIN_STREAM, PERFECT_OFFICE_OBJECTS_STORAGE, WpdDocumentContainer, openWpdDocument } from "./container/container.js";
|
|
7
|
+
import { WpdEncryptedDocumentError, WpdFormatError, WpdNotAWordPerfectFileError, WpdUnsupportedVersionError } from "./errors.js";
|
|
8
|
+
import { WPD_FILE_EXTENSION, WPD_MEDIA_TYPE } from "./format.js";
|
|
9
|
+
import { FIRST_FIXED_FUNCTION, FIRST_SINGLE_BYTE_FUNCTION, FIRST_VARIABLE_FUNCTION, WpdCharacterToken, WpdFixedFunctionToken, WpdSingleByteFunctionToken, WpdToken, WpdVariableFunctionToken, tokeniseDocumentArea } from "./stream/tokenise.js";
|
|
10
|
+
import { EOL_GROUP, FIRST_SINGLE_BYTE_EOL, LAST_SINGLE_BYTE_EOL, WpdEolMapping, eolMappingForSubfunction, isSingleByteEol, subfunctionForSingleByteEol } from "./stream/eol.js";
|
|
11
|
+
import { ATTRIBUTE_OFF, ATTRIBUTE_ON, WpdAttribute, WpdAttributeCode, WpdRunAttributes, decodeAttributeByte, runAttributesFrom } from "./stream/attributes.js";
|
|
12
|
+
import { FIRST_ASCII_CHARACTER, LAST_CHARACTER, UNMAPPED_CHARACTER, decodeSingleByteCharacter, decodeWordString, decodeWpCharacter } from "./stream/characters.js";
|
|
13
|
+
export { ATTRIBUTE_OFF, ATTRIBUTE_ON, EOL_GROUP, FIRST_ASCII_CHARACTER, FIRST_FIXED_FUNCTION, FIRST_SINGLE_BYTE_EOL, FIRST_SINGLE_BYTE_FUNCTION, FIRST_VARIABLE_FUNCTION, LAST_CHARACTER, LAST_SINGLE_BYTE_EOL, NOOP_WPD_DIAGNOSTIC_SINK, PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, PERFECT_OFFICE_MAIN_STREAM, PERFECT_OFFICE_OBJECTS_STORAGE, type ReadWpdOptions, UNMAPPED_CHARACTER, WPD_FILE_EXTENSION, WPD_FILE_ID, WPD_INDEX_RECORD_SIZE, WPD_MEDIA_TYPE, WPD_PREFIX_HEADER_SIZE, WpdAttribute, type WpdAttributeCode, WpdBytesSchema, type WpdCharacterToken, type WpdDiagnostic, WpdDiagnosticCodes, type WpdDiagnosticSink, type WpdDocumentContainer, WpdEncryptedDocumentError, type WpdEolMapping, type WpdFileHeader, type WpdFixedFunctionToken, WpdFormatError, WpdNotAWordPerfectFileError, type WpdPrefixPacket, type WpdRunAttributes, type WpdSingleByteFunctionToken, type WpdToken, WpdUnsupportedVersionError, type WpdVariableFunctionToken, decodeAttributeByte, decodeSingleByteCharacter, decodeWordString, decodeWpCharacter, eolMappingForSubfunction, hasWordPerfectFileId, isSingleByteEol, openWpdDocument, packetByPrefixId, readFileHeader, readPrefixPackets, readTypefaceName, readWpd, readWpdContent, runAttributesFrom, subfunctionForSingleByteEol, tokeniseDocumentArea, wpdContentCodec };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WpdEncryptedDocumentError, WpdFormatError, WpdNotAWordPerfectFileError, WpdUnsupportedVersionError } from "./errors.js";
|
|
2
|
+
import { WPD_FILE_ID, WPD_PREFIX_HEADER_SIZE, hasWordPerfectFileId, readFileHeader } from "./container/header.js";
|
|
3
|
+
import { FIRST_ASCII_CHARACTER, LAST_CHARACTER, UNMAPPED_CHARACTER, decodeSingleByteCharacter, decodeWordString, decodeWpCharacter } from "./stream/characters.js";
|
|
4
|
+
import { PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, WPD_INDEX_RECORD_SIZE, packetByPrefixId, readPrefixPackets, readTypefaceName } from "./container/prefix.js";
|
|
5
|
+
import { PERFECT_OFFICE_MAIN_STREAM, PERFECT_OFFICE_OBJECTS_STORAGE, openWpdDocument } from "./container/container.js";
|
|
6
|
+
import { NOOP_WPD_DIAGNOSTIC_SINK, WpdDiagnosticCodes } from "./diagnostics.js";
|
|
7
|
+
import { ATTRIBUTE_OFF, ATTRIBUTE_ON, WpdAttribute, decodeAttributeByte, runAttributesFrom } from "./stream/attributes.js";
|
|
8
|
+
import { EOL_GROUP, FIRST_SINGLE_BYTE_EOL, LAST_SINGLE_BYTE_EOL, eolMappingForSubfunction, isSingleByteEol, subfunctionForSingleByteEol } from "./stream/eol.js";
|
|
9
|
+
import { FIRST_FIXED_FUNCTION, FIRST_SINGLE_BYTE_FUNCTION, FIRST_VARIABLE_FUNCTION, tokeniseDocumentArea } from "./stream/tokenise.js";
|
|
10
|
+
import { readWpd, readWpdContent } from "./read.js";
|
|
11
|
+
import { WpdBytesSchema, wpdContentCodec } from "./codec.js";
|
|
12
|
+
import { WPD_FILE_EXTENSION, WPD_MEDIA_TYPE } from "./format.js";
|
|
13
|
+
export { ATTRIBUTE_OFF, ATTRIBUTE_ON, EOL_GROUP, FIRST_ASCII_CHARACTER, FIRST_FIXED_FUNCTION, FIRST_SINGLE_BYTE_EOL, FIRST_SINGLE_BYTE_FUNCTION, FIRST_VARIABLE_FUNCTION, LAST_CHARACTER, LAST_SINGLE_BYTE_EOL, NOOP_WPD_DIAGNOSTIC_SINK, PACKET_TYPE_DESIRED_FONT_DESCRIPTOR, PERFECT_OFFICE_MAIN_STREAM, PERFECT_OFFICE_OBJECTS_STORAGE, UNMAPPED_CHARACTER, WPD_FILE_EXTENSION, WPD_FILE_ID, WPD_INDEX_RECORD_SIZE, WPD_MEDIA_TYPE, WPD_PREFIX_HEADER_SIZE, WpdAttribute, WpdBytesSchema, WpdDiagnosticCodes, WpdEncryptedDocumentError, WpdFormatError, WpdNotAWordPerfectFileError, WpdUnsupportedVersionError, decodeAttributeByte, decodeSingleByteCharacter, decodeWordString, decodeWpCharacter, eolMappingForSubfunction, hasWordPerfectFileId, isSingleByteEol, openWpdDocument, packetByPrefixId, readFileHeader, readPrefixPackets, readTypefaceName, readWpd, readWpdContent, runAttributesFrom, subfunctionForSingleByteEol, tokeniseDocumentArea, wpdContentCodec };
|