node-opcua-xml2json 2.52.0 → 2.57.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/definition_parser.js +9 -9
- package/dist/source/extension_object_parser.d.ts +2 -2
- package/dist/source/extension_object_parser.js +11 -5
- package/dist/source/extension_object_parser.js.map +1 -1
- package/dist/source/fragment_cloner.js +6 -2
- package/dist/source/fragment_cloner.js.map +1 -1
- package/dist/source/fragment_cloner_parser.d.ts +2 -2
- package/dist/source/fragment_cloner_parser.js +0 -1
- package/dist/source/fragment_cloner_parser.js.map +1 -1
- package/dist/source/xml2Json_pojo_tools.js +1 -1
- package/dist/source/xml2Json_pojo_tools.js.map +1 -1
- package/dist/source/xml2json_pojo.js.map +1 -1
- package/package.json +9 -7
- package/pnpm-lock.yaml +3 -3
- package/source/definition_parser.ts +9 -9
- package/source/extension_object_parser.ts +23 -9
- package/source/fragment_cloner.ts +10 -3
- package/source/fragment_cloner_parser.ts +6 -3
- package/source/xml2Json_pojo_tools.ts +3 -3
- package/source/xml2json_pojo.ts +1 -2
|
@@ -35,12 +35,12 @@ exports._definitionParser = {
|
|
|
35
35
|
Description: {
|
|
36
36
|
finish() {
|
|
37
37
|
this.parent.description = this.text;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
40
|
},
|
|
41
41
|
finish() {
|
|
42
42
|
const obj = {
|
|
43
|
-
name: this.attrs.Name
|
|
43
|
+
name: this.attrs.Name
|
|
44
44
|
};
|
|
45
45
|
if (this.attrs.DataType !== undefined) {
|
|
46
46
|
obj.dataType = this.attrs.DataType;
|
|
@@ -66,19 +66,19 @@ exports._definitionParser = {
|
|
|
66
66
|
obj.symbolicName = this.attrs.SymbolicName;
|
|
67
67
|
}
|
|
68
68
|
this.parent.array.push(obj);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
72
|
};
|
|
73
73
|
exports.definitionReaderStateParser = {
|
|
74
74
|
parser: {
|
|
75
|
-
Definition: exports._definitionParser
|
|
75
|
+
Definition: exports._definitionParser
|
|
76
76
|
},
|
|
77
77
|
endElement() {
|
|
78
78
|
this._pojo = {
|
|
79
79
|
name: this.definitionName,
|
|
80
|
-
fields: this.definitionFields
|
|
80
|
+
fields: this.definitionFields
|
|
81
81
|
};
|
|
82
|
-
}
|
|
82
|
+
}
|
|
83
83
|
};
|
|
84
84
|
//# sourceMappingURL=definition_parser.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReaderState } from "./xml2json";
|
|
1
|
+
import { ReaderState, ReaderStateParserLike } from "./xml2json";
|
|
2
2
|
interface Field {
|
|
3
3
|
dataType: any;
|
|
4
4
|
description?: string;
|
|
@@ -13,5 +13,5 @@ export interface Definition {
|
|
|
13
13
|
export interface DefinitionMap {
|
|
14
14
|
findDefinition(name: string): Definition;
|
|
15
15
|
}
|
|
16
|
-
export declare function makeExtensionObjectReader(definitionName: string, definitionMap: DefinitionMap, readerMap:
|
|
16
|
+
export declare function makeExtensionObjectReader(definitionName: string, definitionMap: DefinitionMap, readerMap: Record<string, ReaderStateParserLike>): ReaderState;
|
|
17
17
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeExtensionObjectReader = void 0;
|
|
4
|
-
const xml2json_1 = require("./xml2json");
|
|
5
4
|
const node_opcua_utils_1 = require("node-opcua-utils");
|
|
5
|
+
const xml2json_1 = require("./xml2json");
|
|
6
6
|
function BasicType_parser(dataType, parseFunc) {
|
|
7
7
|
const r = {
|
|
8
8
|
init(elementName, attrs) {
|
|
@@ -22,7 +22,9 @@ function ListOf(dataType, parseFunc) {
|
|
|
22
22
|
this.value = [];
|
|
23
23
|
},
|
|
24
24
|
parser: BasicType_parser(dataType, parseFunc),
|
|
25
|
-
finish() {
|
|
25
|
+
finish() {
|
|
26
|
+
/** empty */
|
|
27
|
+
},
|
|
26
28
|
endElement(elementName) {
|
|
27
29
|
this.value.push(this.parser[elementName].value);
|
|
28
30
|
}
|
|
@@ -127,7 +129,9 @@ const partials = {
|
|
|
127
129
|
this.value = [];
|
|
128
130
|
},
|
|
129
131
|
parser: { LocalizedText: localizedTextReader },
|
|
130
|
-
finish() {
|
|
132
|
+
finish() {
|
|
133
|
+
/** empty */
|
|
134
|
+
},
|
|
131
135
|
endElement() {
|
|
132
136
|
this.value.push(this.parser.LocalizedText.value);
|
|
133
137
|
}
|
|
@@ -152,7 +156,7 @@ function _clone(a) {
|
|
|
152
156
|
}
|
|
153
157
|
function _makeExtensionObjectReader(definitionName, definitionMap, readerMap) {
|
|
154
158
|
// is it a basic type ?
|
|
155
|
-
if (
|
|
159
|
+
if (Object.prototype.hasOwnProperty.call(partials, definitionName)) {
|
|
156
160
|
return partials[definitionName];
|
|
157
161
|
}
|
|
158
162
|
let reader = readerMap[definitionName];
|
|
@@ -164,7 +168,9 @@ function _makeExtensionObjectReader(definitionName, definitionMap, readerMap) {
|
|
|
164
168
|
throw new Error("cannot find definition for " + definitionName);
|
|
165
169
|
}
|
|
166
170
|
reader = {
|
|
167
|
-
finish() {
|
|
171
|
+
finish() {
|
|
172
|
+
/** empty */
|
|
173
|
+
},
|
|
168
174
|
parser: {}
|
|
169
175
|
};
|
|
170
176
|
for (const field of definition.fields) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension_object_parser.js","sourceRoot":"","sources":["../../source/extension_object_parser.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"extension_object_parser.js","sourceRoot":"","sources":["../../source/extension_object_parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,8 +31,12 @@ class InternalFragmentClonerReaderState {
|
|
|
31
31
|
this._xw.writeAttribute(attName, attValue);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
_on_finish() {
|
|
35
|
-
|
|
34
|
+
_on_finish() {
|
|
35
|
+
/** */
|
|
36
|
+
}
|
|
37
|
+
_on_endElement2(level, elementName) {
|
|
38
|
+
/** */
|
|
39
|
+
}
|
|
36
40
|
_on_text(text) {
|
|
37
41
|
this._xw.text(text);
|
|
38
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment_cloner.js","sourceRoot":"","sources":["../../source/fragment_cloner.ts"],"names":[],"mappings":";;;AAaA,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAExC,MAAa,iCAAiC;IAA9C;QACY,QAAG,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,cAAS,
|
|
1
|
+
{"version":3,"file":"fragment_cloner.js","sourceRoot":"","sources":["../../source/fragment_cloner.ts"],"names":[],"mappings":";;;AAaA,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAExC,MAAa,iCAAiC;IAA9C;QACY,QAAG,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,cAAS,GAAG,CAAC,CAAC;IAuCzB,CAAC;IApCU,gBAAgB,CAAC,KAAa,EAAE,WAAmB,EAAE,KAAoB;QAC5E,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC9C;IACL,CAAC;IACM,cAAc,CAAC,KAAa,EAAE,WAAmB;QACpD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,MAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;IACL,CAAC;IACM,QAAQ,CAAC,WAAmB,EAAE,KAAoB,EAAE,MAAoB,EAAE,KAAa,EAAE,MAAgB;QAC5G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrD,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC9C;IACL,CAAC;IAEM,UAAU;QACb,MAAM;IACV,CAAC;IAEM,eAAe,CAAC,KAAa,EAAE,WAAmB;QACrD,MAAM;IACV,CAAC;IAEM,QAAQ,CAAC,IAAY;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACJ;AA1CD,8EA0CC"}
|
|
@@ -2,7 +2,7 @@ import { XmlAttributes } from "./xml2json";
|
|
|
2
2
|
export declare class FragmentClonerParser {
|
|
3
3
|
value: any;
|
|
4
4
|
private _cloneFragment?;
|
|
5
|
-
|
|
6
|
-
startElement(
|
|
5
|
+
private engine?;
|
|
6
|
+
startElement(elementName: string, attrs: XmlAttributes): void;
|
|
7
7
|
finish(): void;
|
|
8
8
|
}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FragmentClonerParser = void 0;
|
|
4
4
|
const fragment_cloner_1 = require("./fragment_cloner");
|
|
5
5
|
class FragmentClonerParser {
|
|
6
|
-
constructor() { }
|
|
7
6
|
startElement(elementName, attrs) {
|
|
8
7
|
this._cloneFragment = new fragment_cloner_1.InternalFragmentClonerReaderState();
|
|
9
8
|
this.engine._promote(this._cloneFragment, this.engine.currentLevel, elementName, attrs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment_cloner_parser.js","sourceRoot":"","sources":["../../source/fragment_cloner_parser.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AAGtE,MAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"fragment_cloner_parser.js","sourceRoot":"","sources":["../../source/fragment_cloner_parser.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AAGtE,MAAa,oBAAoB;IAQtB,YAAY,CAAC,WAAmB,EAAE,KAAoB;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,mDAAiC,EAAE,CAAC;QAC9D,IAAI,CAAC,MAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAO,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9F,CAAC;IACM,MAAM;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAe,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,cAAe,CAAC,KAAK,GAAG,IAAI,CAAC;IACtC,CAAC;CACJ;AAhBD,oDAgBC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReaderState2 = void 0;
|
|
4
|
-
const xml2json_1 = require("./xml2json");
|
|
5
4
|
const node_opcua_utils_1 = require("node-opcua-utils");
|
|
5
|
+
const xml2json_1 = require("./xml2json");
|
|
6
6
|
class ReaderState2 extends xml2json_1.ReaderStateBase {
|
|
7
7
|
constructor() {
|
|
8
8
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml2Json_pojo_tools.js","sourceRoot":"","sources":["../../source/xml2Json_pojo_tools.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"xml2Json_pojo_tools.js","sourceRoot":"","sources":["../../source/xml2Json_pojo_tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml2json_pojo.js","sourceRoot":"","sources":["../../source/xml2json_pojo.ts"],"names":[],"mappings":";;;AAAA,yCAAmG;AACnG,+DAAqE;
|
|
1
|
+
{"version":3,"file":"xml2json_pojo.js","sourceRoot":"","sources":["../../source/xml2json_pojo.ts"],"names":[],"mappings":";;;AAAA,yCAAmG;AACnG,+DAAqE;AAErE,MAAM,cAAc,GAAiB,IAAI,kCAAY,EAAE,CAAC;AAC3C,QAAA,WAAW,GAAsB;IAC1C,IAAI,CAAqB,WAAmB,EAAE,KAAoB,EAAE,MAAoB,EAAE,MAAgB;QACtG,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,MAAM;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IAC7C,CAAC;CACJ,CAAC;AAEF,SAAgB,SAAS,CAAC,KAAkB,EAAE,WAAmB,EAAE,KAAoB,EAAE,QAAwB;IAC7G,KAAK,CAAC,MAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAO,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACvF,cAAc,CAAC,SAAS,GAAG,CAAC,IAAY,EAAE,IAAS,EAAE,EAAE;QACnD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrB,KAAK,CAAC,MAAO,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,MAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACnF,CAAC,CAAC;AACN,CAAC;AAND,8BAMC;AAED,MAAa,YAAa,SAAQ,mBAAQ;IACtC;QACI,KAAK,CAAC,cAAmC,CAAC,CAAC;IAC/C,CAAC;CACJ;AAJD,oCAIC"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-xml2json",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.57.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module -xml2json",
|
|
5
5
|
"main": "dist/source/index.js",
|
|
6
|
-
"
|
|
6
|
+
"types": "dist/source/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc -b",
|
|
9
|
+
"lint": "eslint source test",
|
|
10
|
+
"format": "prettier --write source test",
|
|
9
11
|
"clean": "node -e \"require('rimraf').sync('dist');\"",
|
|
10
12
|
"test": "mocha"
|
|
11
13
|
},
|
|
12
14
|
"dependencies": {
|
|
13
15
|
"bomstrip": "^0.1.4",
|
|
14
16
|
"ltx": "^3.0.0",
|
|
15
|
-
"node-opcua-assert": "2.
|
|
16
|
-
"node-opcua-debug": "2.
|
|
17
|
-
"node-opcua-utils": "2.
|
|
17
|
+
"node-opcua-assert": "2.55.0",
|
|
18
|
+
"node-opcua-debug": "2.55.0",
|
|
19
|
+
"node-opcua-utils": "2.57.0",
|
|
18
20
|
"xml-writer": "^1.7.0"
|
|
19
21
|
},
|
|
20
22
|
"author": "Etienne Rossignon",
|
|
21
23
|
"license": "MIT",
|
|
22
24
|
"devDependencies": {
|
|
23
|
-
"node-opcua-nodesets": "2.
|
|
25
|
+
"node-opcua-nodesets": "2.57.0",
|
|
24
26
|
"should": "^13.2.3"
|
|
25
27
|
},
|
|
26
28
|
"repository": {
|
|
@@ -36,5 +38,5 @@
|
|
|
36
38
|
"internet of things"
|
|
37
39
|
],
|
|
38
40
|
"homepage": "http://node-opcua.github.io/",
|
|
39
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "cb6a995ab35ea6231ffca85fbd0b624fe37119d2"
|
|
40
42
|
}
|
package/pnpm-lock.yaml
CHANGED
|
@@ -3,10 +3,10 @@ lockfileVersion: 5.3
|
|
|
3
3
|
specifiers:
|
|
4
4
|
bomstrip: ^0.1.4
|
|
5
5
|
ltx: ^3.0.0
|
|
6
|
-
node-opcua-assert: 2.
|
|
7
|
-
node-opcua-debug: 2.
|
|
6
|
+
node-opcua-assert: 2.55.0
|
|
7
|
+
node-opcua-debug: 2.55.0
|
|
8
8
|
node-opcua-nodesets: 2.51.0
|
|
9
|
-
node-opcua-utils: 2.
|
|
9
|
+
node-opcua-utils: 2.56.0
|
|
10
10
|
should: ^13.2.3
|
|
11
11
|
xml-writer: ^1.7.0
|
|
12
12
|
|
|
@@ -34,12 +34,12 @@ export const _definitionParser: ReaderStateParserLike = {
|
|
|
34
34
|
Description: {
|
|
35
35
|
finish(this: any) {
|
|
36
36
|
this.parent.description = this.text;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
39
|
},
|
|
40
40
|
finish(this: any) {
|
|
41
41
|
const obj: any = {
|
|
42
|
-
name: this.attrs.Name
|
|
42
|
+
name: this.attrs.Name
|
|
43
43
|
};
|
|
44
44
|
if (this.attrs.DataType !== undefined) {
|
|
45
45
|
obj.dataType = this.attrs.DataType;
|
|
@@ -66,19 +66,19 @@ export const _definitionParser: ReaderStateParserLike = {
|
|
|
66
66
|
obj.symbolicName = this.attrs.SymbolicName;
|
|
67
67
|
}
|
|
68
68
|
this.parent.array.push(obj);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
72
|
};
|
|
73
73
|
export const definitionReaderStateParser: ReaderStateParserLike = {
|
|
74
74
|
parser: {
|
|
75
|
-
Definition: _definitionParser
|
|
75
|
+
Definition: _definitionParser
|
|
76
76
|
},
|
|
77
77
|
endElement(this: any) {
|
|
78
78
|
this._pojo = {
|
|
79
79
|
name: this.definitionName,
|
|
80
80
|
|
|
81
|
-
fields: this.definitionFields
|
|
81
|
+
fields: this.definitionFields
|
|
82
82
|
};
|
|
83
|
-
}
|
|
83
|
+
}
|
|
84
84
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ReaderState, ReaderStateParserLike, ParserLike, XmlAttributes } from "./xml2json";
|
|
2
1
|
import { lowerFirstLetter } from "node-opcua-utils";
|
|
2
|
+
import { ReaderState, ReaderStateParserLike, ParserLike, XmlAttributes } from "./xml2json";
|
|
3
3
|
|
|
4
4
|
function BasicType_parser(dataType: string, parseFunc: (this: any, text: string) => any): ParserLike {
|
|
5
5
|
const r: ReaderStateParserLike = {
|
|
@@ -23,7 +23,9 @@ function ListOf(dataType: string, parseFunc: any) {
|
|
|
23
23
|
|
|
24
24
|
parser: BasicType_parser(dataType, parseFunc),
|
|
25
25
|
|
|
26
|
-
finish(this: any) {
|
|
26
|
+
finish(this: any) {
|
|
27
|
+
/** empty */
|
|
28
|
+
},
|
|
27
29
|
endElement(this: any, elementName: string) {
|
|
28
30
|
this.value.push(this.parser[elementName].value);
|
|
29
31
|
}
|
|
@@ -139,7 +141,9 @@ const partials: { [key: string]: ReaderStateParserLike } = {
|
|
|
139
141
|
this.value = [];
|
|
140
142
|
},
|
|
141
143
|
parser: { LocalizedText: localizedTextReader },
|
|
142
|
-
finish(this: any) {
|
|
144
|
+
finish(this: any) {
|
|
145
|
+
/** empty */
|
|
146
|
+
},
|
|
143
147
|
endElement(this: any /*element*/) {
|
|
144
148
|
this.value.push(this.parser.LocalizedText.value);
|
|
145
149
|
}
|
|
@@ -189,9 +193,13 @@ function _clone(a: any): any {
|
|
|
189
193
|
return { ...a };
|
|
190
194
|
}
|
|
191
195
|
|
|
192
|
-
function _makeExtensionObjectReader(
|
|
196
|
+
function _makeExtensionObjectReader(
|
|
197
|
+
definitionName: string,
|
|
198
|
+
definitionMap: DefinitionMap,
|
|
199
|
+
readerMap: Record<string, ReaderStateParserLike>
|
|
200
|
+
): ReaderStateParserLike {
|
|
193
201
|
// is it a basic type ?
|
|
194
|
-
if (
|
|
202
|
+
if (Object.prototype.hasOwnProperty.call(partials, definitionName)) {
|
|
195
203
|
return partials[definitionName];
|
|
196
204
|
}
|
|
197
205
|
|
|
@@ -205,7 +213,9 @@ function _makeExtensionObjectReader(definitionName: string, definitionMap: Defin
|
|
|
205
213
|
throw new Error("cannot find definition for " + definitionName);
|
|
206
214
|
}
|
|
207
215
|
reader = {
|
|
208
|
-
finish(this: any) {
|
|
216
|
+
finish(this: any) {
|
|
217
|
+
/** empty */
|
|
218
|
+
},
|
|
209
219
|
parser: {}
|
|
210
220
|
};
|
|
211
221
|
|
|
@@ -242,10 +252,10 @@ function _makeExtensionObjectReader(definitionName: string, definitionMap: Defin
|
|
|
242
252
|
this.parent.value[elName] = this.value;
|
|
243
253
|
this.value = undefined;
|
|
244
254
|
},
|
|
245
|
-
startElement(
|
|
255
|
+
startElement(name: string, attrs: XmlAttributes) {
|
|
246
256
|
// empty
|
|
247
257
|
},
|
|
248
|
-
endElement(
|
|
258
|
+
endElement(element: string) {
|
|
249
259
|
this.value.push(_clone(this.parser[element].value));
|
|
250
260
|
}
|
|
251
261
|
};
|
|
@@ -261,7 +271,11 @@ function _makeExtensionObjectReader(definitionName: string, definitionMap: Defin
|
|
|
261
271
|
return reader;
|
|
262
272
|
}
|
|
263
273
|
|
|
264
|
-
export function makeExtensionObjectReader(
|
|
274
|
+
export function makeExtensionObjectReader(
|
|
275
|
+
definitionName: string,
|
|
276
|
+
definitionMap: DefinitionMap,
|
|
277
|
+
readerMap: Record<string, ReaderStateParserLike>
|
|
278
|
+
): ReaderState {
|
|
265
279
|
const reader1: ReaderStateParserLike = {
|
|
266
280
|
parser: {},
|
|
267
281
|
endElement(this: any) {
|
|
@@ -16,7 +16,7 @@ const XMLWriter = require("xml-writer");
|
|
|
16
16
|
export class InternalFragmentClonerReaderState implements IReaderState {
|
|
17
17
|
private _xw: XmlWriter = new XMLWriter(true);
|
|
18
18
|
public value: any;
|
|
19
|
-
public initLevel
|
|
19
|
+
public initLevel = 0;
|
|
20
20
|
public engine?: Xml2Json;
|
|
21
21
|
|
|
22
22
|
public _on_startElement(level: number, elementName: string, attrs: XmlAttributes): void {
|
|
@@ -43,8 +43,15 @@ export class InternalFragmentClonerReaderState implements IReaderState {
|
|
|
43
43
|
this._xw.writeAttribute(attName, attValue);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
public
|
|
46
|
+
|
|
47
|
+
public _on_finish(): void {
|
|
48
|
+
/** */
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public _on_endElement2(level: number, elementName: string): void {
|
|
52
|
+
/** */
|
|
53
|
+
}
|
|
54
|
+
|
|
48
55
|
public _on_text(text: string): void {
|
|
49
56
|
this._xw.text(text);
|
|
50
57
|
}
|
|
@@ -4,13 +4,16 @@ import { XmlAttributes } from "./xml2json";
|
|
|
4
4
|
export class FragmentClonerParser {
|
|
5
5
|
public value: any;
|
|
6
6
|
private _cloneFragment?: InternalFragmentClonerReaderState;
|
|
7
|
-
|
|
7
|
+
private engine?: {
|
|
8
|
+
currentLevel: number;
|
|
9
|
+
_promote: (frag: InternalFragmentClonerReaderState, level: number, elementName: string, attrs: XmlAttributes) => void;
|
|
10
|
+
};
|
|
8
11
|
|
|
9
|
-
public startElement(
|
|
12
|
+
public startElement(elementName: string, attrs: XmlAttributes): void {
|
|
10
13
|
this._cloneFragment = new InternalFragmentClonerReaderState();
|
|
11
14
|
this.engine!._promote(this._cloneFragment, this.engine!.currentLevel, elementName, attrs);
|
|
12
15
|
}
|
|
13
|
-
public finish() {
|
|
16
|
+
public finish(): void {
|
|
14
17
|
this.value = this._cloneFragment!.value;
|
|
15
18
|
this._cloneFragment!.value = null;
|
|
16
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IReaderState, ReaderState, ReaderStateBase, ReaderStateParser, Xml2Json, XmlAttributes } from "./xml2json";
|
|
2
1
|
import { lowerFirstLetter } from "node-opcua-utils";
|
|
2
|
+
import { IReaderState, ReaderStateBase, Xml2Json, XmlAttributes } from "./xml2json";
|
|
3
3
|
export type withPojoLambda = (name: string, pojo: any) => void;
|
|
4
4
|
|
|
5
5
|
export class ReaderState2 extends ReaderStateBase {
|
|
@@ -12,7 +12,7 @@ export class ReaderState2 extends ReaderStateBase {
|
|
|
12
12
|
|
|
13
13
|
private parent?: IReaderState;
|
|
14
14
|
private engine?: Xml2Json;
|
|
15
|
-
private initLevel
|
|
15
|
+
private initLevel = 0;
|
|
16
16
|
|
|
17
17
|
constructor() {
|
|
18
18
|
super();
|
|
@@ -36,7 +36,7 @@ export class ReaderState2 extends ReaderStateBase {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
public _on_finish() {
|
|
39
|
+
public _on_finish(): void {
|
|
40
40
|
/* empy */
|
|
41
41
|
}
|
|
42
42
|
|
package/source/xml2json_pojo.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { IReaderState, ReaderState, ReaderStateParser, Xml2Json, XmlAttributes } from "./xml2json";
|
|
2
2
|
import { ReaderState2, withPojoLambda } from "./xml2Json_pojo_tools";
|
|
3
3
|
|
|
4
|
-
|
|
5
4
|
const json_extractor: ReaderState2 = new ReaderState2();
|
|
6
5
|
export const json_parser: ReaderStateParser = {
|
|
7
6
|
init(this: IReaderState, elementName: string, attrs: XmlAttributes, parent: IReaderState, engine: Xml2Json) {
|
|
@@ -12,7 +11,7 @@ export const json_parser: ReaderStateParser = {
|
|
|
12
11
|
}
|
|
13
12
|
};
|
|
14
13
|
|
|
15
|
-
export function startPojo(pThis: ReaderState, elementName: string, attrs: XmlAttributes, withPojo: withPojoLambda) {
|
|
14
|
+
export function startPojo(pThis: ReaderState, elementName: string, attrs: XmlAttributes, withPojo: withPojoLambda): void {
|
|
16
15
|
pThis.engine!._promote(json_extractor, pThis.engine!.currentLevel, elementName, attrs);
|
|
17
16
|
json_extractor._withPojo = (name: string, pojo: any) => {
|
|
18
17
|
withPojo(name, pojo);
|