node-opcua-xml2json 2.71.0 → 2.73.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.
@@ -1,179 +1,179 @@
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
- parseStringSync(xml_text: string): Record<string, unknown>;
156
- /**
157
- * @deprecated
158
- * @method parseString
159
- * @async
160
- */
161
- parseString(xml_text: string): Promise<any>;
162
- parseString(xml_text: string, callback: Callback<any> | SimpleCallback): void;
163
- /**
164
- * @param new_state
165
- * @param name
166
- * @param attr
167
- * @private
168
- * @internal
169
- */
170
- _promote(new_state: IReaderState, level: number, name?: string, attr?: XmlAttributes): void;
171
- /**
172
- *
173
- * @private
174
- * @internal
175
- */
176
- _demote(cur_state: IReaderState, level: number, elementName: string): void;
177
- protected _prepareParser(callback: Callback<any> | SimpleCallback): LtxParser;
178
- }
179
- 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
+ parseStringSync(xml_text: string): Record<string, unknown>;
156
+ /**
157
+ * @deprecated
158
+ * @method parseString
159
+ * @async
160
+ */
161
+ parseString(xml_text: string): Promise<any>;
162
+ parseString(xml_text: string, callback: Callback<any> | SimpleCallback): void;
163
+ /**
164
+ * @param new_state
165
+ * @param name
166
+ * @param attr
167
+ * @private
168
+ * @internal
169
+ */
170
+ _promote(new_state: IReaderState, level: number, name?: string, attr?: XmlAttributes): void;
171
+ /**
172
+ *
173
+ * @private
174
+ * @internal
175
+ */
176
+ _demote(cur_state: IReaderState, level: number, elementName: string): void;
177
+ protected _prepareParser(callback: Callback<any> | SimpleCallback): LtxParser;
178
+ }
179
+ export {};