node-opcua-xml2json 2.142.0 → 2.153.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/dist/source/nodejs/xml2json_fs.d.ts +1 -2
- package/dist/source/nodejs/xml2json_fs.js +10 -28
- package/dist/source/nodejs/xml2json_fs.js.map +1 -1
- package/dist/source/thirdparties/escape.d.ts +4 -0
- package/dist/source/thirdparties/escape.js +77 -0
- package/dist/source/thirdparties/escape.js.map +1 -0
- package/dist/source/thirdparties/parser/lts.d.ts +7 -0
- package/dist/source/thirdparties/parser/lts.js +257 -0
- package/dist/source/thirdparties/parser/lts.js.map +1 -0
- package/dist/source/xml2json.d.ts +2 -17
- package/dist/source/xml2json.js +16 -28
- package/dist/source/xml2json.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -6
- package/source/nodejs/xml2json_fs.ts +7 -31
- package/source/thirdparties/escape.ts +87 -0
- package/source/thirdparties/parser/lts.ts +259 -0
- package/source/xml2json.ts +18 -49
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Xml2Json } from "../xml2json";
|
|
2
2
|
export declare class Xml2JsonFs extends Xml2Json {
|
|
3
3
|
/**
|
|
4
4
|
* @param xmlFile - the name of the xml file to parse.
|
|
5
5
|
*/
|
|
6
6
|
parse(xmlFile: string): Promise<any>;
|
|
7
|
-
parse(xmlFile: string, callback: Callback<any> | SimpleCallback): void;
|
|
8
7
|
}
|
|
@@ -7,36 +7,18 @@ exports.Xml2JsonFs = void 0;
|
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const xml2json_1 = require("../xml2json");
|
|
9
9
|
class Xml2JsonFs extends xml2json_1.Xml2Json {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (err) {
|
|
19
|
-
return callback(err);
|
|
20
|
-
}
|
|
21
|
-
if (data[0] === 0xef && data[1] === 0xbb && data[2] === 0xbf) {
|
|
22
|
-
data = data.subarray(3);
|
|
23
|
-
}
|
|
24
|
-
const dataAsString = data.toString();
|
|
25
|
-
const parser = this._prepareParser(callback);
|
|
26
|
-
parser.write(dataAsString);
|
|
27
|
-
parser.end();
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
const Bomstrip = require("bomstrip");
|
|
32
|
-
const parser = this._prepareParser(callback);
|
|
33
|
-
fs_1.default.createReadStream(xmlFile, { autoClose: true, encoding: "utf8" }).pipe(new Bomstrip()).pipe(parser);
|
|
10
|
+
/**
|
|
11
|
+
* @param xmlFile - the name of the xml file to parse.
|
|
12
|
+
*/
|
|
13
|
+
async parse(xmlFile) {
|
|
14
|
+
// slightly faster but require more memory ..
|
|
15
|
+
let data = await fs_1.default.promises.readFile(xmlFile);
|
|
16
|
+
if (data[0] === 0xef && data[1] === 0xbb && data[2] === 0xbf) {
|
|
17
|
+
data = data.subarray(3);
|
|
34
18
|
}
|
|
19
|
+
const dataAsString = data.toString();
|
|
20
|
+
return this.__parseInternal(dataAsString);
|
|
35
21
|
}
|
|
36
22
|
}
|
|
37
23
|
exports.Xml2JsonFs = Xml2JsonFs;
|
|
38
|
-
// tslint:disable:no-var-requires
|
|
39
|
-
const thenify_ex_1 = require("thenify-ex");
|
|
40
|
-
const opts = { multiArgs: false };
|
|
41
|
-
Xml2JsonFs.prototype.parse = (0, thenify_ex_1.withCallback)(Xml2JsonFs.prototype.parse, opts);
|
|
42
24
|
//# sourceMappingURL=xml2json_fs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml2json_fs.js","sourceRoot":"","sources":["../../../source/nodejs/xml2json_fs.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,0CAAiE;AAEjE,MAAa,UAAW,SAAQ,mBAAQ;
|
|
1
|
+
{"version":3,"file":"xml2json_fs.js","sourceRoot":"","sources":["../../../source/nodejs/xml2json_fs.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,0CAAiE;AAEjE,MAAa,UAAW,SAAQ,mBAAQ;IACpC;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,OAAe;QAC9B,6CAA6C;QAC7C,IAAI,IAAI,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3D,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;CACJ;AAbD,gCAaC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeXML = escapeXML;
|
|
4
|
+
exports.unescapeXML = unescapeXML;
|
|
5
|
+
exports.escapeXMLText = escapeXMLText;
|
|
6
|
+
exports.unescapeXMLText = unescapeXMLText;
|
|
7
|
+
const escapeXMLTable = {
|
|
8
|
+
"&": "&",
|
|
9
|
+
"<": "<",
|
|
10
|
+
">": ">",
|
|
11
|
+
'"': """,
|
|
12
|
+
"'": "'",
|
|
13
|
+
};
|
|
14
|
+
function escapeXMLReplace(match) {
|
|
15
|
+
return escapeXMLTable[match];
|
|
16
|
+
}
|
|
17
|
+
const unescapeXMLTable = {
|
|
18
|
+
"&": "&",
|
|
19
|
+
"<": "<",
|
|
20
|
+
">": ">",
|
|
21
|
+
""": '"',
|
|
22
|
+
"'": "'",
|
|
23
|
+
};
|
|
24
|
+
function unescapeXMLReplace(_match) {
|
|
25
|
+
const match = _match;
|
|
26
|
+
if (match[1] === "#") {
|
|
27
|
+
const num = match[2] === "x"
|
|
28
|
+
? parseInt(match.slice(3), 16)
|
|
29
|
+
: parseInt(match.slice(2), 10);
|
|
30
|
+
// https://www.w3.org/TR/xml/#NT-Char defines legal XML characters:
|
|
31
|
+
// #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
|
|
32
|
+
if (num === 0x9 ||
|
|
33
|
+
num === 0xa ||
|
|
34
|
+
num === 0xd ||
|
|
35
|
+
(num >= 0x20 && num <= 0xd7ff) ||
|
|
36
|
+
(num >= 0xe000 && num <= 0xfffd) ||
|
|
37
|
+
(num >= 0x10000 && num <= 0x10ffff)) {
|
|
38
|
+
return String.fromCodePoint(num);
|
|
39
|
+
}
|
|
40
|
+
throw new Error("Illegal XML character 0x" + num.toString(16));
|
|
41
|
+
}
|
|
42
|
+
if (unescapeXMLTable[match]) {
|
|
43
|
+
return unescapeXMLTable[match] || match;
|
|
44
|
+
}
|
|
45
|
+
throw new Error("Illegal XML entity " + match);
|
|
46
|
+
}
|
|
47
|
+
function escapeXML(s) {
|
|
48
|
+
return s.replace(/["&'<>]/g, escapeXMLReplace);
|
|
49
|
+
}
|
|
50
|
+
function unescapeXML(s) {
|
|
51
|
+
let result = "";
|
|
52
|
+
let start = -1;
|
|
53
|
+
let end = -1;
|
|
54
|
+
let previous = 0;
|
|
55
|
+
while ((start = s.indexOf("&", previous)) !== -1 &&
|
|
56
|
+
(end = s.indexOf(";", start + 1)) !== -1) {
|
|
57
|
+
result =
|
|
58
|
+
result +
|
|
59
|
+
s.slice(previous, start) +
|
|
60
|
+
unescapeXMLReplace(s.slice(start, end + 1));
|
|
61
|
+
previous = end + 1;
|
|
62
|
+
}
|
|
63
|
+
// shortcut if loop never entered:
|
|
64
|
+
// return the original string without creating new objects
|
|
65
|
+
if (previous === 0)
|
|
66
|
+
return s;
|
|
67
|
+
// push the remaining characters
|
|
68
|
+
result = result + s.substring(previous);
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
function escapeXMLText(s) {
|
|
72
|
+
return s.replace(/[&<>]/g, escapeXMLReplace);
|
|
73
|
+
}
|
|
74
|
+
function unescapeXMLText(s) {
|
|
75
|
+
return s.replace(/&(amp|#38|lt|#60|gt|#62);/g, unescapeXMLReplace);
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=escape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape.js","sourceRoot":"","sources":["../../../source/thirdparties/escape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _SaxLtx_write;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.SaxLtx = void 0;
|
|
16
|
+
const events_1 = require("events");
|
|
17
|
+
const escape_1 = require("../escape");
|
|
18
|
+
const STATE_TEXT = 0;
|
|
19
|
+
const STATE_IGNORE_COMMENT = 1;
|
|
20
|
+
const STATE_IGNORE_INSTRUCTION = 2;
|
|
21
|
+
const STATE_TAG_NAME = 3;
|
|
22
|
+
const STATE_TAG = 4;
|
|
23
|
+
const STATE_ATTR_NAME = 5;
|
|
24
|
+
const STATE_ATTR_EQ = 6;
|
|
25
|
+
const STATE_ATTR_QUOT = 7;
|
|
26
|
+
const STATE_ATTR_VALUE = 8;
|
|
27
|
+
const STATE_CDATA = 9;
|
|
28
|
+
const STATE_IGNORE_CDATA = 10;
|
|
29
|
+
class SaxLtx extends events_1.EventEmitter {
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
_SaxLtx_write.set(this, void 0);
|
|
33
|
+
function _handleTagOpening(endTag, tagName, attrs) {
|
|
34
|
+
if (!endTag) {
|
|
35
|
+
this.emit("startElement", tagName, attrs);
|
|
36
|
+
if (selfClosing) {
|
|
37
|
+
this.emit("endElement", tagName, true);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.emit("endElement", tagName, false);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
;
|
|
45
|
+
let state = STATE_TEXT;
|
|
46
|
+
let remainder = null;
|
|
47
|
+
let parseRemainder = false;
|
|
48
|
+
let tagName;
|
|
49
|
+
let attrs;
|
|
50
|
+
let endTag;
|
|
51
|
+
let selfClosing;
|
|
52
|
+
let attrQuote;
|
|
53
|
+
let attrQuoteChar;
|
|
54
|
+
let recordStart = 0;
|
|
55
|
+
let attrName;
|
|
56
|
+
__classPrivateFieldSet(this, _SaxLtx_write, function write(data) {
|
|
57
|
+
let pos = 0;
|
|
58
|
+
/* Anything from previous write()? */
|
|
59
|
+
if (remainder) {
|
|
60
|
+
data = remainder + data;
|
|
61
|
+
pos += !parseRemainder ? remainder.length : 0;
|
|
62
|
+
parseRemainder = false;
|
|
63
|
+
remainder = null;
|
|
64
|
+
}
|
|
65
|
+
function endRecording() {
|
|
66
|
+
if (typeof recordStart === "number") {
|
|
67
|
+
const recorded = data.slice(recordStart, pos);
|
|
68
|
+
recordStart = undefined;
|
|
69
|
+
return recorded;
|
|
70
|
+
}
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
for (; pos < data.length; pos++) {
|
|
74
|
+
switch (state) {
|
|
75
|
+
case STATE_TEXT: {
|
|
76
|
+
// if we're looping through text, fast-forward using indexOf to
|
|
77
|
+
// the next '<' character
|
|
78
|
+
const lt = data.indexOf("<", pos);
|
|
79
|
+
if (lt !== -1 && pos !== lt) {
|
|
80
|
+
pos = lt;
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
case STATE_ATTR_VALUE: {
|
|
85
|
+
// if we're looping through an attribute, fast-forward using
|
|
86
|
+
// indexOf to the next end quote character
|
|
87
|
+
const quot = data.indexOf(attrQuoteChar, pos);
|
|
88
|
+
if (quot !== -1) {
|
|
89
|
+
pos = quot;
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
case STATE_IGNORE_COMMENT: {
|
|
94
|
+
// if we're looping through a comment, fast-forward using
|
|
95
|
+
// indexOf to the first end-comment character
|
|
96
|
+
const endcomment = data.indexOf("-->", pos);
|
|
97
|
+
if (endcomment !== -1) {
|
|
98
|
+
pos = endcomment + 2; // target the '>' character
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
case STATE_IGNORE_CDATA: {
|
|
103
|
+
// if we're looping through a CDATA, fast-forward using
|
|
104
|
+
// indexOf to the first end-CDATA character ]]>
|
|
105
|
+
const endCDATA = data.indexOf("]]>", pos);
|
|
106
|
+
if (endCDATA !== -1) {
|
|
107
|
+
pos = endCDATA + 2; // target the '>' character
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
// No default
|
|
112
|
+
}
|
|
113
|
+
const c = data.charCodeAt(pos);
|
|
114
|
+
switch (state) {
|
|
115
|
+
case STATE_TEXT:
|
|
116
|
+
if (c === 60 /* < */) {
|
|
117
|
+
const text = endRecording();
|
|
118
|
+
if (text) {
|
|
119
|
+
this.emit("text", (0, escape_1.unescapeXML)(text));
|
|
120
|
+
}
|
|
121
|
+
state = STATE_TAG_NAME;
|
|
122
|
+
recordStart = pos + 1;
|
|
123
|
+
attrs = {};
|
|
124
|
+
}
|
|
125
|
+
break;
|
|
126
|
+
case STATE_CDATA:
|
|
127
|
+
if (c === 93 /* ] */) {
|
|
128
|
+
if (data.substring(pos + 1, 2) === "]>") {
|
|
129
|
+
const cData = endRecording();
|
|
130
|
+
if (cData) {
|
|
131
|
+
this.emit("text", cData);
|
|
132
|
+
}
|
|
133
|
+
state = STATE_TEXT;
|
|
134
|
+
}
|
|
135
|
+
else if (data.length < pos + 2) {
|
|
136
|
+
parseRemainder = true;
|
|
137
|
+
pos = data.length;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
break;
|
|
141
|
+
case STATE_TAG_NAME:
|
|
142
|
+
if (c === 47 /* / */ && recordStart === pos) {
|
|
143
|
+
recordStart = pos + 1;
|
|
144
|
+
endTag = true;
|
|
145
|
+
}
|
|
146
|
+
else if (c === 33 /* ! */) {
|
|
147
|
+
if (data.substring(pos + 1, 7) === "[CDATA[") {
|
|
148
|
+
recordStart = pos + 8;
|
|
149
|
+
state = STATE_CDATA;
|
|
150
|
+
}
|
|
151
|
+
else if (data.length < pos + 8 &&
|
|
152
|
+
"[CDATA[".startsWith(data.slice(pos + 1))) {
|
|
153
|
+
// We potentially have CDATA, but the chunk is ending; stop here and let the next write() decide
|
|
154
|
+
parseRemainder = true;
|
|
155
|
+
pos = data.length;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
recordStart = undefined;
|
|
159
|
+
state = STATE_IGNORE_COMMENT;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else if (c === 63 /* ? */) {
|
|
163
|
+
recordStart = undefined;
|
|
164
|
+
state = STATE_IGNORE_INSTRUCTION;
|
|
165
|
+
}
|
|
166
|
+
else if (c <= 32 || c === 47 /* / */ || c === 62 /* > */) {
|
|
167
|
+
tagName = endRecording();
|
|
168
|
+
pos--;
|
|
169
|
+
state = STATE_TAG;
|
|
170
|
+
}
|
|
171
|
+
break;
|
|
172
|
+
case STATE_IGNORE_COMMENT:
|
|
173
|
+
if (c === 62 /* > */) {
|
|
174
|
+
const prevFirst = data.charCodeAt(pos - 1);
|
|
175
|
+
const prevSecond = data.charCodeAt(pos - 2);
|
|
176
|
+
if ((prevFirst === 45 /* - */ && prevSecond === 45) /* - */ ||
|
|
177
|
+
(prevFirst === 93 /* ] */ && prevSecond === 93) /* ] */) {
|
|
178
|
+
state = STATE_TEXT;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
case STATE_IGNORE_INSTRUCTION:
|
|
183
|
+
if (c === 62 /* > */) {
|
|
184
|
+
const prev = data.charCodeAt(pos - 1);
|
|
185
|
+
if (prev === 63 /* ? */) {
|
|
186
|
+
state = STATE_TEXT;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
break;
|
|
190
|
+
case STATE_TAG:
|
|
191
|
+
if (c === 62 /* > */) {
|
|
192
|
+
_handleTagOpening.call(this, endTag, tagName, attrs);
|
|
193
|
+
tagName = undefined;
|
|
194
|
+
attrs = undefined;
|
|
195
|
+
endTag = undefined;
|
|
196
|
+
selfClosing = undefined;
|
|
197
|
+
state = STATE_TEXT;
|
|
198
|
+
recordStart = pos + 1;
|
|
199
|
+
}
|
|
200
|
+
else if (c === 47 /* / */) {
|
|
201
|
+
selfClosing = true;
|
|
202
|
+
}
|
|
203
|
+
else if (c > 32) {
|
|
204
|
+
recordStart = pos;
|
|
205
|
+
state = STATE_ATTR_NAME;
|
|
206
|
+
}
|
|
207
|
+
break;
|
|
208
|
+
case STATE_ATTR_NAME:
|
|
209
|
+
if (c <= 32 || c === 61 /* = */) {
|
|
210
|
+
attrName = endRecording();
|
|
211
|
+
pos--;
|
|
212
|
+
state = STATE_ATTR_EQ;
|
|
213
|
+
}
|
|
214
|
+
break;
|
|
215
|
+
case STATE_ATTR_EQ:
|
|
216
|
+
if (c === 61 /* = */) {
|
|
217
|
+
state = STATE_ATTR_QUOT;
|
|
218
|
+
}
|
|
219
|
+
break;
|
|
220
|
+
case STATE_ATTR_QUOT:
|
|
221
|
+
if (c === 34 /* " */ || c === 39 /* ' */) {
|
|
222
|
+
attrQuote = c;
|
|
223
|
+
attrQuoteChar = c === 34 ? '"' : "'";
|
|
224
|
+
state = STATE_ATTR_VALUE;
|
|
225
|
+
recordStart = pos + 1;
|
|
226
|
+
}
|
|
227
|
+
break;
|
|
228
|
+
case STATE_ATTR_VALUE:
|
|
229
|
+
if (c === attrQuote) {
|
|
230
|
+
const value = (0, escape_1.unescapeXML)(endRecording());
|
|
231
|
+
attrs[attrName] = value;
|
|
232
|
+
attrName = undefined;
|
|
233
|
+
state = STATE_TAG;
|
|
234
|
+
}
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
if (typeof recordStart === "number" && recordStart <= data.length) {
|
|
239
|
+
remainder = data.slice(recordStart);
|
|
240
|
+
recordStart = 0;
|
|
241
|
+
}
|
|
242
|
+
}, "f");
|
|
243
|
+
}
|
|
244
|
+
write(data) {
|
|
245
|
+
__classPrivateFieldGet(this, _SaxLtx_write, "f").call(this, data.toString());
|
|
246
|
+
}
|
|
247
|
+
end(data) {
|
|
248
|
+
if (data) {
|
|
249
|
+
this.write(data);
|
|
250
|
+
}
|
|
251
|
+
/* Uh, yeah */
|
|
252
|
+
this.write = function write() { };
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
exports.SaxLtx = SaxLtx;
|
|
256
|
+
_SaxLtx_write = new WeakMap();
|
|
257
|
+
//# sourceMappingURL=lts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lts.js","sourceRoot":"","sources":["../../../../source/thirdparties/parser/lts.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,8 @@
|
|
|
2
2
|
* @module node-opcua-xml2json
|
|
3
3
|
* node -> see if https://github.com/isaacs/sax-js could be used instead
|
|
4
4
|
*/
|
|
5
|
-
declare const LtxParser: any;
|
|
6
5
|
export type SimpleCallback = (err?: Error) => void;
|
|
7
6
|
export type Callback<T> = (err?: Error | null, result?: T) => void;
|
|
8
|
-
declare interface LtxParser {
|
|
9
|
-
write(str: string): void;
|
|
10
|
-
end(): void;
|
|
11
|
-
on(eventName: "startElement", eventHandler: (name: string, attrs: XmlAttributes) => void): void;
|
|
12
|
-
on(eventName: "endElement", eventHandler: (name: string) => void): void;
|
|
13
|
-
on(eventName: "text", eventHandler: (name: string) => void): void;
|
|
14
|
-
on(eventName: "close", eventHandler: () => void): void;
|
|
15
|
-
}
|
|
16
7
|
export interface Parser {
|
|
17
8
|
[key: string]: ReaderState;
|
|
18
9
|
}
|
|
@@ -133,12 +124,7 @@ export declare class Xml2Json {
|
|
|
133
124
|
private state_stack;
|
|
134
125
|
private current_state;
|
|
135
126
|
constructor(options: ReaderStateParser);
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* @deprecated
|
|
139
|
-
*/
|
|
140
|
-
parseString(xml_text: string): Promise<any>;
|
|
141
|
-
parseString(xml_text: string, callback: Callback<any> | SimpleCallback): void;
|
|
127
|
+
parseString(xml_text: string): Record<string, unknown>;
|
|
142
128
|
/**
|
|
143
129
|
* @private
|
|
144
130
|
* @internal
|
|
@@ -153,6 +139,5 @@ export declare class Xml2Json {
|
|
|
153
139
|
* @private
|
|
154
140
|
* @internal
|
|
155
141
|
*/
|
|
156
|
-
protected
|
|
142
|
+
protected __parseInternal(data: string): Record<string, unknown>;
|
|
157
143
|
}
|
|
158
|
-
export {};
|
package/dist/source/xml2json.js
CHANGED
|
@@ -5,11 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.Xml2Json = exports.ReaderState = exports.ReaderStateBase = void 0;
|
|
8
|
-
// tslint:disable:max-classes-per-file
|
|
9
|
-
// tslint:disable:no-var-requires
|
|
10
|
-
// tslint:disable:unified-signatures
|
|
11
8
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
12
|
-
const
|
|
9
|
+
const lts_1 = require("./thirdparties/parser/lts");
|
|
13
10
|
/**
|
|
14
11
|
* @static
|
|
15
12
|
* @private
|
|
@@ -192,17 +189,8 @@ class Xml2Json {
|
|
|
192
189
|
this.current_state = null;
|
|
193
190
|
this._promote(state, 0);
|
|
194
191
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const parser = this._prepareParser((err, r) => (retValue = r));
|
|
198
|
-
parser.write(xml_text);
|
|
199
|
-
parser.end();
|
|
200
|
-
return retValue;
|
|
201
|
-
}
|
|
202
|
-
parseString(xml_text, callback) {
|
|
203
|
-
const parser = this._prepareParser(callback);
|
|
204
|
-
parser.write(xml_text);
|
|
205
|
-
parser.end();
|
|
192
|
+
parseString(xml_text) {
|
|
193
|
+
return this.__parseInternal(xml_text);
|
|
206
194
|
}
|
|
207
195
|
/**
|
|
208
196
|
* @private
|
|
@@ -234,9 +222,8 @@ class Xml2Json {
|
|
|
234
222
|
* @private
|
|
235
223
|
* @internal
|
|
236
224
|
*/
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
const parser = new LtxParser();
|
|
225
|
+
__parseInternal(data) {
|
|
226
|
+
const parser = new lts_1.SaxLtx();
|
|
240
227
|
this.currentLevel = 0;
|
|
241
228
|
parser.on("startElement", (name, attrs) => {
|
|
242
229
|
const tag_ns = resolve_namespace(name);
|
|
@@ -264,17 +251,18 @@ class Xml2Json {
|
|
|
264
251
|
this.current_state._on_text(text);
|
|
265
252
|
}
|
|
266
253
|
});
|
|
267
|
-
parser.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
254
|
+
parser.write(data);
|
|
255
|
+
parser.end("");
|
|
256
|
+
return this.current_state._pojo;
|
|
257
|
+
/*
|
|
258
|
+
return await new Promise((resolve) => {
|
|
259
|
+
parser.once("close", () => {
|
|
260
|
+
resolve((this.current_state! as any)._pojo);
|
|
261
|
+
});
|
|
262
|
+
//parser.write(data);
|
|
263
|
+
parser.end(data);
|
|
264
|
+
})*/
|
|
273
265
|
}
|
|
274
266
|
}
|
|
275
267
|
exports.Xml2Json = Xml2Json;
|
|
276
|
-
// tslint:disable:no-var-requires
|
|
277
|
-
const thenify_ex_1 = require("thenify-ex");
|
|
278
|
-
const opts = { multiArgs: false };
|
|
279
|
-
Xml2Json.prototype.parseString = (0, thenify_ex_1.withCallback)(Xml2Json.prototype.parseString, opts);
|
|
280
268
|
//# sourceMappingURL=xml2json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml2json.js","sourceRoot":"","sources":["../../source/xml2json.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"xml2json.js","sourceRoot":"","sources":["../../source/xml2json.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,yDAA2C;AAC3C,mDAAmD;AAUnD;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,MAAkB;IACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;YACzD,+BAA+B;YAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IACD,OAAO,MAAgB,CAAC;AAC5B,CAAC;AAwCD,MAAa,eAAe;CAAI;AAAhC,0CAAgC;AAEhC;;GAEG;AACH,MAAa,WAAY,SAAQ,eAAe;IAoB5C,YAAY,OAAwC;QAChD,KAAK,EAAE,CAAC;QAbL,WAAM,GAAU,EAAE,CAAC;QACnB,SAAI,GAAG,EAAE,CAAC;QACV,SAAI,GAAI,EAAE,CAAC;QACX,UAAK,GAAG,CAAC,CAAC,CAAC;QACX,iBAAY,GAAG,CAAC,CAAC,CAAC;QAUrB,qDAAqD;QACrD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAEtC,IAAI,CAAC,CAAC,OAAO,YAAY,eAAe,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,WAAmB,EAAE,KAAoB,EAAE,MAAoB,EAAE,KAAa,EAAE,MAAgB;QAC5G,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAA,0BAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IACD;;OAEG;IACI,UAAU;QACb,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,KAAa,EAAE,WAAmB,EAAE,KAAoB;QAC5E,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAEf,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,KAAa,EAAE,WAAmB;QACrD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,KAAa,EAAE,WAAmB;QACpD,IAAA,0BAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;YACrB,sCAAsC;YACtC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC9B,yCAAyC;YACzC,oBAAoB;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,kBAAkB;YAClB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IACI,IAAI,CAAC,MAAM;gBACV,IAAI,CAAC,MAAc,CAAC,MAAM;gBAC3B,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAE,IAAI,CAAC,MAAc,CAAC,MAAM,EAAE,WAAW,CAAC,EAChF,CAAC;gBACC,IAAI,CAAC,MAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,IAAY;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACJ;AA9HD,kCA8HC;AAED,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAEjC,SAAS,iBAAiB,CAAC,IAAY;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IACD,OAAO;QACH,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACR,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;KACZ,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAa,QAAQ;IAKjB,YAAY,OAA0B;QAJ/B,iBAAY,GAAG,CAAC,CAAC;QAChB,gBAAW,GAAU,EAAE,CAAC;QACxB,kBAAa,GAAwB,IAAI,CAAC;QAG9C,MAAM,KAAK,GAAG,OAAO,YAAY,eAAe,CAAC,CAAC,CAAE,OAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACvG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEM,WAAW,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD;;;OAGG;IACI,QAAQ,CAAC,SAAuB,EAAE,KAAa,EAAE,IAAa,EAAE,IAAoB;QACvF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAClB,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,IAAI,CAAC,aAAa;SAC5B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,MAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,SAAuB,EAAE,KAAa,EAAE,WAAmB;QACtE,8CAA8C;QAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,IAAY;QAClC,MAAM,MAAM,GAAG,IAAI,YAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,IAAY,EAAE,KAAoB,EAAE,EAAE;YAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YAC/B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO;YACX,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACf,OAAQ,IAAI,CAAC,aAAsB,CAAC,KAAK,CAAC;QAC1C;;;;;;;YAOI;IACR,CAAC;CACJ;AA3FD,4BA2FC"}
|