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,177 +1,177 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module node-opcua-xml2json
|
|
3
|
-
* node -> see if https://github.com/isaacs/sax-js could be used instead
|
|
4
|
-
*/
|
|
5
|
-
declare const LtxParser: any;
|
|
6
|
-
export declare type SimpleCallback = (err?: Error) => void;
|
|
7
|
-
export declare 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
|
-
export interface Parser {
|
|
17
|
-
[key: string]: ReaderState;
|
|
18
|
-
}
|
|
19
|
-
export interface XmlAttributes {
|
|
20
|
-
[key: string]: string;
|
|
21
|
-
}
|
|
22
|
-
export interface ReaderStateParser {
|
|
23
|
-
parser?: ParserLike;
|
|
24
|
-
init?: (this: IReaderState, name: string, attrs: XmlAttributes, parent: IReaderState, engine: Xml2Json) => void;
|
|
25
|
-
finish?: (this: IReaderState) => void;
|
|
26
|
-
startElement?: (this: IReaderState, name: string, attrs: XmlAttributes) => void;
|
|
27
|
-
endElement?: (this: IReaderState, name: string) => void;
|
|
28
|
-
}
|
|
29
|
-
export interface ParserLike {
|
|
30
|
-
[key: string]: ReaderStateParserLike;
|
|
31
|
-
}
|
|
32
|
-
export interface ReaderStateParserLike {
|
|
33
|
-
parser?: ParserLike;
|
|
34
|
-
init?: (this: any, name: string, attrs: XmlAttributes, parent: IReaderState, engine: Xml2Json) => void;
|
|
35
|
-
finish?: (this: any) => void;
|
|
36
|
-
startElement?: (this: any, name: string, attrs: XmlAttributes) => void;
|
|
37
|
-
endElement?: (this: any, name: string) => void;
|
|
38
|
-
}
|
|
39
|
-
export interface IReaderState {
|
|
40
|
-
_on_init(elementName: string, attrs: XmlAttributes, parent: IReaderState, level: number, engine: Xml2Json): void;
|
|
41
|
-
_on_finish(): void;
|
|
42
|
-
_on_startElement(level: number, elementName: string, attrs: XmlAttributes): void;
|
|
43
|
-
_on_endElement(level: number, elementName: string): void;
|
|
44
|
-
_on_endElement2(level: number, elementName: string): void;
|
|
45
|
-
_on_text(text: string): void;
|
|
46
|
-
}
|
|
47
|
-
export declare class ReaderStateBase {
|
|
48
|
-
}
|
|
49
|
-
export interface ReaderStateBase extends IReaderState {
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* @class ReaderState
|
|
53
|
-
* @private
|
|
54
|
-
* @param options
|
|
55
|
-
* @param [options.parser=null] {map<ReaderState|options}}
|
|
56
|
-
* @param [options.init|null]
|
|
57
|
-
* @param [options.finish]
|
|
58
|
-
* @param [options.startElement]
|
|
59
|
-
* @param [options.endElement]
|
|
60
|
-
*/
|
|
61
|
-
export declare class ReaderState extends ReaderStateBase {
|
|
62
|
-
_init?: (name: string, attrs: XmlAttributes, parent: IReaderState, engine: Xml2Json) => void;
|
|
63
|
-
_finish?: () => void;
|
|
64
|
-
_startElement?: (name: string, attrs: XmlAttributes) => void;
|
|
65
|
-
_endElement?: (name: string) => void;
|
|
66
|
-
parser: any;
|
|
67
|
-
attrs?: XmlAttributes;
|
|
68
|
-
chunks: any[];
|
|
69
|
-
text: string;
|
|
70
|
-
name?: string | undefined;
|
|
71
|
-
level: number;
|
|
72
|
-
currentLevel: number;
|
|
73
|
-
engine?: Xml2Json;
|
|
74
|
-
parent?: IReaderState;
|
|
75
|
-
root?: Xml2Json;
|
|
76
|
-
data?: any;
|
|
77
|
-
constructor(options: ReaderStateParser | ReaderState);
|
|
78
|
-
/**
|
|
79
|
-
* @method _on_init
|
|
80
|
-
* @param elementName - the name of the element
|
|
81
|
-
* @param attrs
|
|
82
|
-
* @param parent
|
|
83
|
-
* @param level
|
|
84
|
-
* @param engine
|
|
85
|
-
* @protected
|
|
86
|
-
*/
|
|
87
|
-
_on_init(elementName: string, attrs: XmlAttributes, parent: IReaderState, level: number, engine: Xml2Json): void;
|
|
88
|
-
_on_finish(): void;
|
|
89
|
-
/**
|
|
90
|
-
* @param level
|
|
91
|
-
* @param elementName - the name of the element
|
|
92
|
-
* @param attrs
|
|
93
|
-
* @protected
|
|
94
|
-
*/
|
|
95
|
-
_on_startElement(level: number, elementName: string, attrs: XmlAttributes): void;
|
|
96
|
-
_on_endElement2(level: number, elementName: string): void;
|
|
97
|
-
/**
|
|
98
|
-
* @method _on_endElement
|
|
99
|
-
* @protected
|
|
100
|
-
*/
|
|
101
|
-
_on_endElement(level: number, elementName: string): void;
|
|
102
|
-
/**
|
|
103
|
-
* @method _on_text
|
|
104
|
-
* @param text {String} the text found inside the element
|
|
105
|
-
* @protected
|
|
106
|
-
*/
|
|
107
|
-
_on_text(text: string): void;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* @class Xml2Json
|
|
111
|
-
* @param options - the state machine as a ReaderState node.
|
|
112
|
-
* @param [options.parser=null] {ReaderState}
|
|
113
|
-
* @param [options.init|null]
|
|
114
|
-
* @param [options.finish]
|
|
115
|
-
* @param [options.startElement]
|
|
116
|
-
* @param [options.endElement]
|
|
117
|
-
* @constructor
|
|
118
|
-
*
|
|
119
|
-
* @example
|
|
120
|
-
* var parser = new Xml2Json({
|
|
121
|
-
* parser: {
|
|
122
|
-
* 'person': {
|
|
123
|
-
* init: function(name,attrs) {
|
|
124
|
-
* this.parent.root.obj = {};
|
|
125
|
-
* this.obj = this.parent.root.obj;
|
|
126
|
-
* this.obj['name'] = attrs['name'];
|
|
127
|
-
* },
|
|
128
|
-
* parser: {
|
|
129
|
-
* 'address': {
|
|
130
|
-
* finish: function(){
|
|
131
|
-
* this.parent.obj['address'] = this.text;
|
|
132
|
-
* }
|
|
133
|
-
* }
|
|
134
|
-
* }
|
|
135
|
-
* }
|
|
136
|
-
* }
|
|
137
|
-
* });
|
|
138
|
-
*
|
|
139
|
-
* var xml_string = "<employees>" +
|
|
140
|
-
* " <person name='John'>" +
|
|
141
|
-
* " <address>Paris</address>" +
|
|
142
|
-
* " </person>" +
|
|
143
|
-
* "</employees>";
|
|
144
|
-
*
|
|
145
|
-
* parser.parseString(xml_string, function() {
|
|
146
|
-
* parser.obj.should.eql({name: 'John',address: 'Paris'});
|
|
147
|
-
* done();
|
|
148
|
-
* });
|
|
149
|
-
*/
|
|
150
|
-
export declare class Xml2Json {
|
|
151
|
-
currentLevel: number;
|
|
152
|
-
private state_stack;
|
|
153
|
-
private current_state;
|
|
154
|
-
constructor(options: ReaderStateParser);
|
|
155
|
-
/**
|
|
156
|
-
* @method parseString
|
|
157
|
-
* @async
|
|
158
|
-
*/
|
|
159
|
-
parseString(xml_text: string): Promise<any>;
|
|
160
|
-
parseString(xml_text: string, callback: Callback<any> | SimpleCallback): void;
|
|
161
|
-
/**
|
|
162
|
-
* @param new_state
|
|
163
|
-
* @param name
|
|
164
|
-
* @param attr
|
|
165
|
-
* @private
|
|
166
|
-
* @internal
|
|
167
|
-
*/
|
|
168
|
-
_promote(new_state: IReaderState, level: number, name?: string, attr?: XmlAttributes): void;
|
|
169
|
-
/**
|
|
170
|
-
*
|
|
171
|
-
* @private
|
|
172
|
-
* @internal
|
|
173
|
-
*/
|
|
174
|
-
_demote(cur_state: IReaderState, level: number, elementName: string): void;
|
|
175
|
-
protected _prepareParser(callback: Callback<any> | SimpleCallback): LtxParser;
|
|
176
|
-
}
|
|
177
|
-
export {};
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-xml2json
|
|
3
|
+
* node -> see if https://github.com/isaacs/sax-js could be used instead
|
|
4
|
+
*/
|
|
5
|
+
declare const LtxParser: any;
|
|
6
|
+
export declare type SimpleCallback = (err?: Error) => void;
|
|
7
|
+
export declare 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
|
+
export interface Parser {
|
|
17
|
+
[key: string]: ReaderState;
|
|
18
|
+
}
|
|
19
|
+
export interface XmlAttributes {
|
|
20
|
+
[key: string]: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ReaderStateParser {
|
|
23
|
+
parser?: ParserLike;
|
|
24
|
+
init?: (this: IReaderState, name: string, attrs: XmlAttributes, parent: IReaderState, engine: Xml2Json) => void;
|
|
25
|
+
finish?: (this: IReaderState) => void;
|
|
26
|
+
startElement?: (this: IReaderState, name: string, attrs: XmlAttributes) => void;
|
|
27
|
+
endElement?: (this: IReaderState, name: string) => void;
|
|
28
|
+
}
|
|
29
|
+
export interface ParserLike {
|
|
30
|
+
[key: string]: ReaderStateParserLike;
|
|
31
|
+
}
|
|
32
|
+
export interface ReaderStateParserLike {
|
|
33
|
+
parser?: ParserLike;
|
|
34
|
+
init?: (this: any, name: string, attrs: XmlAttributes, parent: IReaderState, engine: Xml2Json) => void;
|
|
35
|
+
finish?: (this: any) => void;
|
|
36
|
+
startElement?: (this: any, name: string, attrs: XmlAttributes) => void;
|
|
37
|
+
endElement?: (this: any, name: string) => void;
|
|
38
|
+
}
|
|
39
|
+
export interface IReaderState {
|
|
40
|
+
_on_init(elementName: string, attrs: XmlAttributes, parent: IReaderState, level: number, engine: Xml2Json): void;
|
|
41
|
+
_on_finish(): void;
|
|
42
|
+
_on_startElement(level: number, elementName: string, attrs: XmlAttributes): void;
|
|
43
|
+
_on_endElement(level: number, elementName: string): void;
|
|
44
|
+
_on_endElement2(level: number, elementName: string): void;
|
|
45
|
+
_on_text(text: string): void;
|
|
46
|
+
}
|
|
47
|
+
export declare class ReaderStateBase {
|
|
48
|
+
}
|
|
49
|
+
export interface ReaderStateBase extends IReaderState {
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @class ReaderState
|
|
53
|
+
* @private
|
|
54
|
+
* @param options
|
|
55
|
+
* @param [options.parser=null] {map<ReaderState|options}}
|
|
56
|
+
* @param [options.init|null]
|
|
57
|
+
* @param [options.finish]
|
|
58
|
+
* @param [options.startElement]
|
|
59
|
+
* @param [options.endElement]
|
|
60
|
+
*/
|
|
61
|
+
export declare class ReaderState extends ReaderStateBase {
|
|
62
|
+
_init?: (name: string, attrs: XmlAttributes, parent: IReaderState, engine: Xml2Json) => void;
|
|
63
|
+
_finish?: () => void;
|
|
64
|
+
_startElement?: (name: string, attrs: XmlAttributes) => void;
|
|
65
|
+
_endElement?: (name: string) => void;
|
|
66
|
+
parser: any;
|
|
67
|
+
attrs?: XmlAttributes;
|
|
68
|
+
chunks: any[];
|
|
69
|
+
text: string;
|
|
70
|
+
name?: string | undefined;
|
|
71
|
+
level: number;
|
|
72
|
+
currentLevel: number;
|
|
73
|
+
engine?: Xml2Json;
|
|
74
|
+
parent?: IReaderState;
|
|
75
|
+
root?: Xml2Json;
|
|
76
|
+
data?: any;
|
|
77
|
+
constructor(options: ReaderStateParser | ReaderState);
|
|
78
|
+
/**
|
|
79
|
+
* @method _on_init
|
|
80
|
+
* @param elementName - the name of the element
|
|
81
|
+
* @param attrs
|
|
82
|
+
* @param parent
|
|
83
|
+
* @param level
|
|
84
|
+
* @param engine
|
|
85
|
+
* @protected
|
|
86
|
+
*/
|
|
87
|
+
_on_init(elementName: string, attrs: XmlAttributes, parent: IReaderState, level: number, engine: Xml2Json): void;
|
|
88
|
+
_on_finish(): void;
|
|
89
|
+
/**
|
|
90
|
+
* @param level
|
|
91
|
+
* @param elementName - the name of the element
|
|
92
|
+
* @param attrs
|
|
93
|
+
* @protected
|
|
94
|
+
*/
|
|
95
|
+
_on_startElement(level: number, elementName: string, attrs: XmlAttributes): void;
|
|
96
|
+
_on_endElement2(level: number, elementName: string): void;
|
|
97
|
+
/**
|
|
98
|
+
* @method _on_endElement
|
|
99
|
+
* @protected
|
|
100
|
+
*/
|
|
101
|
+
_on_endElement(level: number, elementName: string): void;
|
|
102
|
+
/**
|
|
103
|
+
* @method _on_text
|
|
104
|
+
* @param text {String} the text found inside the element
|
|
105
|
+
* @protected
|
|
106
|
+
*/
|
|
107
|
+
_on_text(text: string): void;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @class Xml2Json
|
|
111
|
+
* @param options - the state machine as a ReaderState node.
|
|
112
|
+
* @param [options.parser=null] {ReaderState}
|
|
113
|
+
* @param [options.init|null]
|
|
114
|
+
* @param [options.finish]
|
|
115
|
+
* @param [options.startElement]
|
|
116
|
+
* @param [options.endElement]
|
|
117
|
+
* @constructor
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* var parser = new Xml2Json({
|
|
121
|
+
* parser: {
|
|
122
|
+
* 'person': {
|
|
123
|
+
* init: function(name,attrs) {
|
|
124
|
+
* this.parent.root.obj = {};
|
|
125
|
+
* this.obj = this.parent.root.obj;
|
|
126
|
+
* this.obj['name'] = attrs['name'];
|
|
127
|
+
* },
|
|
128
|
+
* parser: {
|
|
129
|
+
* 'address': {
|
|
130
|
+
* finish: function(){
|
|
131
|
+
* this.parent.obj['address'] = this.text;
|
|
132
|
+
* }
|
|
133
|
+
* }
|
|
134
|
+
* }
|
|
135
|
+
* }
|
|
136
|
+
* }
|
|
137
|
+
* });
|
|
138
|
+
*
|
|
139
|
+
* var xml_string = "<employees>" +
|
|
140
|
+
* " <person name='John'>" +
|
|
141
|
+
* " <address>Paris</address>" +
|
|
142
|
+
* " </person>" +
|
|
143
|
+
* "</employees>";
|
|
144
|
+
*
|
|
145
|
+
* parser.parseString(xml_string, function() {
|
|
146
|
+
* parser.obj.should.eql({name: 'John',address: 'Paris'});
|
|
147
|
+
* done();
|
|
148
|
+
* });
|
|
149
|
+
*/
|
|
150
|
+
export declare class Xml2Json {
|
|
151
|
+
currentLevel: number;
|
|
152
|
+
private state_stack;
|
|
153
|
+
private current_state;
|
|
154
|
+
constructor(options: ReaderStateParser);
|
|
155
|
+
/**
|
|
156
|
+
* @method parseString
|
|
157
|
+
* @async
|
|
158
|
+
*/
|
|
159
|
+
parseString(xml_text: string): Promise<any>;
|
|
160
|
+
parseString(xml_text: string, callback: Callback<any> | SimpleCallback): void;
|
|
161
|
+
/**
|
|
162
|
+
* @param new_state
|
|
163
|
+
* @param name
|
|
164
|
+
* @param attr
|
|
165
|
+
* @private
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
_promote(new_state: IReaderState, level: number, name?: string, attr?: XmlAttributes): void;
|
|
169
|
+
/**
|
|
170
|
+
*
|
|
171
|
+
* @private
|
|
172
|
+
* @internal
|
|
173
|
+
*/
|
|
174
|
+
_demote(cur_state: IReaderState, level: number, elementName: string): void;
|
|
175
|
+
protected _prepareParser(callback: Callback<any> | SimpleCallback): LtxParser;
|
|
176
|
+
}
|
|
177
|
+
export {};
|