@kerebron/extension-odt 0.0.8 → 0.0.10
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OdtParser.d.ts","sourceRoot":"","sources":["../../../src/extension-odt/src/OdtParser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAGL,IAAI,EAEJ,MAAM,EACP,MAAM,mBAAmB,CAAC;AAE3B,UAAU,UAAU;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;IAE9C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC;IAEpC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAErB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,KACT,KAAK,GAAG,IAAI,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAaD,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"OdtParser.d.ts","sourceRoot":"","sources":["../../../src/extension-odt/src/OdtParser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAGL,IAAI,EAEJ,MAAM,EACP,MAAM,mBAAmB,CAAC;AAE3B,UAAU,UAAU;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;IAE9C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC;IAEpC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAErB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,KACT,KAAK,GAAG,IAAI,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAaD,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA6UD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAI3C,KAAK,CAAC,KAAK,EAAE,GAAG;CAuBjB"}
|
|
@@ -62,12 +62,8 @@ class OdtParseState {
|
|
|
62
62
|
writable: true,
|
|
63
63
|
value: void 0
|
|
64
64
|
});
|
|
65
|
-
this.stack = [
|
|
66
|
-
|
|
67
|
-
attrs: null,
|
|
68
|
-
content: [],
|
|
69
|
-
marks: Mark.none,
|
|
70
|
-
}];
|
|
65
|
+
this.stack = [];
|
|
66
|
+
this.openNode(schema.topNodeType, null);
|
|
71
67
|
}
|
|
72
68
|
top() {
|
|
73
69
|
return this.stack[this.stack.length - 1];
|
|
@@ -86,7 +82,7 @@ class OdtParseState {
|
|
|
86
82
|
// if (last && (merged = maybeMerge(last, node))) {
|
|
87
83
|
// nodes[nodes.length - 1] = merged;
|
|
88
84
|
// } else
|
|
89
|
-
// console.log('addtext',
|
|
85
|
+
// console.log('addtext', top.type.name, "'" + text + "'");
|
|
90
86
|
nodes.push(node);
|
|
91
87
|
}
|
|
92
88
|
// Adds the given mark to the set of active marks.
|
|
@@ -110,6 +106,7 @@ class OdtParseState {
|
|
|
110
106
|
}
|
|
111
107
|
// Wrap subsequent content in a node of the given type.
|
|
112
108
|
openNode(type, attrs) {
|
|
109
|
+
// console.log('openNode', type.name, attrs);
|
|
113
110
|
this.stack.push({
|
|
114
111
|
type: type,
|
|
115
112
|
attrs: attrs,
|
|
@@ -164,7 +161,6 @@ class OdtParseState {
|
|
|
164
161
|
this.closeMark(markType);
|
|
165
162
|
}
|
|
166
163
|
else if (spec.text) {
|
|
167
|
-
// console.log('aaaaaaaaaaaaaaaaaaaa', element);
|
|
168
164
|
this.addText(spec.text(element));
|
|
169
165
|
}
|
|
170
166
|
else {
|
|
@@ -188,7 +184,7 @@ function iterateChildren(nodes, callback) {
|
|
|
188
184
|
value = child;
|
|
189
185
|
}
|
|
190
186
|
else {
|
|
191
|
-
const keys = Object.keys(child);
|
|
187
|
+
const keys = Object.keys(child).filter(key => key !== 'annotation');
|
|
192
188
|
key = keys[0];
|
|
193
189
|
value = child[key];
|
|
194
190
|
}
|
|
@@ -261,12 +257,13 @@ const tokens = {
|
|
|
261
257
|
href: tok['@href'],
|
|
262
258
|
// title: tok.attrGet('title') || null,
|
|
263
259
|
}),
|
|
264
|
-
children: (odtElement) => odtElement['span']
|
|
260
|
+
children: (odtElement) => odtElement['span'].map(item => ({ 'span': item }))
|
|
265
261
|
},
|
|
266
262
|
'$value': {
|
|
267
263
|
children: (odtElement) => iterateEnum(odtElement),
|
|
268
264
|
},
|
|
269
265
|
'$text': {
|
|
266
|
+
// TODO: fix trimming: https://github.com/tafia/quick-xml/issues/285
|
|
270
267
|
text: (odtElement) => String(odtElement || ''),
|
|
271
268
|
},
|
|
272
269
|
's': {
|
|
@@ -279,6 +276,7 @@ const tokens = {
|
|
|
279
276
|
text: (odtElement) => '\t',
|
|
280
277
|
},
|
|
281
278
|
'table-of-content': {
|
|
279
|
+
block: 'paragraph',
|
|
282
280
|
children: (odtElement) => odtElement['index-body']['p'] || [],
|
|
283
281
|
},
|
|
284
282
|
'frame': {
|
|
@@ -287,6 +285,9 @@ const tokens = {
|
|
|
287
285
|
'rect': {
|
|
288
286
|
ignore: true,
|
|
289
287
|
},
|
|
288
|
+
'bookmark': {
|
|
289
|
+
ignore: true,
|
|
290
|
+
},
|
|
290
291
|
'annotation': {
|
|
291
292
|
ignore: true,
|
|
292
293
|
},
|
|
@@ -310,6 +311,9 @@ export class OdtParser {
|
|
|
310
311
|
do {
|
|
311
312
|
doc = state.closeNode();
|
|
312
313
|
} while (state.stack.length);
|
|
314
|
+
if (!doc) {
|
|
315
|
+
throw new Error('Incorrect stack handling');
|
|
316
|
+
}
|
|
313
317
|
return doc || null; //this.schema.topNodeType.createAndFill()!;
|
|
314
318
|
}
|
|
315
319
|
}
|