node-opcua-xml2json 2.63.1 → 2.64.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/dist/source/definition_parser.d.ts +3 -3
- package/dist/source/definition_parser.js +83 -83
- package/dist/source/extension_object_parser.d.ts +17 -17
- package/dist/source/extension_object_parser.js +239 -239
- package/dist/source/fragmentCloner.d.ts +20 -0
- package/dist/source/fragmentCloner.js +55 -0
- package/dist/source/fragmentCloner.js.map +1 -0
- package/dist/source/fragment_cloner.d.ts +13 -13
- package/dist/source/fragment_cloner.js +44 -44
- package/dist/source/fragment_cloner_parser.d.ts +8 -8
- package/dist/source/fragment_cloner_parser.js +15 -15
- package/dist/source/index.d.ts +6 -6
- package/dist/source/index.js +18 -18
- package/dist/source/nodejs/xml2json_fs.d.ts +10 -10
- package/dist/source/nodejs/xml2json_fs.js +38 -38
- package/dist/source/xml2JsonPojo.d.ts +8 -0
- package/dist/source/xml2JsonPojo.js +109 -0
- package/dist/source/xml2JsonPojo.js.map +1 -0
- package/dist/source/xml2Json_pojo_tools.d.ts +19 -19
- package/dist/source/xml2Json_pojo_tools.js +88 -88
- package/dist/source/xml2json.d.ts +177 -177
- package/dist/source/xml2json.js +295 -295
- package/dist/source/xml2json_pojo.d.ts +7 -7
- package/dist/source/xml2json_pojo.js +28 -28
- package/package.json +6 -6
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InternalFragmentClonerReaderState = void 0;
|
|
4
|
-
const XMLWriter = require("xml-writer");
|
|
5
|
-
class InternalFragmentClonerReaderState {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._xw = new XMLWriter(true);
|
|
8
|
-
this.initLevel = 0;
|
|
9
|
-
}
|
|
10
|
-
_on_startElement(level, elementName, attrs) {
|
|
11
|
-
this._xw.startElement(elementName);
|
|
12
|
-
for (const [attName, attValue] of Object.entries(attrs)) {
|
|
13
|
-
this._xw.writeAttribute(attName, attValue);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
_on_endElement(level, elementName) {
|
|
17
|
-
this._xw.endElement();
|
|
18
|
-
if (this.initLevel === level) {
|
|
19
|
-
this.value = this._xw.toString();
|
|
20
|
-
this.engine._demote(this, this.engine.currentLevel, elementName);
|
|
21
|
-
this.engine = undefined;
|
|
22
|
-
this._on_finish();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
_on_init(elementName, attrs, parent, level, engine) {
|
|
26
|
-
this.engine = engine;
|
|
27
|
-
this.initLevel = level;
|
|
28
|
-
this._xw = new XMLWriter(true);
|
|
29
|
-
this._xw.startElement(elementName);
|
|
30
|
-
for (const [attName, attValue] of Object.entries(attrs)) {
|
|
31
|
-
this._xw.writeAttribute(attName, attValue);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
_on_finish() {
|
|
35
|
-
/** */
|
|
36
|
-
}
|
|
37
|
-
_on_endElement2(level, elementName) {
|
|
38
|
-
/** */
|
|
39
|
-
}
|
|
40
|
-
_on_text(text) {
|
|
41
|
-
this._xw.text(text);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.InternalFragmentClonerReaderState = InternalFragmentClonerReaderState;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InternalFragmentClonerReaderState = void 0;
|
|
4
|
+
const XMLWriter = require("xml-writer");
|
|
5
|
+
class InternalFragmentClonerReaderState {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._xw = new XMLWriter(true);
|
|
8
|
+
this.initLevel = 0;
|
|
9
|
+
}
|
|
10
|
+
_on_startElement(level, elementName, attrs) {
|
|
11
|
+
this._xw.startElement(elementName);
|
|
12
|
+
for (const [attName, attValue] of Object.entries(attrs)) {
|
|
13
|
+
this._xw.writeAttribute(attName, attValue);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
_on_endElement(level, elementName) {
|
|
17
|
+
this._xw.endElement();
|
|
18
|
+
if (this.initLevel === level) {
|
|
19
|
+
this.value = this._xw.toString();
|
|
20
|
+
this.engine._demote(this, this.engine.currentLevel, elementName);
|
|
21
|
+
this.engine = undefined;
|
|
22
|
+
this._on_finish();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
_on_init(elementName, attrs, parent, level, engine) {
|
|
26
|
+
this.engine = engine;
|
|
27
|
+
this.initLevel = level;
|
|
28
|
+
this._xw = new XMLWriter(true);
|
|
29
|
+
this._xw.startElement(elementName);
|
|
30
|
+
for (const [attName, attValue] of Object.entries(attrs)) {
|
|
31
|
+
this._xw.writeAttribute(attName, attValue);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
_on_finish() {
|
|
35
|
+
/** */
|
|
36
|
+
}
|
|
37
|
+
_on_endElement2(level, elementName) {
|
|
38
|
+
/** */
|
|
39
|
+
}
|
|
40
|
+
_on_text(text) {
|
|
41
|
+
this._xw.text(text);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.InternalFragmentClonerReaderState = InternalFragmentClonerReaderState;
|
|
45
45
|
//# sourceMappingURL=fragment_cloner.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { XmlAttributes } from "./xml2json";
|
|
2
|
-
export declare class FragmentClonerParser {
|
|
3
|
-
value: any;
|
|
4
|
-
private _cloneFragment?;
|
|
5
|
-
private engine?;
|
|
6
|
-
startElement(elementName: string, attrs: XmlAttributes): void;
|
|
7
|
-
finish(): void;
|
|
8
|
-
}
|
|
1
|
+
import { XmlAttributes } from "./xml2json";
|
|
2
|
+
export declare class FragmentClonerParser {
|
|
3
|
+
value: any;
|
|
4
|
+
private _cloneFragment?;
|
|
5
|
+
private engine?;
|
|
6
|
+
startElement(elementName: string, attrs: XmlAttributes): void;
|
|
7
|
+
finish(): void;
|
|
8
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FragmentClonerParser = void 0;
|
|
4
|
-
const fragment_cloner_1 = require("./fragment_cloner");
|
|
5
|
-
class FragmentClonerParser {
|
|
6
|
-
startElement(elementName, attrs) {
|
|
7
|
-
this._cloneFragment = new fragment_cloner_1.InternalFragmentClonerReaderState();
|
|
8
|
-
this.engine._promote(this._cloneFragment, this.engine.currentLevel, elementName, attrs);
|
|
9
|
-
}
|
|
10
|
-
finish() {
|
|
11
|
-
this.value = this._cloneFragment.value;
|
|
12
|
-
this._cloneFragment.value = null;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.FragmentClonerParser = FragmentClonerParser;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FragmentClonerParser = void 0;
|
|
4
|
+
const fragment_cloner_1 = require("./fragment_cloner");
|
|
5
|
+
class FragmentClonerParser {
|
|
6
|
+
startElement(elementName, attrs) {
|
|
7
|
+
this._cloneFragment = new fragment_cloner_1.InternalFragmentClonerReaderState();
|
|
8
|
+
this.engine._promote(this._cloneFragment, this.engine.currentLevel, elementName, attrs);
|
|
9
|
+
}
|
|
10
|
+
finish() {
|
|
11
|
+
this.value = this._cloneFragment.value;
|
|
12
|
+
this._cloneFragment.value = null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.FragmentClonerParser = FragmentClonerParser;
|
|
16
16
|
//# sourceMappingURL=fragment_cloner_parser.js.map
|
package/dist/source/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from "./xml2json";
|
|
2
|
-
export * from "./fragment_cloner";
|
|
3
|
-
export * from "./xml2json_pojo";
|
|
4
|
-
export * from "./fragment_cloner_parser";
|
|
5
|
-
export * from "./extension_object_parser";
|
|
6
|
-
export * from "./definition_parser";
|
|
1
|
+
export * from "./xml2json";
|
|
2
|
+
export * from "./fragment_cloner";
|
|
3
|
+
export * from "./xml2json_pojo";
|
|
4
|
+
export * from "./fragment_cloner_parser";
|
|
5
|
+
export * from "./extension_object_parser";
|
|
6
|
+
export * from "./definition_parser";
|
package/dist/source/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./xml2json"), exports);
|
|
14
|
-
__exportStar(require("./fragment_cloner"), exports);
|
|
15
|
-
__exportStar(require("./xml2json_pojo"), exports);
|
|
16
|
-
__exportStar(require("./fragment_cloner_parser"), exports);
|
|
17
|
-
__exportStar(require("./extension_object_parser"), exports);
|
|
18
|
-
__exportStar(require("./definition_parser"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./xml2json"), exports);
|
|
14
|
+
__exportStar(require("./fragment_cloner"), exports);
|
|
15
|
+
__exportStar(require("./xml2json_pojo"), exports);
|
|
16
|
+
__exportStar(require("./fragment_cloner_parser"), exports);
|
|
17
|
+
__exportStar(require("./extension_object_parser"), exports);
|
|
18
|
+
__exportStar(require("./definition_parser"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Callback, SimpleCallback, Xml2Json } from "../xml2json";
|
|
2
|
-
export declare class Xml2JsonFs extends Xml2Json {
|
|
3
|
-
/**
|
|
4
|
-
* @method parse
|
|
5
|
-
* @async
|
|
6
|
-
* @param xmlFile - the name of the xml file to parse.
|
|
7
|
-
*/
|
|
8
|
-
parse(xmlFile: string): Promise<any>;
|
|
9
|
-
parse(xmlFile: string, callback: Callback<any> | SimpleCallback): void;
|
|
10
|
-
}
|
|
1
|
+
import { Callback, SimpleCallback, Xml2Json } from "../xml2json";
|
|
2
|
+
export declare class Xml2JsonFs extends Xml2Json {
|
|
3
|
+
/**
|
|
4
|
+
* @method parse
|
|
5
|
+
* @async
|
|
6
|
+
* @param xmlFile - the name of the xml file to parse.
|
|
7
|
+
*/
|
|
8
|
+
parse(xmlFile: string): Promise<any>;
|
|
9
|
+
parse(xmlFile: string, callback: Callback<any> | SimpleCallback): void;
|
|
10
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Xml2JsonFs = void 0;
|
|
4
|
-
const fs = require("fs");
|
|
5
|
-
const xml2json_1 = require("../xml2json");
|
|
6
|
-
class Xml2JsonFs extends xml2json_1.Xml2Json {
|
|
7
|
-
parse(xmlFile, callback) {
|
|
8
|
-
if (!callback) {
|
|
9
|
-
throw new Error("internal error");
|
|
10
|
-
}
|
|
11
|
-
const readWholeFile = true;
|
|
12
|
-
if (readWholeFile) {
|
|
13
|
-
// slightly faster but require more memory ..
|
|
14
|
-
fs.readFile(xmlFile, (err, data) => {
|
|
15
|
-
if (err) {
|
|
16
|
-
return callback(err);
|
|
17
|
-
}
|
|
18
|
-
if (data[0] === 0xef && data[1] === 0xbb && data[2] === 0xbf) {
|
|
19
|
-
data = data.slice(3);
|
|
20
|
-
}
|
|
21
|
-
const dataAsString = data.toString();
|
|
22
|
-
const parser = this._prepareParser(callback);
|
|
23
|
-
parser.write(dataAsString);
|
|
24
|
-
parser.end();
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
const Bomstrip = require("bomstrip");
|
|
29
|
-
const parser = this._prepareParser(callback);
|
|
30
|
-
fs.createReadStream(xmlFile, { autoClose: true, encoding: "utf8" }).pipe(new Bomstrip()).pipe(parser);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.Xml2JsonFs = Xml2JsonFs;
|
|
35
|
-
// tslint:disable:no-var-requires
|
|
36
|
-
const thenify = require("thenify");
|
|
37
|
-
const opts = { multiArgs: false };
|
|
38
|
-
Xml2JsonFs.prototype.parse = thenify.withCallback(Xml2JsonFs.prototype.parse, opts);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Xml2JsonFs = void 0;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const xml2json_1 = require("../xml2json");
|
|
6
|
+
class Xml2JsonFs extends xml2json_1.Xml2Json {
|
|
7
|
+
parse(xmlFile, callback) {
|
|
8
|
+
if (!callback) {
|
|
9
|
+
throw new Error("internal error");
|
|
10
|
+
}
|
|
11
|
+
const readWholeFile = true;
|
|
12
|
+
if (readWholeFile) {
|
|
13
|
+
// slightly faster but require more memory ..
|
|
14
|
+
fs.readFile(xmlFile, (err, data) => {
|
|
15
|
+
if (err) {
|
|
16
|
+
return callback(err);
|
|
17
|
+
}
|
|
18
|
+
if (data[0] === 0xef && data[1] === 0xbb && data[2] === 0xbf) {
|
|
19
|
+
data = data.slice(3);
|
|
20
|
+
}
|
|
21
|
+
const dataAsString = data.toString();
|
|
22
|
+
const parser = this._prepareParser(callback);
|
|
23
|
+
parser.write(dataAsString);
|
|
24
|
+
parser.end();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const Bomstrip = require("bomstrip");
|
|
29
|
+
const parser = this._prepareParser(callback);
|
|
30
|
+
fs.createReadStream(xmlFile, { autoClose: true, encoding: "utf8" }).pipe(new Bomstrip()).pipe(parser);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.Xml2JsonFs = Xml2JsonFs;
|
|
35
|
+
// tslint:disable:no-var-requires
|
|
36
|
+
const thenify = require("thenify");
|
|
37
|
+
const opts = { multiArgs: false };
|
|
38
|
+
Xml2JsonFs.prototype.parse = thenify.withCallback(Xml2JsonFs.prototype.parse, opts);
|
|
39
39
|
//# sourceMappingURL=xml2json_fs.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReaderState, ReaderStateParser, Xml2Json, XmlAttributes } from "./xml2json";
|
|
2
|
+
declare type withPojoLambda = (name: string, pojo: any) => void;
|
|
3
|
+
export declare const json_parser: ReaderStateParser;
|
|
4
|
+
export declare function startPojo(pThis: ReaderState, elementName: string, attrs: XmlAttributes, withPojo: withPojoLambda): void;
|
|
5
|
+
export declare class Xml2JsonPojo extends Xml2Json {
|
|
6
|
+
constructor();
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const xml2json_1 = require("./xml2json");
|
|
4
|
+
const node_opcua_utils_1 = require("node-opcua-utils");
|
|
5
|
+
class ReaderState2 extends xml2json_1.ReaderStateBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.initLevel = 0;
|
|
9
|
+
this._pojo = {};
|
|
10
|
+
this._stack = [];
|
|
11
|
+
this._element = {};
|
|
12
|
+
this.text = "";
|
|
13
|
+
this.parent = undefined;
|
|
14
|
+
this._withPojo = (pojo) => {
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
_on_init(elementName, attrs, parent, level, engine) {
|
|
18
|
+
this.parent = parent;
|
|
19
|
+
this.engine = engine;
|
|
20
|
+
this.initLevel = level;
|
|
21
|
+
if (this._stack.length === 0) {
|
|
22
|
+
this._pojo = {};
|
|
23
|
+
this._element = this._pojo;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
_on_finish() {
|
|
27
|
+
/* empy */
|
|
28
|
+
}
|
|
29
|
+
_on_startElement(level, elementName, attrs) {
|
|
30
|
+
this._stack.push(this._element);
|
|
31
|
+
if (elementName.match(/^ListOf/)) {
|
|
32
|
+
elementName = elementName.substring(6);
|
|
33
|
+
const elName = node_opcua_utils_1.lowerFirstLetter(elementName);
|
|
34
|
+
if (this._element instanceof Array) {
|
|
35
|
+
const array = [];
|
|
36
|
+
this._element.push(array);
|
|
37
|
+
this._element = array;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this._element[elName] = [];
|
|
41
|
+
this._element = this._element[elName];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
const elName = node_opcua_utils_1.lowerFirstLetter(elementName);
|
|
46
|
+
if (this._element instanceof Array) {
|
|
47
|
+
const obj = {};
|
|
48
|
+
this._element.push(obj);
|
|
49
|
+
this._element = obj;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this._element[elName] = {};
|
|
53
|
+
this._element = this._element[elName];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
_on_endElement2(level, elementName) {
|
|
58
|
+
/* empty */
|
|
59
|
+
}
|
|
60
|
+
_on_endElement(level, elementName) {
|
|
61
|
+
this._element = this._stack.pop();
|
|
62
|
+
if (this.text.length > 0 && this._element) {
|
|
63
|
+
const elName = node_opcua_utils_1.lowerFirstLetter(elementName);
|
|
64
|
+
this._element[elName] = this.text;
|
|
65
|
+
// this.engine!._pojo = this._pojo;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const elName = node_opcua_utils_1.lowerFirstLetter(elementName);
|
|
69
|
+
if (this.initLevel === level) {
|
|
70
|
+
if (this._withPojo) {
|
|
71
|
+
if (this.text.length) {
|
|
72
|
+
this._withPojo.call(null, elName, this.text);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this._withPojo.call(null, elName, this._pojo);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
this.text = "";
|
|
81
|
+
}
|
|
82
|
+
_on_text(text) {
|
|
83
|
+
this.text = text;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const json_extractor = new ReaderState2();
|
|
87
|
+
exports.json_parser = {
|
|
88
|
+
init(elementName, attrs, parent, engine) {
|
|
89
|
+
json_extractor._on_init(elementName, attrs, parent, 0, engine);
|
|
90
|
+
},
|
|
91
|
+
finish() {
|
|
92
|
+
this.parent._pojo = json_extractor._pojo;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
function startPojo(pThis, elementName, attrs, withPojo) {
|
|
96
|
+
pThis.engine._promote(json_extractor, pThis.engine.currentLevel, elementName, attrs);
|
|
97
|
+
json_extractor._withPojo = (name, pojo) => {
|
|
98
|
+
withPojo(name, pojo);
|
|
99
|
+
pThis.engine._demote(json_extractor, pThis.engine.currentLevel, elementName);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
exports.startPojo = startPojo;
|
|
103
|
+
class Xml2JsonPojo extends xml2json_1.Xml2Json {
|
|
104
|
+
constructor() {
|
|
105
|
+
super(json_extractor);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.Xml2JsonPojo = Xml2JsonPojo;
|
|
109
|
+
//# sourceMappingURL=xml2JsonPojo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml2JsonPojo.js","sourceRoot":"","sources":["../../source/xml2JsonPojo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { IReaderState, ReaderStateBase, Xml2Json, XmlAttributes } from "./xml2json";
|
|
2
|
-
export declare type withPojoLambda = (name: string, pojo: any) => void;
|
|
3
|
-
export declare class ReaderState2 extends ReaderStateBase {
|
|
4
|
-
_stack: any;
|
|
5
|
-
_pojo: any;
|
|
6
|
-
_element: any;
|
|
7
|
-
text: string;
|
|
8
|
-
_withPojo: withPojoLambda;
|
|
9
|
-
private parent?;
|
|
10
|
-
private engine?;
|
|
11
|
-
private initLevel;
|
|
12
|
-
constructor();
|
|
13
|
-
_on_init(elementName: string, attrs: XmlAttributes, parent: IReaderState, level: number, engine: Xml2Json): void;
|
|
14
|
-
_on_finish(): void;
|
|
15
|
-
_on_startElement(level: number, elementName: string, attrs: XmlAttributes): void;
|
|
16
|
-
_on_endElement2(level: number, elementName: string): void;
|
|
17
|
-
_on_endElement(level: number, elementName: string): void;
|
|
18
|
-
_on_text(text: string): void;
|
|
19
|
-
}
|
|
1
|
+
import { IReaderState, ReaderStateBase, Xml2Json, XmlAttributes } from "./xml2json";
|
|
2
|
+
export declare type withPojoLambda = (name: string, pojo: any) => void;
|
|
3
|
+
export declare class ReaderState2 extends ReaderStateBase {
|
|
4
|
+
_stack: any;
|
|
5
|
+
_pojo: any;
|
|
6
|
+
_element: any;
|
|
7
|
+
text: string;
|
|
8
|
+
_withPojo: withPojoLambda;
|
|
9
|
+
private parent?;
|
|
10
|
+
private engine?;
|
|
11
|
+
private initLevel;
|
|
12
|
+
constructor();
|
|
13
|
+
_on_init(elementName: string, attrs: XmlAttributes, parent: IReaderState, level: number, engine: Xml2Json): void;
|
|
14
|
+
_on_finish(): void;
|
|
15
|
+
_on_startElement(level: number, elementName: string, attrs: XmlAttributes): void;
|
|
16
|
+
_on_endElement2(level: number, elementName: string): void;
|
|
17
|
+
_on_endElement(level: number, elementName: string): void;
|
|
18
|
+
_on_text(text: string): void;
|
|
19
|
+
}
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReaderState2 = void 0;
|
|
4
|
-
const node_opcua_utils_1 = require("node-opcua-utils");
|
|
5
|
-
const xml2json_1 = require("./xml2json");
|
|
6
|
-
class ReaderState2 extends xml2json_1.ReaderStateBase {
|
|
7
|
-
constructor() {
|
|
8
|
-
super();
|
|
9
|
-
this.initLevel = 0;
|
|
10
|
-
this._pojo = {};
|
|
11
|
-
this._stack = [];
|
|
12
|
-
this._element = {};
|
|
13
|
-
this.text = "";
|
|
14
|
-
this.parent = undefined;
|
|
15
|
-
this._withPojo = (pojo) => {
|
|
16
|
-
/* empty */
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
_on_init(elementName, attrs, parent, level, engine) {
|
|
20
|
-
this.parent = parent;
|
|
21
|
-
this.engine = engine;
|
|
22
|
-
this.initLevel = level;
|
|
23
|
-
if (this._stack.length === 0) {
|
|
24
|
-
this._pojo = {};
|
|
25
|
-
this._element = this._pojo;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
_on_finish() {
|
|
29
|
-
/* empy */
|
|
30
|
-
}
|
|
31
|
-
_on_startElement(level, elementName, attrs) {
|
|
32
|
-
this._stack.push(this._element);
|
|
33
|
-
if (elementName.match(/^ListOf/)) {
|
|
34
|
-
elementName = elementName.substring(6);
|
|
35
|
-
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
36
|
-
if (this._element instanceof Array) {
|
|
37
|
-
const array = [];
|
|
38
|
-
this._element.push(array);
|
|
39
|
-
this._element = array;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
this._element[elName] = [];
|
|
43
|
-
this._element = this._element[elName];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
48
|
-
if (this._element instanceof Array) {
|
|
49
|
-
const obj = {};
|
|
50
|
-
this._element.push(obj);
|
|
51
|
-
this._element = obj;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this._element[elName] = {};
|
|
55
|
-
this._element = this._element[elName];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
_on_endElement2(level, elementName) {
|
|
60
|
-
/* empty */
|
|
61
|
-
}
|
|
62
|
-
_on_endElement(level, elementName) {
|
|
63
|
-
this._element = this._stack.pop();
|
|
64
|
-
if (this.text.length > 0 && this._element) {
|
|
65
|
-
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
66
|
-
this._element[elName] = this.text;
|
|
67
|
-
// this.engine!._pojo = this._pojo;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
71
|
-
if (this.initLevel === level) {
|
|
72
|
-
if (this._withPojo) {
|
|
73
|
-
if (this.text.length) {
|
|
74
|
-
this._withPojo.call(null, elName, this.text);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
this._withPojo.call(null, elName, this._pojo);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
this.text = "";
|
|
83
|
-
}
|
|
84
|
-
_on_text(text) {
|
|
85
|
-
this.text = text;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.ReaderState2 = ReaderState2;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReaderState2 = void 0;
|
|
4
|
+
const node_opcua_utils_1 = require("node-opcua-utils");
|
|
5
|
+
const xml2json_1 = require("./xml2json");
|
|
6
|
+
class ReaderState2 extends xml2json_1.ReaderStateBase {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.initLevel = 0;
|
|
10
|
+
this._pojo = {};
|
|
11
|
+
this._stack = [];
|
|
12
|
+
this._element = {};
|
|
13
|
+
this.text = "";
|
|
14
|
+
this.parent = undefined;
|
|
15
|
+
this._withPojo = (pojo) => {
|
|
16
|
+
/* empty */
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
_on_init(elementName, attrs, parent, level, engine) {
|
|
20
|
+
this.parent = parent;
|
|
21
|
+
this.engine = engine;
|
|
22
|
+
this.initLevel = level;
|
|
23
|
+
if (this._stack.length === 0) {
|
|
24
|
+
this._pojo = {};
|
|
25
|
+
this._element = this._pojo;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
_on_finish() {
|
|
29
|
+
/* empy */
|
|
30
|
+
}
|
|
31
|
+
_on_startElement(level, elementName, attrs) {
|
|
32
|
+
this._stack.push(this._element);
|
|
33
|
+
if (elementName.match(/^ListOf/)) {
|
|
34
|
+
elementName = elementName.substring(6);
|
|
35
|
+
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
36
|
+
if (this._element instanceof Array) {
|
|
37
|
+
const array = [];
|
|
38
|
+
this._element.push(array);
|
|
39
|
+
this._element = array;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this._element[elName] = [];
|
|
43
|
+
this._element = this._element[elName];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
48
|
+
if (this._element instanceof Array) {
|
|
49
|
+
const obj = {};
|
|
50
|
+
this._element.push(obj);
|
|
51
|
+
this._element = obj;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this._element[elName] = {};
|
|
55
|
+
this._element = this._element[elName];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
_on_endElement2(level, elementName) {
|
|
60
|
+
/* empty */
|
|
61
|
+
}
|
|
62
|
+
_on_endElement(level, elementName) {
|
|
63
|
+
this._element = this._stack.pop();
|
|
64
|
+
if (this.text.length > 0 && this._element) {
|
|
65
|
+
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
66
|
+
this._element[elName] = this.text;
|
|
67
|
+
// this.engine!._pojo = this._pojo;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const elName = (0, node_opcua_utils_1.lowerFirstLetter)(elementName);
|
|
71
|
+
if (this.initLevel === level) {
|
|
72
|
+
if (this._withPojo) {
|
|
73
|
+
if (this.text.length) {
|
|
74
|
+
this._withPojo.call(null, elName, this.text);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this._withPojo.call(null, elName, this._pojo);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
this.text = "";
|
|
83
|
+
}
|
|
84
|
+
_on_text(text) {
|
|
85
|
+
this.text = text;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.ReaderState2 = ReaderState2;
|
|
89
89
|
//# sourceMappingURL=xml2Json_pojo_tools.js.map
|