document-ir 0.0.14 → 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/{esm → dist}/ArrayCollapseTransformer.d.ts +2 -2
- package/{script → dist}/DocumentThinningTransformer.d.ts +2 -2
- package/dist/ExampleDocument.d.ts +2 -0
- package/{esm → dist}/IdentityTransformer.d.ts +2 -1
- package/{esm → dist}/NodeVisitor.d.ts +2 -1
- package/{esm → dist}/TextCollapseTransformer.d.ts +2 -2
- package/{script → dist}/TextVisitor.d.ts +3 -2
- package/{script → dist}/WhitespaceStretchingTransformer.d.ts +2 -2
- package/{script → dist}/WhitespaceTransformer.d.ts +2 -2
- package/{script → dist}/WordCountTransformer.d.ts +2 -2
- package/{script → dist}/WordCounterVisitor.d.ts +2 -2
- package/dist/index.d.ts +11 -0
- package/dist/index.js +1378 -0
- package/{esm → dist}/types.d.ts +9 -1
- package/package.json +40 -11
- package/esm/ArrayCollapseTransformer.js +0 -18
- package/esm/DocumentThinningTransformer.d.ts +0 -16
- package/esm/DocumentThinningTransformer.js +0 -246
- package/esm/IdentityTransformer.js +0 -838
- package/esm/NodeVisitor.js +0 -404
- package/esm/TextCollapseTransformer.js +0 -36
- package/esm/TextVisitor.d.ts +0 -14
- package/esm/TextVisitor.js +0 -46
- package/esm/WhitespaceStretchingTransformer.d.ts +0 -26
- package/esm/WhitespaceStretchingTransformer.js +0 -121
- package/esm/WhitespaceTransformer.d.ts +0 -12
- package/esm/WhitespaceTransformer.js +0 -75
- package/esm/WordCountTransformer.d.ts +0 -6
- package/esm/WordCountTransformer.js +0 -83
- package/esm/WordCounterVisitor.d.ts +0 -13
- package/esm/WordCounterVisitor.js +0 -43
- package/esm/index.d.ts +0 -11
- package/esm/index.js +0 -11
- package/esm/package.json +0 -3
- package/esm/types.js +0 -1
- package/script/ArrayCollapseTransformer.d.ts +0 -5
- package/script/ArrayCollapseTransformer.js +0 -22
- package/script/DocumentThinningTransformer.js +0 -250
- package/script/IdentityTransformer.d.ts +0 -58
- package/script/IdentityTransformer.js +0 -842
- package/script/NodeVisitor.d.ts +0 -58
- package/script/NodeVisitor.js +0 -408
- package/script/TextCollapseTransformer.d.ts +0 -5
- package/script/TextCollapseTransformer.js +0 -40
- package/script/TextVisitor.js +0 -50
- package/script/WhitespaceStretchingTransformer.js +0 -125
- package/script/WhitespaceTransformer.js +0 -79
- package/script/WordCountTransformer.js +0 -87
- package/script/WordCounterVisitor.js +0 -47
- package/script/index.d.ts +0 -11
- package/script/index.js +0 -38
- package/script/package.json +0 -3
- package/script/types.d.ts +0 -343
- package/script/types.js +0 -2
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WhitespaceTransformer = void 0;
|
|
4
|
-
const IdentityTransformer_js_1 = require("./IdentityTransformer.js");
|
|
5
|
-
class RemoveEmptyTextTransformer extends IdentityTransformer_js_1.IdentityTransformer {
|
|
6
|
-
// deno-lint-ignore require-await
|
|
7
|
-
async text(node) {
|
|
8
|
-
if (node.text == "") {
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
return node;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
class WhitespaceTransformer extends IdentityTransformer_js_1.IdentityTransformer {
|
|
15
|
-
constructor() {
|
|
16
|
-
super();
|
|
17
|
-
Object.defineProperty(this, "stripWhitespace", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true,
|
|
21
|
-
value: void 0
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(this, "lastText", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
configurable: true,
|
|
26
|
-
writable: true,
|
|
27
|
-
value: void 0
|
|
28
|
-
});
|
|
29
|
-
this.stripWhitespace = true;
|
|
30
|
-
this.lastText = null;
|
|
31
|
-
}
|
|
32
|
-
// deno-lint-ignore require-await
|
|
33
|
-
async text(node) {
|
|
34
|
-
let result = "";
|
|
35
|
-
for (const c of node.text) {
|
|
36
|
-
if (c == " " || c == "\n" || c == "\t" || c == "\r") {
|
|
37
|
-
if (!this.stripWhitespace) {
|
|
38
|
-
result += " ";
|
|
39
|
-
this.stripWhitespace = true;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
result += c;
|
|
44
|
-
this.stripWhitespace = false;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (result.length == 0) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
const text = {
|
|
51
|
-
type: "text",
|
|
52
|
-
text: result,
|
|
53
|
-
};
|
|
54
|
-
this.lastText = text;
|
|
55
|
-
return text;
|
|
56
|
-
}
|
|
57
|
-
stripLastText() {
|
|
58
|
-
if (this.lastText) {
|
|
59
|
-
if (this.lastText.text.endsWith(" ")) {
|
|
60
|
-
this.lastText.text = this.lastText.text.slice(0, -1);
|
|
61
|
-
}
|
|
62
|
-
this.lastText = null;
|
|
63
|
-
}
|
|
64
|
-
this.stripWhitespace = true;
|
|
65
|
-
}
|
|
66
|
-
// deno-lint-ignore require-await
|
|
67
|
-
async beforeBlock() {
|
|
68
|
-
this.stripLastText();
|
|
69
|
-
}
|
|
70
|
-
// deno-lint-ignore require-await
|
|
71
|
-
async afterBlock() {
|
|
72
|
-
this.stripLastText();
|
|
73
|
-
}
|
|
74
|
-
async transform(node) {
|
|
75
|
-
const result = await super.transform(node);
|
|
76
|
-
return await new RemoveEmptyTextTransformer().transform(result);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.WhitespaceTransformer = WhitespaceTransformer;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WordCounterTransformer = void 0;
|
|
4
|
-
const DocumentThinningTransformer_js_1 = require("./DocumentThinningTransformer.js");
|
|
5
|
-
const WordCounterVisitor_js_1 = require("./WordCounterVisitor.js");
|
|
6
|
-
const index_js_1 = require("./index.js");
|
|
7
|
-
function convertHierarchy(parent) {
|
|
8
|
-
const docHierarchy = {
|
|
9
|
-
headerText: parent.header,
|
|
10
|
-
headerId: parent.headerId,
|
|
11
|
-
words: 0,
|
|
12
|
-
totalWords: 0,
|
|
13
|
-
children: [],
|
|
14
|
-
};
|
|
15
|
-
const visitor = new WordCounterVisitor_js_1.WordCounterVisitor();
|
|
16
|
-
for (const node of parent.nodes) {
|
|
17
|
-
visitor.visit(node);
|
|
18
|
-
}
|
|
19
|
-
docHierarchy.words = visitor.getCount();
|
|
20
|
-
docHierarchy.totalWords = docHierarchy.words;
|
|
21
|
-
for (const child of parent.children) {
|
|
22
|
-
const childHierarchy = convertHierarchy(child);
|
|
23
|
-
docHierarchy.children.push(childHierarchy);
|
|
24
|
-
docHierarchy.totalWords += childHierarchy.totalWords;
|
|
25
|
-
}
|
|
26
|
-
return docHierarchy;
|
|
27
|
-
}
|
|
28
|
-
class WordCounterTransformer extends index_js_1.IdentityTransformer {
|
|
29
|
-
constructor() {
|
|
30
|
-
super();
|
|
31
|
-
}
|
|
32
|
-
async transform(node) {
|
|
33
|
-
// Isolate it
|
|
34
|
-
const jsonNode = JSON.parse(JSON.stringify(node));
|
|
35
|
-
const thinned = await new DocumentThinningTransformer_js_1.DocumentThinningTransformer().transform(jsonNode);
|
|
36
|
-
const stack = [];
|
|
37
|
-
const root = {
|
|
38
|
-
header: node.title,
|
|
39
|
-
headerId: "title",
|
|
40
|
-
nodes: [],
|
|
41
|
-
children: [],
|
|
42
|
-
depth: 1,
|
|
43
|
-
};
|
|
44
|
-
stack.push(root);
|
|
45
|
-
let depth = 1;
|
|
46
|
-
for (const node of thinned.content) {
|
|
47
|
-
if (node.type == "header") {
|
|
48
|
-
if (node.level == 1) {
|
|
49
|
-
// never pop the root
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
else if (node.level <= depth) {
|
|
53
|
-
for (let i = stack.length - 1; i > 0; i--) {
|
|
54
|
-
if (stack[i].depth >= node.level) {
|
|
55
|
-
stack.pop();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
const visitor = new index_js_1.TextVisitor();
|
|
60
|
-
visitor.visit(node);
|
|
61
|
-
const h = {
|
|
62
|
-
header: visitor.getText(),
|
|
63
|
-
depth: node.level,
|
|
64
|
-
children: [],
|
|
65
|
-
nodes: [],
|
|
66
|
-
};
|
|
67
|
-
if (node.htmlId) {
|
|
68
|
-
h.headerId = node.htmlId;
|
|
69
|
-
}
|
|
70
|
-
stack[stack.length - 1].children.push(h);
|
|
71
|
-
stack.push(h);
|
|
72
|
-
depth = node.level;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
stack[stack.length - 1].nodes.push(node);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// The transformer does not actually walk through the document tree
|
|
79
|
-
// We just append a newly calculated hierarchy object
|
|
80
|
-
const doc = {
|
|
81
|
-
...node,
|
|
82
|
-
};
|
|
83
|
-
doc.hierarchy = convertHierarchy(root);
|
|
84
|
-
return doc;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.WordCounterTransformer = WordCounterTransformer;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WordCounterVisitor = void 0;
|
|
4
|
-
const index_js_1 = require("./index.js");
|
|
5
|
-
class WordCounterVisitor extends index_js_1.NodeVisitor {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
Object.defineProperty(this, "count", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
configurable: true,
|
|
11
|
-
writable: true,
|
|
12
|
-
value: void 0
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(this, "texts", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: void 0
|
|
19
|
-
});
|
|
20
|
-
this.count = 0;
|
|
21
|
-
this.texts = [];
|
|
22
|
-
}
|
|
23
|
-
countText() {
|
|
24
|
-
if (this.texts.length > 0) {
|
|
25
|
-
this.count += this.texts.join("").split(" ").length;
|
|
26
|
-
this.texts = [];
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
beforeBlock() {
|
|
30
|
-
this.countText();
|
|
31
|
-
}
|
|
32
|
-
afterBlock() {
|
|
33
|
-
this.countText();
|
|
34
|
-
}
|
|
35
|
-
text(node) {
|
|
36
|
-
this.texts.push(node.text);
|
|
37
|
-
}
|
|
38
|
-
document(node) {
|
|
39
|
-
super.document(node);
|
|
40
|
-
this.countText();
|
|
41
|
-
}
|
|
42
|
-
getCount() {
|
|
43
|
-
this.countText();
|
|
44
|
-
return this.count;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.WordCounterVisitor = WordCounterVisitor;
|
package/script/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from "./types.js";
|
|
2
|
-
export { ArrayCollapseTransformer } from "./ArrayCollapseTransformer.js";
|
|
3
|
-
export { IdentityTransformer } from "./IdentityTransformer.js";
|
|
4
|
-
export { TextCollapseTransformer } from "./TextCollapseTransformer.js";
|
|
5
|
-
export { WhitespaceTransformer } from "./WhitespaceTransformer.js";
|
|
6
|
-
export { WhitespaceStretchingTransformer } from "./WhitespaceStretchingTransformer.js";
|
|
7
|
-
export { NodeVisitor } from "./NodeVisitor.js";
|
|
8
|
-
export { TextVisitor } from "./TextVisitor.js";
|
|
9
|
-
export { WordCounterTransformer } from "./WordCountTransformer.js";
|
|
10
|
-
export { WordCounterVisitor } from "./WordCounterVisitor.js";
|
|
11
|
-
export { DocumentThinningTransformer } from "./DocumentThinningTransformer.js";
|
package/script/index.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.DocumentThinningTransformer = exports.WordCounterVisitor = exports.WordCounterTransformer = exports.TextVisitor = exports.NodeVisitor = exports.WhitespaceStretchingTransformer = exports.WhitespaceTransformer = exports.TextCollapseTransformer = exports.IdentityTransformer = exports.ArrayCollapseTransformer = void 0;
|
|
18
|
-
__exportStar(require("./types.js"), exports);
|
|
19
|
-
var ArrayCollapseTransformer_js_1 = require("./ArrayCollapseTransformer.js");
|
|
20
|
-
Object.defineProperty(exports, "ArrayCollapseTransformer", { enumerable: true, get: function () { return ArrayCollapseTransformer_js_1.ArrayCollapseTransformer; } });
|
|
21
|
-
var IdentityTransformer_js_1 = require("./IdentityTransformer.js");
|
|
22
|
-
Object.defineProperty(exports, "IdentityTransformer", { enumerable: true, get: function () { return IdentityTransformer_js_1.IdentityTransformer; } });
|
|
23
|
-
var TextCollapseTransformer_js_1 = require("./TextCollapseTransformer.js");
|
|
24
|
-
Object.defineProperty(exports, "TextCollapseTransformer", { enumerable: true, get: function () { return TextCollapseTransformer_js_1.TextCollapseTransformer; } });
|
|
25
|
-
var WhitespaceTransformer_js_1 = require("./WhitespaceTransformer.js");
|
|
26
|
-
Object.defineProperty(exports, "WhitespaceTransformer", { enumerable: true, get: function () { return WhitespaceTransformer_js_1.WhitespaceTransformer; } });
|
|
27
|
-
var WhitespaceStretchingTransformer_js_1 = require("./WhitespaceStretchingTransformer.js");
|
|
28
|
-
Object.defineProperty(exports, "WhitespaceStretchingTransformer", { enumerable: true, get: function () { return WhitespaceStretchingTransformer_js_1.WhitespaceStretchingTransformer; } });
|
|
29
|
-
var NodeVisitor_js_1 = require("./NodeVisitor.js");
|
|
30
|
-
Object.defineProperty(exports, "NodeVisitor", { enumerable: true, get: function () { return NodeVisitor_js_1.NodeVisitor; } });
|
|
31
|
-
var TextVisitor_js_1 = require("./TextVisitor.js");
|
|
32
|
-
Object.defineProperty(exports, "TextVisitor", { enumerable: true, get: function () { return TextVisitor_js_1.TextVisitor; } });
|
|
33
|
-
var WordCountTransformer_js_1 = require("./WordCountTransformer.js");
|
|
34
|
-
Object.defineProperty(exports, "WordCounterTransformer", { enumerable: true, get: function () { return WordCountTransformer_js_1.WordCounterTransformer; } });
|
|
35
|
-
var WordCounterVisitor_js_1 = require("./WordCounterVisitor.js");
|
|
36
|
-
Object.defineProperty(exports, "WordCounterVisitor", { enumerable: true, get: function () { return WordCounterVisitor_js_1.WordCounterVisitor; } });
|
|
37
|
-
var DocumentThinningTransformer_js_1 = require("./DocumentThinningTransformer.js");
|
|
38
|
-
Object.defineProperty(exports, "DocumentThinningTransformer", { enumerable: true, get: function () { return DocumentThinningTransformer_js_1.DocumentThinningTransformer; } });
|
package/script/package.json
DELETED
package/script/types.d.ts
DELETED
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
export interface ArrayNode {
|
|
2
|
-
type: "array";
|
|
3
|
-
content: Node[];
|
|
4
|
-
}
|
|
5
|
-
export interface BlockNode {
|
|
6
|
-
type: "block";
|
|
7
|
-
content: Node[];
|
|
8
|
-
}
|
|
9
|
-
export interface BlockQuoteNode {
|
|
10
|
-
type: "block-quote";
|
|
11
|
-
content: Node[];
|
|
12
|
-
}
|
|
13
|
-
export interface BoldNode {
|
|
14
|
-
type: "bold";
|
|
15
|
-
content: Node[];
|
|
16
|
-
}
|
|
17
|
-
export interface BreakNode {
|
|
18
|
-
type: "break";
|
|
19
|
-
}
|
|
20
|
-
export interface BubbleNode {
|
|
21
|
-
type: "bubble";
|
|
22
|
-
orientation: "left" | "right";
|
|
23
|
-
content: Node[];
|
|
24
|
-
}
|
|
25
|
-
export interface CenterNode {
|
|
26
|
-
type: "center";
|
|
27
|
-
content: Node[];
|
|
28
|
-
}
|
|
29
|
-
export interface CodeNode {
|
|
30
|
-
type: "code";
|
|
31
|
-
content: Node[];
|
|
32
|
-
}
|
|
33
|
-
export interface ColumnsNode {
|
|
34
|
-
type: "columns";
|
|
35
|
-
"column-count": 1 | 2 | 3 | 4;
|
|
36
|
-
columns: Node[][];
|
|
37
|
-
}
|
|
38
|
-
export interface DefinitionNode {
|
|
39
|
-
type: "definition";
|
|
40
|
-
content: Node[];
|
|
41
|
-
title: Node[];
|
|
42
|
-
abbreviation: Node[];
|
|
43
|
-
key: string;
|
|
44
|
-
}
|
|
45
|
-
export interface DefinitionListNode {
|
|
46
|
-
type: "definition-list";
|
|
47
|
-
content: DefinitionNode[];
|
|
48
|
-
}
|
|
49
|
-
export interface DefinitionReferenceNode {
|
|
50
|
-
type: "definition-reference";
|
|
51
|
-
definition: {
|
|
52
|
-
abbreviation: Node[];
|
|
53
|
-
key: string;
|
|
54
|
-
};
|
|
55
|
-
content: Node[];
|
|
56
|
-
}
|
|
57
|
-
export interface EmbedImagePreview {
|
|
58
|
-
url: string;
|
|
59
|
-
blurhash: string;
|
|
60
|
-
width: number;
|
|
61
|
-
height: number;
|
|
62
|
-
}
|
|
63
|
-
export interface YoutubeEmbed {
|
|
64
|
-
type: "youtube";
|
|
65
|
-
id: string;
|
|
66
|
-
imagePreview?: EmbedImagePreview;
|
|
67
|
-
}
|
|
68
|
-
export interface EmbedNode {
|
|
69
|
-
type: "embed";
|
|
70
|
-
content: YoutubeEmbed;
|
|
71
|
-
}
|
|
72
|
-
export interface EmojiNode {
|
|
73
|
-
type: "emoji";
|
|
74
|
-
url: string;
|
|
75
|
-
alt: string;
|
|
76
|
-
}
|
|
77
|
-
export interface FigureNode {
|
|
78
|
-
type: "figure";
|
|
79
|
-
content: Node[];
|
|
80
|
-
}
|
|
81
|
-
export interface FigureCaptionNode {
|
|
82
|
-
type: "figure-caption";
|
|
83
|
-
content: Node[];
|
|
84
|
-
}
|
|
85
|
-
export interface FigureImageNode {
|
|
86
|
-
type: "figure-image";
|
|
87
|
-
content: Node[];
|
|
88
|
-
width?: number;
|
|
89
|
-
height?: number;
|
|
90
|
-
blurhash?: string;
|
|
91
|
-
url: string;
|
|
92
|
-
image?: string;
|
|
93
|
-
alt: string;
|
|
94
|
-
hero?: true;
|
|
95
|
-
}
|
|
96
|
-
export interface FormattedTextNode {
|
|
97
|
-
type: "formatted-text";
|
|
98
|
-
language?: string;
|
|
99
|
-
text: string;
|
|
100
|
-
}
|
|
101
|
-
export interface HeaderNode {
|
|
102
|
-
type: "header";
|
|
103
|
-
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
104
|
-
content: Node[];
|
|
105
|
-
htmlId?: string;
|
|
106
|
-
}
|
|
107
|
-
export interface HighTechAlertNode {
|
|
108
|
-
type: "high-tech-alert";
|
|
109
|
-
content: Node[];
|
|
110
|
-
warning: Node[];
|
|
111
|
-
}
|
|
112
|
-
export interface HorizontalRuleNode {
|
|
113
|
-
type: "horizontal-rule";
|
|
114
|
-
}
|
|
115
|
-
export interface ImageNode {
|
|
116
|
-
type: "image";
|
|
117
|
-
url: string;
|
|
118
|
-
alt: string;
|
|
119
|
-
width?: number;
|
|
120
|
-
height?: number;
|
|
121
|
-
blurhash?: string;
|
|
122
|
-
image?: string;
|
|
123
|
-
hero?: true;
|
|
124
|
-
}
|
|
125
|
-
export interface ItalicNode {
|
|
126
|
-
type: "italic";
|
|
127
|
-
content: Node[];
|
|
128
|
-
}
|
|
129
|
-
export interface LinkNode {
|
|
130
|
-
type: "link";
|
|
131
|
-
content: Node[];
|
|
132
|
-
url: string;
|
|
133
|
-
title?: string;
|
|
134
|
-
target?: "_blank" | "_self" | "_top";
|
|
135
|
-
userGeneratedContent?: true;
|
|
136
|
-
noReferrer?: true;
|
|
137
|
-
noFollow?: true;
|
|
138
|
-
noOpener?: true;
|
|
139
|
-
}
|
|
140
|
-
export interface ListNode {
|
|
141
|
-
type: "list";
|
|
142
|
-
style: "ordered" | "unordered";
|
|
143
|
-
content: ListItem[];
|
|
144
|
-
}
|
|
145
|
-
export interface ListItem {
|
|
146
|
-
type: "list-item";
|
|
147
|
-
content: Node[];
|
|
148
|
-
}
|
|
149
|
-
export interface NoteNode {
|
|
150
|
-
type: "note";
|
|
151
|
-
content: Node[];
|
|
152
|
-
}
|
|
153
|
-
export interface ParagraphNode {
|
|
154
|
-
type: "paragraph";
|
|
155
|
-
content: Node[];
|
|
156
|
-
}
|
|
157
|
-
export interface QuoteNode {
|
|
158
|
-
type: "quote";
|
|
159
|
-
name: string;
|
|
160
|
-
icon: string;
|
|
161
|
-
url?: string;
|
|
162
|
-
orientation?: "left" | "right";
|
|
163
|
-
content: Node[];
|
|
164
|
-
}
|
|
165
|
-
export interface RedactedNode {
|
|
166
|
-
type: "redacted";
|
|
167
|
-
style: "inline" | "block";
|
|
168
|
-
content: Node[];
|
|
169
|
-
}
|
|
170
|
-
export interface RegionNode {
|
|
171
|
-
type: "region";
|
|
172
|
-
mode: "deny" | "allow";
|
|
173
|
-
content: Node[];
|
|
174
|
-
regions: string;
|
|
175
|
-
}
|
|
176
|
-
export interface ScriptNode {
|
|
177
|
-
type: "script";
|
|
178
|
-
"mime-type": string;
|
|
179
|
-
source: string;
|
|
180
|
-
}
|
|
181
|
-
export interface SecretNode {
|
|
182
|
-
type: "secret";
|
|
183
|
-
content: Node[];
|
|
184
|
-
}
|
|
185
|
-
export interface SmallerNode {
|
|
186
|
-
type: "smaller";
|
|
187
|
-
content: Node[];
|
|
188
|
-
}
|
|
189
|
-
export interface StrikeThroughNode {
|
|
190
|
-
type: "strike-through";
|
|
191
|
-
content: Node[];
|
|
192
|
-
}
|
|
193
|
-
export interface StickerNode {
|
|
194
|
-
type: "sticker";
|
|
195
|
-
size?: number;
|
|
196
|
-
orientation: "center" | "left" | "right";
|
|
197
|
-
character: string;
|
|
198
|
-
content: Node[];
|
|
199
|
-
name: string;
|
|
200
|
-
width?: number;
|
|
201
|
-
height?: number;
|
|
202
|
-
}
|
|
203
|
-
export interface TableNode {
|
|
204
|
-
type: "table";
|
|
205
|
-
content: TableCellNode[][];
|
|
206
|
-
}
|
|
207
|
-
export interface TableCellNode {
|
|
208
|
-
type: "table-cell";
|
|
209
|
-
header?: true;
|
|
210
|
-
span: [number, number];
|
|
211
|
-
content: Node[];
|
|
212
|
-
}
|
|
213
|
-
export interface TextNode {
|
|
214
|
-
type: "text";
|
|
215
|
-
text: string;
|
|
216
|
-
}
|
|
217
|
-
export interface UnderlineNode {
|
|
218
|
-
type: "underline";
|
|
219
|
-
content: Node[];
|
|
220
|
-
}
|
|
221
|
-
export interface VideoNode {
|
|
222
|
-
type: "video";
|
|
223
|
-
poster: string;
|
|
224
|
-
alt: string;
|
|
225
|
-
mp4: string;
|
|
226
|
-
width?: number;
|
|
227
|
-
webm?: string;
|
|
228
|
-
blurhash?: string;
|
|
229
|
-
height?: number;
|
|
230
|
-
muted?: true;
|
|
231
|
-
autoplay?: true;
|
|
232
|
-
loop?: true;
|
|
233
|
-
content?: Node[];
|
|
234
|
-
controls?: true;
|
|
235
|
-
}
|
|
236
|
-
export interface WarningNode {
|
|
237
|
-
type: "warning";
|
|
238
|
-
content: Node[];
|
|
239
|
-
}
|
|
240
|
-
export interface TweetNode {
|
|
241
|
-
type: "tweet";
|
|
242
|
-
id: string;
|
|
243
|
-
}
|
|
244
|
-
export interface TootNode {
|
|
245
|
-
type: "toot";
|
|
246
|
-
id: string;
|
|
247
|
-
}
|
|
248
|
-
export interface VimeoNode {
|
|
249
|
-
type: "vimeo";
|
|
250
|
-
id: string;
|
|
251
|
-
}
|
|
252
|
-
export interface YoutubeNode {
|
|
253
|
-
type: "youtube";
|
|
254
|
-
id: string;
|
|
255
|
-
}
|
|
256
|
-
export type SocialNode = TweetNode | TootNode | VimeoNode | YoutubeNode;
|
|
257
|
-
export interface CardHeader {
|
|
258
|
-
type: "card-header";
|
|
259
|
-
imageUrl?: string;
|
|
260
|
-
imageBlurhash?: string;
|
|
261
|
-
backgroundImage?: string;
|
|
262
|
-
backgroundColor?: string;
|
|
263
|
-
backgroundBlurhash?: string;
|
|
264
|
-
title: Node[];
|
|
265
|
-
url?: string;
|
|
266
|
-
username?: string;
|
|
267
|
-
usernameDomain?: string;
|
|
268
|
-
}
|
|
269
|
-
export interface CardMedia {
|
|
270
|
-
type: "card-media";
|
|
271
|
-
content: (ImageNode | VideoNode | EmbedNode)[];
|
|
272
|
-
}
|
|
273
|
-
export interface CardAttribution {
|
|
274
|
-
type: "card-attribution";
|
|
275
|
-
title?: Node[];
|
|
276
|
-
url?: string;
|
|
277
|
-
date?: string;
|
|
278
|
-
archiveUrl?: string;
|
|
279
|
-
}
|
|
280
|
-
export interface CardContent {
|
|
281
|
-
type: "card-content";
|
|
282
|
-
content: Node[];
|
|
283
|
-
}
|
|
284
|
-
export type CardContentNode = CardHeader | CardContent | CardMedia | CardAttribution;
|
|
285
|
-
export interface CardNode {
|
|
286
|
-
type: "card";
|
|
287
|
-
header?: CardHeader;
|
|
288
|
-
content?: CardContent;
|
|
289
|
-
media?: CardMedia;
|
|
290
|
-
attribution?: CardAttribution;
|
|
291
|
-
original?: Node;
|
|
292
|
-
}
|
|
293
|
-
export interface SuperTextNode {
|
|
294
|
-
type: "super";
|
|
295
|
-
content: Node[];
|
|
296
|
-
}
|
|
297
|
-
export interface SubTextNode {
|
|
298
|
-
type: "sub";
|
|
299
|
-
content: Node[];
|
|
300
|
-
}
|
|
301
|
-
export interface DateNode {
|
|
302
|
-
type: "date";
|
|
303
|
-
isoDate: string;
|
|
304
|
-
content: Node[];
|
|
305
|
-
}
|
|
306
|
-
export interface TimeNode {
|
|
307
|
-
type: "time";
|
|
308
|
-
isoTime: string;
|
|
309
|
-
content: Node[];
|
|
310
|
-
}
|
|
311
|
-
export interface DateTimeNode {
|
|
312
|
-
type: "datetime";
|
|
313
|
-
iso8601: string;
|
|
314
|
-
content: Node[];
|
|
315
|
-
}
|
|
316
|
-
export type Node = ArrayNode | BlockNode | BlockQuoteNode | BoldNode | BreakNode | BubbleNode | CardNode | CenterNode | CodeNode | ColumnsNode | DefinitionNode | DefinitionListNode | DefinitionReferenceNode | EmbedNode | EmojiNode | FigureNode | FigureCaptionNode | FigureImageNode | FormattedTextNode | HeaderNode | HighTechAlertNode | HorizontalRuleNode | ImageNode | ItalicNode | LinkNode | ListNode | NoteNode | ParagraphNode | QuoteNode | RedactedNode | RegionNode | ScriptNode | SecretNode | SmallerNode | StickerNode | StrikeThroughNode | TextNode | TableNode | SocialNode | UnderlineNode | VideoNode | DateNode | TimeNode | DateTimeNode | SuperTextNode | SubTextNode | WarningNode;
|
|
317
|
-
export interface DocumentMeta {
|
|
318
|
-
hidden?: boolean;
|
|
319
|
-
noindex?: boolean;
|
|
320
|
-
title: string;
|
|
321
|
-
author?: string;
|
|
322
|
-
description?: string;
|
|
323
|
-
image?: string;
|
|
324
|
-
guid?: string;
|
|
325
|
-
"pub-date"?: number;
|
|
326
|
-
date?: string;
|
|
327
|
-
url: string;
|
|
328
|
-
contentDigest?: string;
|
|
329
|
-
readingDifficultyMultiplier?: number;
|
|
330
|
-
}
|
|
331
|
-
export interface DocumentHierarchy {
|
|
332
|
-
headerText: string;
|
|
333
|
-
headerId?: string;
|
|
334
|
-
words: number;
|
|
335
|
-
totalWords: number;
|
|
336
|
-
children: DocumentHierarchy[];
|
|
337
|
-
}
|
|
338
|
-
export interface DocumentNode extends DocumentMeta {
|
|
339
|
-
type: "document";
|
|
340
|
-
content: Node[];
|
|
341
|
-
definitions?: DefinitionNode[];
|
|
342
|
-
hierarchy?: DocumentHierarchy;
|
|
343
|
-
}
|
package/script/types.js
DELETED