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.
@@ -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 = (0, structured_type_schema_1.get_base_schema)(schema);
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.$$factory;
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 = (0, datatype_factory_1._findFieldSchema)(typeDictionary, field, element);
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 = (0, datatype_factory_1._findFieldSchema)(typeDictionary, field, value);
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 = (0, structured_type_schema_1.get_base_schema)(schema);
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, StructuredTypeField, IStructuredTypeSchema, ConstructorFuncWithSchema, ConstructorFunc, IBaseUAObject } from "./types";
4
- export declare function _findFieldSchema(typeDictionary: DataTypeFactory, field: StructuredTypeField, value: any): IStructuredTypeSchema;
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 _structureTypeConstructorByNameMap;
10
- private _structureTypeConstructorByDataTypeMap;
11
- private _structureTypeConstructorByEncodingNodeIdMap;
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
- findConstructorForDataType(dataTypeNodeId: NodeId): ConstructorFuncWithSchema;
23
- getConstructorForDataType(dataTypeNodeId: NodeId): ConstructorFuncWithSchema | null;
27
+ findStructureInfoForDataType(dataTypeNodeId: NodeId): StructureInfo;
28
+ getStructureInfoForDataType(dataTypeNodeId: NodeId): StructureInfo | null;
24
29
  structuredTypesNames(): IterableIterator<string>;
25
- getStructureTypeConstructor(typeName: string): ConstructorFuncWithSchema;
26
- hasStructuredType(typeName: string): boolean;
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;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataTypeFactory = exports._findFieldSchema = void 0;
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._structureTypeConstructorByNameMap = new Map();
32
- this._structureTypeConstructorByDataTypeMap = new Map();
33
- this._structureTypeConstructorByEncodingNodeIdMap = new Map();
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
- findConstructorForDataType(dataTypeNodeId) {
88
- const constructor = this.getConstructorForDataType(dataTypeNodeId);
89
- if (constructor) {
90
- return constructor;
82
+ findStructureInfoForDataType(dataTypeNodeId) {
83
+ const structureInfo = this.getStructureInfoForDataType(dataTypeNodeId);
84
+ if (structureInfo) {
85
+ return structureInfo;
91
86
  }
92
- this.getConstructorForDataType(dataTypeNodeId);
87
+ this.getStructureInfoForDataType(dataTypeNodeId);
93
88
  throw new Error("Cannot find StructureType constructor for dataType " + dataTypeNodeId.toString());
94
89
  }
95
- getConstructorForDataType(dataTypeNodeId) {
96
- const constructor = this._structureTypeConstructorByDataTypeMap.get(dataTypeNodeId.toString());
97
- if (constructor) {
98
- return constructor;
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 constructor2 = factory.getConstructorForDataType(dataTypeNodeId);
102
- if (constructor2) {
103
- return constructor2;
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._structureTypeConstructorByNameMap.keys();
107
+ return this._structureInfoByName.keys();
113
108
  }
114
- getStructureTypeConstructor(typeName) {
115
- const constructor = this._structureTypeConstructorByNameMap.get(typeName);
116
- if (constructor) {
117
- return constructor;
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.hasStructuredType(typeName)) {
118
+ if (!factory.hasStructureByTypeName(typeName)) {
121
119
  continue;
122
120
  }
123
- const constructor2 = factory.getStructureTypeConstructor(typeName);
124
- if (constructor2) {
125
- return constructor2;
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
- hasStructuredType(typeName) {
136
- if (this._structureTypeConstructorByNameMap.has(typeName)) {
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.hasStructuredType(typeName)) {
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 constructor = this.getStructureTypeConstructor(typeName);
148
- return constructor.schema;
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 constructor = this._structureTypeConstructorByEncodingNodeIdMap.get(expandedNodeIdKey);
172
- if (constructor) {
173
- return constructor;
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 constructor2 = factory.getConstructor(binaryEncodingNodeId);
177
- if (constructor2) {
178
- return constructor2;
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
- /* istanbul ignore next */
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._structureTypeConstructorByEncodingNodeIdMap.get(expandedNodeIdKey);
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
- if (!verifyExpandedNodeId(binaryEncodingNodeId)) {
208
- throw new Error(" constructObject : invalid expandedNodeId provided " + binaryEncodingNodeId.toString());
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 constructor();
214
+ return new Constructor();
216
215
  }
217
216
  associateWithBinaryEncoding(className, expandedNodeId) {
218
- const classConstructor = this.getStructureTypeConstructor(className);
217
+ const structureInfo = this.getStructureInfoByTypeName(className);
219
218
  if (doDebug) {
220
219
  debugLog(" associateWithBinaryEncoding ", className, expandedNodeId.toString());
221
220
  }
222
- /* istanbul ignore next */
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._structureTypeConstructorByEncodingNodeIdMap.has(expandedNodeIdKey)) {
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._structureTypeConstructorByEncodingNodeIdMap.get(expandedNodeIdKey).name);
230
+ this._structureInfoByEncodingMap.get(expandedNodeIdKey).schema.name);
235
231
  }
236
- this._structureTypeConstructorByEncodingNodeIdMap.set(expandedNodeIdKey, classConstructor);
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._structureTypeConstructorByNameMap.has(typeName)) {
249
- warningLog(this.getStructureTypeConstructor(typeName));
244
+ if (this._structureInfoByName.has(typeName)) {
250
245
  warningLog("target namespace = `" + this.targetNamespace + "`");
251
- warningLog(" registerFactory : " + typeName + " already registered. dataTypeNodeId=", dataTypeNodeId.toString());
246
+ warningLog("registerFactory : " + typeName + " already registered. dataTypeNodeId=", dataTypeNodeId.toString());
252
247
  return;
253
248
  }
254
- debugLog("registering typeName ", typeName, dataTypeNodeId.toString());
255
- this._structureTypeConstructorByNameMap.set(typeName, constructor);
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._structureTypeConstructorByDataTypeMap.set(dataTypeNodeId.toString(), constructor);
258
- }
259
- Object.defineProperty(constructor.schema, "$$factory", {
260
- enumerable: false,
261
- value: this,
262
- writable: false
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.getConstructorForDataType(schema.dataTypeNodeId)) {
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
- console.log("schema", schema.name);
288
- console.log("schema", schema.dataTypeNodeId.toString());
289
- console.log("schema", schema.encodingDefaultBinary ? schema.encodingDefaultBinary.toString() : " ");
290
- console.log("schema", schema.encodingDefaultXml ? schema.encodingDefaultXml.toString() : " ");
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":"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"}
1
+ {"version":3,"file":"datatype_factory.js","sourceRoot":"","sources":["../source/datatype_factory.ts"],"names":[],"mappings":"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"}
@@ -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
- constructor(options: EnumerationDefinitionOptions);
18
+ dataTypeNodeId: NodeId;
19
+ constructor(dataTypeNodeId: NodeId, options: EnumerationDefinitionOptions);
18
20
  }
19
21
  /**
20
22
  * @method registerEnumeration
@@ -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
  }