node-opcua-factory 2.76.2 → 2.78.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/base_ua_object.js +19 -7
- package/dist/base_ua_object.js.map +1 -1
- package/dist/datatype_factory.d.ts +16 -9
- package/dist/datatype_factory.js +86 -86
- package/dist/datatype_factory.js.map +1 -1
- package/dist/enumerations.d.ts +3 -1
- package/dist/enumerations.js +6 -2
- package/dist/enumerations.js.map +1 -1
- package/dist/get_standard_data_type_factory.d.ts +1 -8
- package/dist/get_standard_data_type_factory.js +9 -14
- package/dist/get_standard_data_type_factory.js.map +1 -1
- package/dist/get_structured_type_schema.d.ts +1 -4
- package/dist/get_structured_type_schema.js +6 -10
- package/dist/get_structured_type_schema.js.map +1 -1
- package/dist/schema_helpers.js.map +1 -1
- package/dist/structured_type_schema.d.ts +10 -15
- package/dist/structured_type_schema.js +63 -58
- package/dist/structured_type_schema.js.map +1 -1
- package/dist/types.d.ts +16 -8
- package/dist/types.js.map +1 -1
- package/package.json +13 -13
- package/source/base_ua_object.ts +26 -6
- package/source/datatype_factory.ts +99 -90
- package/source/enumerations.ts +9 -6
- package/source/get_standard_data_type_factory.ts +8 -12
- package/source/get_structured_type_schema.ts +6 -6
- package/source/schema_helpers.ts +1 -1
- package/source/structured_type_schema.ts +86 -66
- package/source/types.ts +15 -11
package/dist/base_ua_object.js
CHANGED
|
@@ -16,14 +16,26 @@ const node_opcua_debug_1 = require("node-opcua-debug");
|
|
|
16
16
|
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
17
17
|
const utils = require("node-opcua-utils");
|
|
18
18
|
const enumerations_1 = require("./enumerations");
|
|
19
|
-
const datatype_factory_1 = require("./datatype_factory");
|
|
20
19
|
const get_standard_data_type_factory_1 = require("./get_standard_data_type_factory");
|
|
21
|
-
const structured_type_schema_1 = require("./structured_type_schema");
|
|
22
20
|
const types_1 = require("./types");
|
|
23
21
|
const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
|
|
24
22
|
function r(str, length = 30) {
|
|
25
23
|
return (str + " ").substring(0, length);
|
|
26
24
|
}
|
|
25
|
+
function _findFieldSchema(typeDictionary, field, value) {
|
|
26
|
+
const fieldType = field.fieldType;
|
|
27
|
+
if (field.allowSubType && field.category === "complex") {
|
|
28
|
+
const fieldTypeConstructor = value ? value.constructor : field.fieldTypeConstructor;
|
|
29
|
+
const _newFieldSchema = fieldTypeConstructor.schema;
|
|
30
|
+
return _newFieldSchema;
|
|
31
|
+
}
|
|
32
|
+
const fieldTypeConstructor = field.fieldTypeConstructor;
|
|
33
|
+
if (fieldTypeConstructor) {
|
|
34
|
+
return fieldTypeConstructor.prototype.schema;
|
|
35
|
+
}
|
|
36
|
+
const strucutreInfo = typeDictionary.getStructureInfoByTypeName(fieldType);
|
|
37
|
+
return strucutreInfo.schema;
|
|
38
|
+
}
|
|
27
39
|
function _decode_member_(value, field, stream, options) {
|
|
28
40
|
const tracer = options.tracer;
|
|
29
41
|
const cursorBefore = stream.length;
|
|
@@ -58,7 +70,7 @@ function _decode_member_(value, field, stream, options) {
|
|
|
58
70
|
return value;
|
|
59
71
|
}
|
|
60
72
|
function _applyOnAllSchemaFields(self, schema, data, functor, args) {
|
|
61
|
-
const baseSchema =
|
|
73
|
+
const baseSchema = schema.getBaseSchema();
|
|
62
74
|
if (baseSchema) {
|
|
63
75
|
_applyOnAllSchemaFields(self, baseSchema, data, functor, args);
|
|
64
76
|
}
|
|
@@ -263,7 +275,7 @@ function _exploreObject(self, field, data, args) {
|
|
|
263
275
|
_dump_simple_value(self, field, data, value, fieldType);
|
|
264
276
|
}
|
|
265
277
|
else {
|
|
266
|
-
const typeDictionary = self.schema
|
|
278
|
+
const typeDictionary = self.schema.getDataTypeFactory();
|
|
267
279
|
// istanbul ignore next
|
|
268
280
|
if (!typeDictionary) {
|
|
269
281
|
errorLog("Internal Error: No typeDictionary for ", self.schema);
|
|
@@ -281,7 +293,7 @@ function _exploreObject(self, field, data, args) {
|
|
|
281
293
|
const m = Math.min(_nbElements, value.length);
|
|
282
294
|
for (let i = 0; i < m; i++) {
|
|
283
295
|
const element = value[i];
|
|
284
|
-
const _newFieldSchema =
|
|
296
|
+
const _newFieldSchema = _findFieldSchema(typeDictionary, field, element);
|
|
285
297
|
data.lines.push(padding + ` { ` + chalk.cyan(`/* ${i} - ${_newFieldSchema === null || _newFieldSchema === void 0 ? void 0 : _newFieldSchema.name}*/`));
|
|
286
298
|
const data1 = {
|
|
287
299
|
lines: [],
|
|
@@ -298,7 +310,7 @@ function _exploreObject(self, field, data, args) {
|
|
|
298
310
|
}
|
|
299
311
|
}
|
|
300
312
|
else {
|
|
301
|
-
const _newFieldSchema =
|
|
313
|
+
const _newFieldSchema = _findFieldSchema(typeDictionary, field, value);
|
|
302
314
|
data.lines.push(fieldNameF + " " + fieldTypeF + ": {");
|
|
303
315
|
const data1 = { padding: padding + " ", lines: [] };
|
|
304
316
|
_applyOnAllSchemaFields(value, _newFieldSchema, data1, _exploreObject, args);
|
|
@@ -527,7 +539,7 @@ exports.BaseUAObject = BaseUAObject;
|
|
|
527
539
|
function _visitSchemaChain(self, schema, pojo, func, extraData) {
|
|
528
540
|
(0, node_opcua_assert_1.assert)(typeof func === "function");
|
|
529
541
|
// apply also construct to baseType schema first
|
|
530
|
-
const baseSchema =
|
|
542
|
+
const baseSchema = schema.getBaseSchema ? schema.getBaseSchema() : null;
|
|
531
543
|
if (baseSchema) {
|
|
532
544
|
_visitSchemaChain(self, baseSchema, pojo, func, extraData);
|
|
533
545
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_ua_object.js","sourceRoot":"","sources":["../source/base_ua_object.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base_ua_object.js","sourceRoot":"","sources":["../source/base_ua_object.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { ExpandedNodeId, NodeId } from "node-opcua-nodeid";
|
|
2
2
|
import { EnumerationDefinitionSchema } from "./enumerations";
|
|
3
|
-
import { CommonInterface,
|
|
4
|
-
export
|
|
3
|
+
import { CommonInterface, IStructuredTypeSchema, ConstructorFuncWithSchema, ConstructorFunc, IBaseUAObject } from "./types";
|
|
4
|
+
export interface StructureInfo {
|
|
5
|
+
constructor: ConstructorFuncWithSchema | null;
|
|
6
|
+
schema: IStructuredTypeSchema;
|
|
7
|
+
}
|
|
5
8
|
export declare class DataTypeFactory {
|
|
6
9
|
defaultByteOrder: string;
|
|
7
10
|
targetNamespace: string;
|
|
8
11
|
imports: string[];
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
12
|
+
private _structureInfoByName;
|
|
13
|
+
private _structureInfoByDataTypeMap;
|
|
14
|
+
private _structureInfoByEncodingMap;
|
|
12
15
|
private _enumerations;
|
|
13
16
|
private baseDataFactories;
|
|
14
17
|
constructor(baseDataFactories: DataTypeFactory[]);
|
|
18
|
+
getStructureIterator(): IterableIterator<StructureInfo>;
|
|
19
|
+
getEnumIterator(): IterableIterator<EnumerationDefinitionSchema>;
|
|
15
20
|
repairBaseDataFactories(baseDataFactories: DataTypeFactory[]): void;
|
|
16
21
|
hasBuiltInType(name: string): boolean;
|
|
17
22
|
getBuiltInType(name: string): CommonInterface;
|
|
@@ -19,13 +24,15 @@ export declare class DataTypeFactory {
|
|
|
19
24
|
registerEnumeration(enumeration: EnumerationDefinitionSchema): void;
|
|
20
25
|
hasEnumeration(enumName: string): boolean;
|
|
21
26
|
getEnumeration(enumName: string): EnumerationDefinitionSchema | null;
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
findStructureInfoForDataType(dataTypeNodeId: NodeId): StructureInfo;
|
|
28
|
+
getStructureInfoForDataType(dataTypeNodeId: NodeId): StructureInfo | null;
|
|
24
29
|
structuredTypesNames(): IterableIterator<string>;
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
enumerations(): IterableIterator<string>;
|
|
31
|
+
getStructureInfoByTypeName(typeName: string): StructureInfo;
|
|
32
|
+
hasStructureByTypeName(typeName: string): boolean;
|
|
27
33
|
getStructuredTypeSchema(typeName: string): IStructuredTypeSchema;
|
|
28
34
|
dump(): void;
|
|
35
|
+
registerAbstractStructure(dataTypeNodeId: NodeId, className: string, schema: IStructuredTypeSchema): void;
|
|
29
36
|
registerClassDefinition(dataTypeNodeId: NodeId, className: string, classConstructor: ConstructorFuncWithSchema): void;
|
|
30
37
|
getConstructor(binaryEncodingNodeId: NodeId): ConstructorFunc | null;
|
|
31
38
|
hasConstructor(binaryEncodingNodeId: NodeId): boolean;
|
package/dist/datatype_factory.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataTypeFactory =
|
|
3
|
+
exports.DataTypeFactory = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* @module node-opcua-factory
|
|
6
6
|
*/
|
|
@@ -14,28 +14,23 @@ const enumerations_1 = require("./enumerations");
|
|
|
14
14
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
15
15
|
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
16
16
|
const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
|
|
17
|
-
function _findFieldSchema(typeDictionary, field, value) {
|
|
18
|
-
const fieldType = field.fieldType;
|
|
19
|
-
if (field.allowSubType && field.category === "complex") {
|
|
20
|
-
const fieldTypeConstructor = value ? value.constructor : field.fieldTypeConstructor;
|
|
21
|
-
const _newFieldSchema = fieldTypeConstructor.schema;
|
|
22
|
-
return _newFieldSchema;
|
|
23
|
-
}
|
|
24
|
-
const fieldTypeConstructor = field.fieldTypeConstructor || typeDictionary.getStructureTypeConstructor(fieldType);
|
|
25
|
-
return field.schema || fieldTypeConstructor.schema;
|
|
26
|
-
}
|
|
27
|
-
exports._findFieldSchema = _findFieldSchema;
|
|
28
17
|
class DataTypeFactory {
|
|
29
18
|
constructor(baseDataFactories) {
|
|
30
19
|
this.imports = [];
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
20
|
+
this._structureInfoByName = new Map();
|
|
21
|
+
this._structureInfoByDataTypeMap = new Map();
|
|
22
|
+
this._structureInfoByEncodingMap = new Map();
|
|
34
23
|
this._enumerations = new Map();
|
|
35
24
|
this.defaultByteOrder = "LittleEndian";
|
|
36
25
|
this.targetNamespace = "";
|
|
37
26
|
this.baseDataFactories = baseDataFactories;
|
|
38
27
|
}
|
|
28
|
+
getStructureIterator() {
|
|
29
|
+
return this._structureInfoByDataTypeMap.values();
|
|
30
|
+
}
|
|
31
|
+
getEnumIterator() {
|
|
32
|
+
return this._enumerations.values();
|
|
33
|
+
}
|
|
39
34
|
repairBaseDataFactories(baseDataFactories) {
|
|
40
35
|
this.baseDataFactories = baseDataFactories;
|
|
41
36
|
}
|
|
@@ -84,23 +79,23 @@ class DataTypeFactory {
|
|
|
84
79
|
return ee;
|
|
85
80
|
}
|
|
86
81
|
// ----------------------------
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
if (
|
|
90
|
-
return
|
|
82
|
+
findStructureInfoForDataType(dataTypeNodeId) {
|
|
83
|
+
const structureInfo = this.getStructureInfoForDataType(dataTypeNodeId);
|
|
84
|
+
if (structureInfo) {
|
|
85
|
+
return structureInfo;
|
|
91
86
|
}
|
|
92
|
-
this.
|
|
87
|
+
this.getStructureInfoForDataType(dataTypeNodeId);
|
|
93
88
|
throw new Error("Cannot find StructureType constructor for dataType " + dataTypeNodeId.toString());
|
|
94
89
|
}
|
|
95
|
-
|
|
96
|
-
const
|
|
97
|
-
if (
|
|
98
|
-
return
|
|
90
|
+
getStructureInfoForDataType(dataTypeNodeId) {
|
|
91
|
+
const structureInfo = this._structureInfoByDataTypeMap.get(dataTypeNodeId.toString());
|
|
92
|
+
if (structureInfo) {
|
|
93
|
+
return structureInfo;
|
|
99
94
|
}
|
|
100
95
|
for (const factory of this.baseDataFactories) {
|
|
101
|
-
const
|
|
102
|
-
if (
|
|
103
|
-
return
|
|
96
|
+
const structureInfo2 = factory.getStructureInfoForDataType(dataTypeNodeId);
|
|
97
|
+
if (structureInfo2) {
|
|
98
|
+
return structureInfo2;
|
|
104
99
|
}
|
|
105
100
|
}
|
|
106
101
|
return null;
|
|
@@ -109,20 +104,23 @@ class DataTypeFactory {
|
|
|
109
104
|
// Access by typeName
|
|
110
105
|
// ----------------------------------------------------------------------------------------------------
|
|
111
106
|
structuredTypesNames() {
|
|
112
|
-
return this.
|
|
107
|
+
return this._structureInfoByName.keys();
|
|
113
108
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
enumerations() {
|
|
110
|
+
return this._enumerations.keys();
|
|
111
|
+
}
|
|
112
|
+
getStructureInfoByTypeName(typeName) {
|
|
113
|
+
const structureInfo = this._structureInfoByName.get(typeName);
|
|
114
|
+
if (structureInfo) {
|
|
115
|
+
return structureInfo;
|
|
118
116
|
}
|
|
119
117
|
for (const factory of this.baseDataFactories) {
|
|
120
|
-
if (!factory.
|
|
118
|
+
if (!factory.hasStructureByTypeName(typeName)) {
|
|
121
119
|
continue;
|
|
122
120
|
}
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
125
|
-
return
|
|
121
|
+
const structureInfo2 = factory.getStructureInfoByTypeName(typeName);
|
|
122
|
+
if (structureInfo2) {
|
|
123
|
+
return structureInfo2;
|
|
126
124
|
}
|
|
127
125
|
}
|
|
128
126
|
// istanbul ignore next
|
|
@@ -132,20 +130,20 @@ class DataTypeFactory {
|
|
|
132
130
|
// istanbul ignore next
|
|
133
131
|
throw new Error("Cannot find StructureType constructor for " + typeName + " - it may be abstract, or it could be a basic type");
|
|
134
132
|
}
|
|
135
|
-
|
|
136
|
-
if (this.
|
|
133
|
+
hasStructureByTypeName(typeName) {
|
|
134
|
+
if (this._structureInfoByName.has(typeName)) {
|
|
137
135
|
return true;
|
|
138
136
|
}
|
|
139
137
|
for (const factory of this.baseDataFactories) {
|
|
140
|
-
if (factory.
|
|
138
|
+
if (factory.hasStructureByTypeName(typeName)) {
|
|
141
139
|
return true;
|
|
142
140
|
}
|
|
143
141
|
}
|
|
144
142
|
return false;
|
|
145
143
|
}
|
|
146
144
|
getStructuredTypeSchema(typeName) {
|
|
147
|
-
const
|
|
148
|
-
return
|
|
145
|
+
const structureInfo = this.getStructureInfoByTypeName(typeName);
|
|
146
|
+
return structureInfo.schema;
|
|
149
147
|
}
|
|
150
148
|
// istanbul ignore next
|
|
151
149
|
dump() {
|
|
@@ -153,8 +151,12 @@ class DataTypeFactory {
|
|
|
153
151
|
console.log(" Factory ", [...this.structuredTypesNames()].sort().forEach((e) => e));
|
|
154
152
|
console.log(" done");
|
|
155
153
|
}
|
|
154
|
+
registerAbstractStructure(dataTypeNodeId, className, schema) {
|
|
155
|
+
schema.isAbstract = true;
|
|
156
|
+
this._registerFactory(dataTypeNodeId, className, null, schema);
|
|
157
|
+
}
|
|
156
158
|
registerClassDefinition(dataTypeNodeId, className, classConstructor) {
|
|
157
|
-
this._registerFactory(dataTypeNodeId, className, classConstructor);
|
|
159
|
+
this._registerFactory(dataTypeNodeId, className, classConstructor, classConstructor.schema);
|
|
158
160
|
if (classConstructor.encodingDefaultBinary && classConstructor.encodingDefaultBinary.value !== 0) {
|
|
159
161
|
this.associateWithBinaryEncoding(className, classConstructor.encodingDefaultBinary);
|
|
160
162
|
}
|
|
@@ -168,14 +170,17 @@ class DataTypeFactory {
|
|
|
168
170
|
// ----------------------------------------------------------------------------------------------------
|
|
169
171
|
getConstructor(binaryEncodingNodeId) {
|
|
170
172
|
const expandedNodeIdKey = makeExpandedNodeIdKey(binaryEncodingNodeId);
|
|
171
|
-
const
|
|
172
|
-
if (
|
|
173
|
-
return
|
|
173
|
+
const structureInfo = this._structureInfoByEncodingMap.get(expandedNodeIdKey);
|
|
174
|
+
if (!structureInfo)
|
|
175
|
+
return null;
|
|
176
|
+
const Constructor = structureInfo.constructor;
|
|
177
|
+
if (Constructor) {
|
|
178
|
+
return Constructor;
|
|
174
179
|
}
|
|
175
180
|
for (const factory of this.baseDataFactories) {
|
|
176
|
-
const
|
|
177
|
-
if (
|
|
178
|
-
return
|
|
181
|
+
const Constructor2 = factory.getConstructor(binaryEncodingNodeId);
|
|
182
|
+
if (Constructor2) {
|
|
183
|
+
return Constructor2;
|
|
179
184
|
}
|
|
180
185
|
}
|
|
181
186
|
debugLog(chalk.red("#getConstructor : cannot find constructor for expandedId "), binaryEncodingNodeId.toString());
|
|
@@ -185,13 +190,9 @@ class DataTypeFactory {
|
|
|
185
190
|
if (!binaryEncodingNodeId) {
|
|
186
191
|
return false;
|
|
187
192
|
}
|
|
188
|
-
|
|
189
|
-
if (!verifyExpandedNodeId(binaryEncodingNodeId)) {
|
|
190
|
-
console.log("Invalid expandedNodeId");
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
+
verifyExpandedNodeId(binaryEncodingNodeId);
|
|
193
194
|
const expandedNodeIdKey = makeExpandedNodeIdKey(binaryEncodingNodeId);
|
|
194
|
-
const constructor = this.
|
|
195
|
+
const constructor = this._structureInfoByEncodingMap.get(expandedNodeIdKey);
|
|
195
196
|
if (constructor) {
|
|
196
197
|
return true;
|
|
197
198
|
}
|
|
@@ -204,36 +205,31 @@ class DataTypeFactory {
|
|
|
204
205
|
return false;
|
|
205
206
|
}
|
|
206
207
|
constructObject(binaryEncodingNodeId) {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
const constructor = this.getConstructor(binaryEncodingNodeId);
|
|
211
|
-
if (!constructor) {
|
|
208
|
+
verifyExpandedNodeId(binaryEncodingNodeId);
|
|
209
|
+
const Constructor = this.getConstructor(binaryEncodingNodeId);
|
|
210
|
+
if (!Constructor) {
|
|
212
211
|
debugLog("Cannot find constructor for " + binaryEncodingNodeId.toString());
|
|
213
212
|
throw new Error("Cannot find constructor for " + binaryEncodingNodeId.toString());
|
|
214
213
|
}
|
|
215
|
-
return new
|
|
214
|
+
return new Constructor();
|
|
216
215
|
}
|
|
217
216
|
associateWithBinaryEncoding(className, expandedNodeId) {
|
|
218
|
-
const
|
|
217
|
+
const structureInfo = this.getStructureInfoByTypeName(className);
|
|
219
218
|
if (doDebug) {
|
|
220
219
|
debugLog(" associateWithBinaryEncoding ", className, expandedNodeId.toString());
|
|
221
220
|
}
|
|
222
|
-
|
|
223
|
-
if (!verifyExpandedNodeId(expandedNodeId)) {
|
|
224
|
-
throw new Error("Invalid expandedNodeId " + expandedNodeId.toString() + " className = " + className);
|
|
225
|
-
}
|
|
221
|
+
verifyExpandedNodeId(expandedNodeId);
|
|
226
222
|
const expandedNodeIdKey = makeExpandedNodeIdKey(expandedNodeId);
|
|
227
223
|
/* istanbul ignore next */
|
|
228
|
-
if (this.
|
|
224
|
+
if (this._structureInfoByEncodingMap.has(expandedNodeIdKey)) {
|
|
229
225
|
throw new Error(" Class " +
|
|
230
226
|
className +
|
|
231
227
|
" with ID " +
|
|
232
228
|
expandedNodeId +
|
|
233
229
|
" already in constructorMap for " +
|
|
234
|
-
this.
|
|
230
|
+
this._structureInfoByEncodingMap.get(expandedNodeIdKey).schema.name);
|
|
235
231
|
}
|
|
236
|
-
this.
|
|
232
|
+
this._structureInfoByEncodingMap.set(expandedNodeIdKey, structureInfo);
|
|
237
233
|
}
|
|
238
234
|
toString() {
|
|
239
235
|
const l = [];
|
|
@@ -243,24 +239,27 @@ class DataTypeFactory {
|
|
|
243
239
|
dumpDataFactory(this, write);
|
|
244
240
|
return l.join("\n");
|
|
245
241
|
}
|
|
246
|
-
_registerFactory(dataTypeNodeId, typeName, constructor) {
|
|
242
|
+
_registerFactory(dataTypeNodeId, typeName, constructor, schema) {
|
|
247
243
|
/* istanbul ignore next */
|
|
248
|
-
if (this.
|
|
249
|
-
warningLog(this.getStructureTypeConstructor(typeName));
|
|
244
|
+
if (this._structureInfoByName.has(typeName)) {
|
|
250
245
|
warningLog("target namespace = `" + this.targetNamespace + "`");
|
|
251
|
-
warningLog("
|
|
246
|
+
warningLog("registerFactory : " + typeName + " already registered. dataTypeNodeId=", dataTypeNodeId.toString());
|
|
252
247
|
return;
|
|
253
248
|
}
|
|
254
|
-
debugLog("registering typeName ", typeName, dataTypeNodeId.toString());
|
|
255
|
-
|
|
249
|
+
debugLog("registering typeName ", typeName, dataTypeNodeId.toString(), "isAbstract ", schema.isAbstract);
|
|
250
|
+
const structureInfo = { constructor, schema };
|
|
251
|
+
this._structureInfoByName.set(typeName, structureInfo);
|
|
256
252
|
if (dataTypeNodeId.value !== 0) {
|
|
257
|
-
this.
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
253
|
+
this._structureInfoByDataTypeMap.set(dataTypeNodeId.toString(), structureInfo);
|
|
254
|
+
}
|
|
255
|
+
// console.log("is this neceesary anymore ?");
|
|
256
|
+
// if (constructor) {
|
|
257
|
+
// Object.defineProperty(constructor.schema, "$$factory", {
|
|
258
|
+
// enumerable: false,
|
|
259
|
+
// value: this,
|
|
260
|
+
// writable: false
|
|
261
|
+
// });
|
|
262
|
+
// }
|
|
264
263
|
}
|
|
265
264
|
}
|
|
266
265
|
exports.DataTypeFactory = DataTypeFactory;
|
|
@@ -276,7 +275,7 @@ function dumpDataFactory(dataFactory, write) {
|
|
|
276
275
|
for (const structureTypeName of dataFactory.structuredTypesNames()) {
|
|
277
276
|
const schema = dataFactory.getStructuredTypeSchema(structureTypeName);
|
|
278
277
|
write("structureTypeName =", structureTypeName);
|
|
279
|
-
if (!dataFactory.
|
|
278
|
+
if (!dataFactory.getStructureInfoForDataType(schema.dataTypeNodeId)) {
|
|
280
279
|
write(" ( No constructor for " + schema.name + " " + schema.dataTypeNodeId.toString());
|
|
281
280
|
}
|
|
282
281
|
if (!schema.encodingDefaultBinary) {
|
|
@@ -284,10 +283,11 @@ function dumpDataFactory(dataFactory, write) {
|
|
|
284
283
|
}
|
|
285
284
|
else {
|
|
286
285
|
if (dataFactory.hasConstructor(schema.encodingDefaultBinary)) {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
286
|
+
write("ERROR: cannot find constructor for encodingDefaultBinary");
|
|
287
|
+
write("schema name:", schema.name, "(abstract=", schema.isAbstract, ")");
|
|
288
|
+
write(" dataType NodeId:", schema.dataTypeNodeId.toString());
|
|
289
|
+
write("encoding Default Binary:", schema.encodingDefaultBinary ? schema.encodingDefaultBinary.toString() : " ");
|
|
290
|
+
write("encoding Default Xml :", schema.encodingDefaultXml ? schema.encodingDefaultXml.toString() : " ");
|
|
291
291
|
// return;
|
|
292
292
|
// throw new Error("Not in Binary Encoding Map!!!!! " + schema.encodingDefaultBinary);
|
|
293
293
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datatype_factory.js","sourceRoot":"","sources":["../source/datatype_factory.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,6BAA6B;AAC7B,+BAA+B;AAE/B,yDAA2C;AAC3C,uDAAkF;AAElF,+DAAmD;AAEnD,mDAAmF;AACnF,iDAA2G;AAU3G,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"datatype_factory.js","sourceRoot":"","sources":["../source/datatype_factory.ts"],"names":[],"mappings":"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"}
|
package/dist/enumerations.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
|
|
2
2
|
import { Enum, EnumItem, _TypescriptEnum } from "node-opcua-enum";
|
|
3
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
3
4
|
import { TypeSchemaBase } from "./builtin_types";
|
|
4
5
|
import { EnumerationDefinition, TypeSchemaConstructorOptions } from "./types";
|
|
5
6
|
export interface EnumerationDefinitionOptions extends TypeSchemaConstructorOptions {
|
|
@@ -14,7 +15,8 @@ export declare class EnumerationDefinitionSchema extends TypeSchemaBase implemen
|
|
|
14
15
|
enumValues: _TypescriptEnum;
|
|
15
16
|
typedEnum: Enum;
|
|
16
17
|
lengthInBits: number;
|
|
17
|
-
|
|
18
|
+
dataTypeNodeId: NodeId;
|
|
19
|
+
constructor(dataTypeNodeId: NodeId, options: EnumerationDefinitionOptions);
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
20
22
|
* @method registerEnumeration
|
package/dist/enumerations.js
CHANGED
|
@@ -5,7 +5,9 @@ exports.getBuiltInEnumeration = exports.hasBuiltInEnumeration = exports.register
|
|
|
5
5
|
* @module node-opcua-factory
|
|
6
6
|
*/
|
|
7
7
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
8
|
+
const node_opcua_constants_1 = require("node-opcua-constants");
|
|
8
9
|
const node_opcua_enum_1 = require("node-opcua-enum");
|
|
10
|
+
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
9
11
|
const builtin_types_1 = require("./builtin_types");
|
|
10
12
|
function _encode_enumeration(typedEnum, value, stream) {
|
|
11
13
|
(0, node_opcua_assert_1.assert)(typeof value === "number", "Expecting a number here");
|
|
@@ -24,8 +26,9 @@ function _decode_enumeration(typedEnum, stream) {
|
|
|
24
26
|
class EnumerationDefinitionSchema extends builtin_types_1.TypeSchemaBase {
|
|
25
27
|
// xx encode: (value: EnumItem, stream: OutputBinaryStream) => void;
|
|
26
28
|
// xx decode: (stream: BinaryStream) => EnumItem;
|
|
27
|
-
constructor(options) {
|
|
29
|
+
constructor(dataTypeNodeId, options) {
|
|
28
30
|
super(options);
|
|
31
|
+
this.dataTypeNodeId = dataTypeNodeId;
|
|
29
32
|
// create a new Enum
|
|
30
33
|
this.enumValues = (0, node_opcua_enum_1.adaptTypescriptEnum)(options.enumValues);
|
|
31
34
|
const typedEnum = new node_opcua_enum_1.Enum(options.enumValues);
|
|
@@ -53,13 +56,14 @@ const _enumerations = new Map();
|
|
|
53
56
|
* @return {Enum}
|
|
54
57
|
*/
|
|
55
58
|
function registerEnumeration(options) {
|
|
59
|
+
const dataTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.DataTypeIds[options.name]);
|
|
56
60
|
(0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "name"));
|
|
57
61
|
(0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "enumValues"));
|
|
58
62
|
const name = options.name;
|
|
59
63
|
if (Object.prototype.hasOwnProperty.call(_enumerations, name)) {
|
|
60
64
|
throw new Error("factories.registerEnumeration : Enumeration " + options.name + " has been already inserted");
|
|
61
65
|
}
|
|
62
|
-
const enumerationDefinition = new EnumerationDefinitionSchema(options);
|
|
66
|
+
const enumerationDefinition = new EnumerationDefinitionSchema(dataTypeNodeId, options);
|
|
63
67
|
_enumerations.set(name, enumerationDefinition);
|
|
64
68
|
return enumerationDefinition.typedEnum;
|
|
65
69
|
}
|