node-opcua-factory 2.72.1 → 2.74.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.
Files changed (75) hide show
  1. package/LICENSE +3 -1
  2. package/dist/base_ua_object.d.ts +53 -0
  3. package/dist/base_ua_object.js +536 -0
  4. package/dist/base_ua_object.js.map +1 -0
  5. package/dist/basic_type.d.ts +40 -0
  6. package/dist/basic_type.js +119 -0
  7. package/dist/basic_type.js.map +1 -0
  8. package/dist/builtin_types.d.ts +46 -0
  9. package/dist/builtin_types.js +284 -0
  10. package/dist/builtin_types.js.map +1 -0
  11. package/dist/builtin_types_special.d.ts +5 -0
  12. package/dist/builtin_types_special.js +46 -0
  13. package/dist/builtin_types_special.js.map +1 -0
  14. package/dist/datatype_factory.d.ts +8 -11
  15. package/dist/datatype_factory.js +25 -42
  16. package/dist/datatype_factory.js.map +1 -1
  17. package/dist/encode_decode.d.ts +9 -0
  18. package/dist/encode_decode.js +40 -0
  19. package/dist/encode_decode.js.map +1 -0
  20. package/dist/enumerations.d.ts +32 -0
  21. package/dist/enumerations.js +78 -0
  22. package/dist/enumerations.js.map +1 -0
  23. package/dist/get_built_in_type.d.ts +0 -0
  24. package/dist/get_built_in_type.js +2 -0
  25. package/dist/get_built_in_type.js.map +1 -0
  26. package/dist/get_standard_data_type_factory.d.ts +12 -0
  27. package/dist/get_standard_data_type_factory.js +35 -0
  28. package/dist/get_standard_data_type_factory.js.map +1 -0
  29. package/dist/get_structured_type_schema.d.ts +4 -0
  30. package/dist/get_structured_type_schema.js +13 -0
  31. package/dist/get_structured_type_schema.js.map +1 -0
  32. package/dist/id_generator.d.ts +3 -0
  33. package/dist/id_generator.js +22 -0
  34. package/dist/id_generator.js.map +1 -0
  35. package/dist/index.d.ts +13 -10
  36. package/dist/index.js +13 -10
  37. package/dist/index.js.map +1 -1
  38. package/dist/nodeid_type.d.ts +13 -0
  39. package/dist/nodeid_type.js +19 -0
  40. package/dist/nodeid_type.js.map +1 -0
  41. package/dist/parameters.d.ts +3 -0
  42. package/dist/parameters.js +7 -0
  43. package/dist/parameters.js.map +1 -0
  44. package/dist/register_class_definition.d.ts +3 -0
  45. package/dist/register_class_definition.js +9 -0
  46. package/dist/register_class_definition.js.map +1 -0
  47. package/dist/schema_helpers.d.ts +24 -0
  48. package/dist/schema_helpers.js +100 -0
  49. package/dist/schema_helpers.js.map +1 -0
  50. package/dist/structured_type_schema.d.ts +44 -0
  51. package/dist/structured_type_schema.js +279 -0
  52. package/dist/structured_type_schema.js.map +1 -0
  53. package/dist/types.d.ts +86 -45
  54. package/dist/types.js +1 -43
  55. package/dist/types.js.map +1 -1
  56. package/package.json +13 -12
  57. package/source/{factories_baseobject.ts → base_ua_object.ts} +48 -44
  58. package/source/{factories_basic_type.ts → basic_type.ts} +7 -28
  59. package/source/{factories_builtin_types.ts → builtin_types.ts} +111 -89
  60. package/source/{factories_builtin_types_special.ts → builtin_types_special.ts} +2 -2
  61. package/source/datatype_factory.ts +44 -47
  62. package/source/encode_decode.ts +37 -0
  63. package/source/{factories_enumerations.ts → enumerations.ts} +6 -4
  64. package/source/get_built_in_type.ts +0 -0
  65. package/source/{factories_factories.ts → get_standard_data_type_factory.ts} +7 -25
  66. package/source/get_structured_type_schema.ts +10 -0
  67. package/source/{factories_id_generator.ts → id_generator.ts} +0 -0
  68. package/source/index.ts +14 -11
  69. package/source/nodeid_type.ts +17 -0
  70. package/source/parameters.ts +3 -0
  71. package/source/register_class_definition.ts +11 -0
  72. package/source/{factories_schema_helpers.ts → schema_helpers.ts} +15 -37
  73. package/source/{factories_structuredTypeSchema.ts → structured_type_schema.ts} +37 -36
  74. package/source/types.ts +104 -79
  75. package/source/constructor_type.ts +0 -18
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataTypeFactory = void 0;
3
+ exports.DataTypeFactory = exports._findFieldSchema = void 0;
4
4
  /**
5
5
  * @module node-opcua-factory
6
6
  */
@@ -8,11 +8,22 @@ const util = require("util");
8
8
  const chalk = require("chalk");
9
9
  const node_opcua_assert_1 = require("node-opcua-assert");
10
10
  const node_opcua_debug_1 = require("node-opcua-debug");
11
- const factories_baseobject_1 = require("./factories_baseobject");
12
- const factories_builtin_types_1 = require("./factories_builtin_types");
13
- const factories_enumerations_1 = require("./factories_enumerations");
11
+ const node_opcua_constants_1 = require("node-opcua-constants");
12
+ const builtin_types_1 = require("./builtin_types");
13
+ 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
+ function _findFieldSchema(typeDictionary, field, value) {
17
+ const fieldType = field.fieldType;
18
+ if (field.allowSubType && field.category === "complex") {
19
+ const fieldTypeConstructor = value ? value.constructor : field.fieldTypeConstructor;
20
+ const _newFieldSchema = fieldTypeConstructor.schema;
21
+ return _newFieldSchema;
22
+ }
23
+ const fieldTypeConstructor = field.fieldTypeConstructor || typeDictionary.getStructureTypeConstructor(fieldType);
24
+ return field.schema || fieldTypeConstructor.schema;
25
+ }
26
+ exports._findFieldSchema = _findFieldSchema;
16
27
  class DataTypeFactory {
17
28
  constructor(baseDataFactories) {
18
29
  this.imports = [];
@@ -20,7 +31,6 @@ class DataTypeFactory {
20
31
  this._structureTypeConstructorByDataTypeMap = new Map();
21
32
  this._structureTypeConstructorByEncodingNodeIdMap = new Map();
22
33
  this._enumerations = new Map();
23
- this._simpleTypes = new Map();
24
34
  this.defaultByteOrder = "LittleEndian";
25
35
  this.targetNamespace = "";
26
36
  this.baseDataFactories = baseDataFactories;
@@ -28,45 +38,19 @@ class DataTypeFactory {
28
38
  repairBaseDataFactories(baseDataFactories) {
29
39
  this.baseDataFactories = baseDataFactories;
30
40
  }
31
- // -----------------------------
32
- registerSimpleType(name, dataTypeNodeId, def) {
33
- // istanbul ignore next
34
- if (this._simpleTypes.has(name)) {
35
- throw new Error("registerSimpleType " + name + " already register");
36
- }
37
- this._simpleTypes.set(name, { nodeId: dataTypeNodeId, definition: def });
41
+ hasBuiltInType(name) {
42
+ return (0, builtin_types_1.hasBuiltInType)(name);
38
43
  }
39
- hasSimpleType(name) {
40
- if (this._simpleTypes.has(name)) {
41
- return true;
42
- }
43
- for (const factory of this.baseDataFactories) {
44
- if (factory.hasSimpleType(name)) {
45
- return true;
46
- }
47
- }
48
- const hasSimpleT = (0, factories_builtin_types_1.hasBuiltInType)(name);
49
- if (hasSimpleT) {
50
- return hasSimpleT;
51
- }
52
- return (0, factories_builtin_types_1.hasBuiltInType)(name);
44
+ getBuiltInType(name) {
45
+ return (0, builtin_types_1.getBuiltInType)(name);
53
46
  }
54
- getSimpleType(name) {
55
- if (this._simpleTypes.has(name)) {
56
- return this._simpleTypes.get(name).definition;
57
- }
58
- for (const factory of this.baseDataFactories) {
59
- if (factory.hasSimpleType(name)) {
60
- return factory.getSimpleType(name);
61
- }
62
- }
63
- return (0, factories_builtin_types_1.getBuildInType)(name);
47
+ getBuiltInTypeByDataType(nodeId) {
48
+ return (0, builtin_types_1.getBuiltInType)(node_opcua_constants_1.DataTypeIds[nodeId.value]);
64
49
  }
65
50
  // -----------------------------
66
51
  // EnumerationDefinitionSchema
67
52
  registerEnumeration(enumeration) {
68
- debugLog("Registering Enumeration ", enumeration.name);
69
- (0, node_opcua_assert_1.assert)(!this._enumerations.has(enumeration.name));
53
+ (0, node_opcua_assert_1.assert)(!this._enumerations.has(enumeration.name), "enumeration already registered");
70
54
  this._enumerations.set(enumeration.name, enumeration);
71
55
  }
72
56
  hasEnumeration(enumName) {
@@ -79,7 +63,7 @@ class DataTypeFactory {
79
63
  return true;
80
64
  }
81
65
  }
82
- if ((0, factories_enumerations_1.hasEnumeration)(enumName)) {
66
+ if ((0, enumerations_1.hasBuiltInEnumeration)(enumName)) {
83
67
  return true;
84
68
  }
85
69
  return false;
@@ -95,7 +79,7 @@ class DataTypeFactory {
95
79
  return e;
96
80
  }
97
81
  }
98
- const ee = (0, factories_enumerations_1.getEnumeration)(enumName);
82
+ const ee = (0, enumerations_1.getBuiltInEnumeration)(enumName);
99
83
  return ee;
100
84
  }
101
85
  // ----------------------------
@@ -225,8 +209,7 @@ class DataTypeFactory {
225
209
  const constructor = this.getConstructor(binaryEncodingNodeId);
226
210
  if (!constructor) {
227
211
  debugLog("Cannot find constructor for " + binaryEncodingNodeId.toString());
228
- return new factories_baseobject_1.BaseUAObject();
229
- // throw new Error("Cannot find constructor for " + expandedNodeId.toString());
212
+ throw new Error("Cannot find constructor for " + binaryEncodingNodeId.toString());
230
213
  }
231
214
  return new constructor();
232
215
  }
@@ -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":";;;AAAA;;GAEG;AACH,6BAA6B;AAC7B,+BAA+B;AAE/B,yDAA2C;AAC3C,uDAAiE;AAEjE,+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;AAE3C,SAAgB,gBAAgB,CAAC,cAA+B,EAAE,KAA0B,EAAE,KAAU;IACpG,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAElC,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;QACpD,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAEpF,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAEpD,OAAO,eAAwC,CAAC;KACnD;IAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,IAAI,cAAc,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAEjH,OAAQ,KAAK,CAAC,MAAgC,IAAK,oBAA4B,CAAC,MAAM,CAAC;AAC3F,CAAC;AAdD,4CAcC;AAED,MAAa,eAAe;IAYxB,YAAmB,iBAAoC;QAThD,YAAO,GAAa,EAAE,CAAC;QAEtB,uCAAkC,GAA2C,IAAI,GAAG,EAAE,CAAC;QACvF,2CAAsC,GAA2C,IAAI,GAAG,EAAE,CAAC;QAC3F,iDAA4C,GAAqB,IAAI,GAAG,EAAE,CAAC;QAC3E,kBAAa,GAA6C,IAAI,GAAG,EAAE,CAAC;QAKxE,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAEM,uBAAuB,CAAC,iBAAoC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAEM,cAAc,CAAC,IAAY;QAC9B,OAAO,IAAA,8BAAc,EAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEM,cAAc,CAAC,IAAY;QAC9B,OAAO,IAAA,8BAAc,EAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEM,wBAAwB,CAAC,MAAc;QAC1C,OAAO,IAAA,8BAAc,EAAC,kCAAW,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,gCAAgC;IAChC,8BAA8B;IACvB,mBAAmB,CAAC,WAAwC;QAC/D,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEM,cAAc,CAAC,QAAgB;QAClC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC;SACf;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,EAAE;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;QACD,IAAI,IAAA,oCAAqB,EAAC,QAAQ,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,cAAc,CAAC,QAAgB;QAClC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;SACnD;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE;gBACT,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC3C,OAAO,CAAC,CAAC;aACZ;SACJ;QACD,MAAM,EAAE,GAAG,IAAA,oCAAqB,EAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,gCAAgC;IAEzB,0BAA0B,CAAC,cAAsB;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,WAAW,EAAE;YACb,OAAO,WAAW,CAAC;SACtB;QACD,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,qDAAqD,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvG,CAAC;IACM,yBAAyB,CAAC,cAAsB;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,sCAAsC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,IAAI,WAAW,EAAE;YACb,OAAO,WAAW,CAAC;SACtB;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;YACvE,IAAI,YAAY,EAAE;gBACd,OAAO,YAAY,CAAC;aACvB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,uGAAuG;IACvG,qBAAqB;IACrB,uGAAuG;IAChG,oBAAoB;QACvB,OAAO,IAAI,CAAC,kCAAkC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAEM,2BAA2B,CAAC,QAAgB;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,WAAW,EAAE;YACb,OAAO,WAAW,CAAC;SACtB;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;gBACtC,SAAS;aACZ;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,YAAY,EAAE;gBACd,OAAO,YAAY,CAAC;aACvB;SACJ;QACD,uBAAuB;QACvB,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3D;QACD,uBAAuB;QACvB,MAAM,IAAI,KAAK,CACX,4CAA4C,GAAG,QAAQ,GAAG,oDAAoD,CACjH,CAAC;IACN,CAAC;IAEM,iBAAiB,CAAC,QAAgB;QACrC,IAAI,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvD,OAAO,IAAI,CAAC;SACf;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1C,IAAI,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;gBACrC,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,uBAAuB,CAAC,QAAgB;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,uBAAuB;IAChB,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CACP,WAAW,EACX,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAC5D,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAEM,uBAAuB,CAAC,cAAsB,EAAE,SAAiB,EAAE,gBAA2C;QACjH,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACnE,IAAI,gBAAgB,CAAC,qBAAqB,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,KAAK,CAAC,EAAE;YAC9F,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;SACvF;aAAM;YACH,uEAAuE;YACvE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;SACvG;IACL,CAAC;IAED,uGAAuG;IACvG,iCAAiC;IACjC,uGAAuG;IAChG,cAAc,CAAC,oBAA4B;QAC9C,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,4CAA4C,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7F,IAAI,WAAW,EAAE;YACb,OAAO,WAAW,CAAC;SACtB;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YAClE,IAAI,YAAY,EAAE;gBACd,OAAO,YAAY,CAAC;aACvB;SACJ;QACD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClH,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,cAAc,CAAC,oBAA4B;QAC9C,IAAI,CAAC,oBAAoB,EAAE;YACvB,OAAO,KAAK,CAAC;SAChB;QACD,0BAA0B;QAC1B,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE;YAC7C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,4CAA4C,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7F,IAAI,WAAW,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YAClE,IAAI,YAAY,EAAE;gBACd,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,eAAe,CAAC,oBAA4B;QAC/C,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,qDAAqD,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5G;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAE9D,IAAI,CAAC,WAAW,EAAE;YACd,QAAQ,CAAC,8BAA8B,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrF;QACD,OAAO,IAAI,WAAW,EAAE,CAAC;IAC7B,CAAC;IAEM,2BAA2B,CAAC,SAAiB,EAAE,cAA8B;QAChF,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,OAAO,EAAE;YACT,QAAQ,CAAC,+BAA+B,EAAE,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnF;QAED,0BAA0B;QAC1B,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,eAAe,GAAG,SAAS,CAAC,CAAC;SACxG;QACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEhE,0BAA0B;QAC1B,IAAI,IAAI,CAAC,4CAA4C,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;YAC1E,MAAM,IAAI,KAAK,CACX,SAAS;gBACL,SAAS;gBACT,WAAW;gBACX,cAAc;gBACd,mCAAmC;gBACnC,IAAI,CAAC,4CAA4C,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CACpF,CAAC;SACL;QAED,IAAI,CAAC,4CAA4C,CAAC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC/F,CAAC;IAEM,QAAQ;QACX,MAAM,CAAC,GAAa,EAAE,CAAC;QACvB,SAAS,KAAK,CAAC,GAAG,IAAqB;YACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEO,gBAAgB,CAAC,cAAsB,EAAE,QAAgB,EAAE,WAAsC;QACrG,0BAA0B;QAC1B,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,QAAQ,GAAG,qBAAqB,CAAC,CAAC;SAC9E;QACD,QAAQ,CAAC,uBAAuB,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACnE,IAAI,cAAc,CAAC,KAAK,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,sCAAsC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;SAC3F;QACD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE;YACnD,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;IACP,CAAC;CACJ;AA/QD,0CA+QC;AAED,SAAS,UAAU,CAAC,MAA6B,EAAE,KAAU;IACzD,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,qBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;QAC3B,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;KACtF;AACL,CAAC;AACD,SAAS,eAAe,CAAC,WAA4B,EAAE,KAAU;IAC7D,KAAK,MAAM,iBAAiB,IAAI,WAAW,CAAC,oBAAoB,EAAE,EAAE;QAChE,MAAM,MAAM,GAAG,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAEtE,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;QAEhD,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;YAC/D,KAAK,CAAC,yBAAyB,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5F;QACD,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;YAC/B,KAAK,CAAC,0CAA0C,CAAC,CAAC;SACrD;aAAM;YACH,IAAI,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE;gBAC1D,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9F,UAAU;gBACV,wFAAwF;aAC3F;SACJ;QACD,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC7B;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAsB;IAChD,0BAA0B;IAC1B,IAAI,cAAc,CAAC,KAAK,YAAY,MAAM,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACvE;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,cAAsB;IACjD,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { OutputBinaryStream, BinaryStream } from "node-opcua-binary-stream";
2
+ export declare function defaultEncode(value: any, stream: OutputBinaryStream): void;
3
+ export declare function defaultDecode(stream: BinaryStream): any;
4
+ export declare function defaultGuidValue(): any;
5
+ export declare function toJSONGuid(value: any): any;
6
+ export declare function encodeAny(value: any, stream: OutputBinaryStream): void;
7
+ export declare function decodeAny(stream: BinaryStream): void;
8
+ export declare function encodeNull(value: any, stream: OutputBinaryStream): void;
9
+ export declare function decodeNull(stream: BinaryStream): any;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeNull = exports.encodeNull = exports.decodeAny = exports.encodeAny = exports.toJSONGuid = exports.defaultGuidValue = exports.defaultDecode = exports.defaultEncode = void 0;
4
+ const node_opcua_assert_1 = require("node-opcua-assert");
5
+ function defaultEncode(value, stream) {
6
+ /** */
7
+ }
8
+ exports.defaultEncode = defaultEncode;
9
+ function defaultDecode(stream) {
10
+ return null;
11
+ }
12
+ exports.defaultDecode = defaultDecode;
13
+ function defaultGuidValue() {
14
+ return Buffer.alloc(0);
15
+ }
16
+ exports.defaultGuidValue = defaultGuidValue;
17
+ function toJSONGuid(value) {
18
+ if (typeof value === "string") {
19
+ return value;
20
+ }
21
+ (0, node_opcua_assert_1.default)(value instanceof Buffer);
22
+ return value.toString("base64");
23
+ }
24
+ exports.toJSONGuid = toJSONGuid;
25
+ function encodeAny(value, stream) {
26
+ (0, node_opcua_assert_1.default)(false, "type 'Any' cannot be encoded");
27
+ }
28
+ exports.encodeAny = encodeAny;
29
+ function decodeAny(stream) {
30
+ (0, node_opcua_assert_1.default)(false, "type 'Any' cannot be decoded");
31
+ }
32
+ exports.decodeAny = decodeAny;
33
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
34
+ function encodeNull(value, stream) { }
35
+ exports.encodeNull = encodeNull;
36
+ function decodeNull(stream) {
37
+ return null;
38
+ }
39
+ exports.decodeNull = decodeNull;
40
+ //# sourceMappingURL=encode_decode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode_decode.js","sourceRoot":"","sources":["../source/encode_decode.ts"],"names":[],"mappings":";;;AAAA,yDAAuC;AAGvC,SAAgB,aAAa,CAAC,KAAU,EAAE,MAA0B;IAChE,MAAM;AACV,CAAC;AAFD,sCAEC;AAED,SAAgB,aAAa,CAAC,MAAoB;IAC9C,OAAO,IAAI,CAAC;AAChB,CAAC;AAFD,sCAEC;AAED,SAAgB,gBAAgB;IAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAFD,4CAEC;AAED,SAAgB,UAAU,CAAC,KAAU;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,KAAK,CAAC;KAChB;IACD,IAAA,2BAAM,EAAC,KAAK,YAAY,MAAM,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAND,gCAMC;AAED,SAAgB,SAAS,CAAC,KAAU,EAAE,MAA0B;IAC5D,IAAA,2BAAM,EAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAClD,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAC,MAAoB;IAC1C,IAAA,2BAAM,EAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAClD,CAAC;AAFD,8BAEC;AAED,gEAAgE;AAChE,SAAgB,UAAU,CAAC,KAAU,EAAE,MAA0B,IAAS,CAAC;AAA3E,gCAA2E;AAE3E,SAAgB,UAAU,CAAC,MAAoB;IAC3C,OAAO,IAAI,CAAC;AAChB,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,32 @@
1
+ import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
2
+ import { Enum, EnumItem, _TypescriptEnum } from "node-opcua-enum";
3
+ import { TypeSchemaBase } from "./builtin_types";
4
+ import { EnumerationDefinition, TypeSchemaConstructorOptions } from "./types";
5
+ export interface EnumerationDefinitionOptions extends TypeSchemaConstructorOptions {
6
+ enumValues: _TypescriptEnum | string[];
7
+ typedEnum?: Enum;
8
+ lengthInBits?: number;
9
+ defaultValue?: EnumItem;
10
+ encode?: (value: EnumItem, stream: OutputBinaryStream) => void;
11
+ decode?: (stream: BinaryStream) => EnumItem;
12
+ }
13
+ export declare class EnumerationDefinitionSchema extends TypeSchemaBase implements EnumerationDefinition {
14
+ enumValues: _TypescriptEnum;
15
+ typedEnum: Enum;
16
+ lengthInBits: number;
17
+ constructor(options: EnumerationDefinitionOptions);
18
+ }
19
+ /**
20
+ * @method registerEnumeration
21
+ * @param options
22
+ * @param options.name {string}
23
+ * @param options.enumValues [{key:Name, value:values}]
24
+ * @param options.encode
25
+ * @param options.decode
26
+ * @param options.typedEnum
27
+ * @param options.defaultValue
28
+ * @return {Enum}
29
+ */
30
+ export declare function registerEnumeration(options: EnumerationDefinitionOptions): Enum;
31
+ export declare function hasBuiltInEnumeration(enumerationName: string): boolean;
32
+ export declare function getBuiltInEnumeration(enumerationName: string): EnumerationDefinitionSchema;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBuiltInEnumeration = exports.hasBuiltInEnumeration = exports.registerEnumeration = exports.EnumerationDefinitionSchema = void 0;
4
+ /**
5
+ * @module node-opcua-factory
6
+ */
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_enum_1 = require("node-opcua-enum");
9
+ const builtin_types_1 = require("./builtin_types");
10
+ function _encode_enumeration(typedEnum, value, stream) {
11
+ (0, node_opcua_assert_1.assert)(typeof value === "number", "Expecting a number here");
12
+ (0, node_opcua_assert_1.assert)(typedEnum.get(value) !== undefined, "expecting a valid value");
13
+ stream.writeInteger(value);
14
+ }
15
+ function _decode_enumeration(typedEnum, stream) {
16
+ const value = stream.readInteger();
17
+ const e = typedEnum.get(value);
18
+ // istanbul ignore next
19
+ if (!e) {
20
+ throw new Error("cannot coerce value=" + value + " to " + typedEnum.constructor.name);
21
+ }
22
+ return value;
23
+ }
24
+ class EnumerationDefinitionSchema extends builtin_types_1.TypeSchemaBase {
25
+ // xx encode: (value: EnumItem, stream: OutputBinaryStream) => void;
26
+ // xx decode: (stream: BinaryStream) => EnumItem;
27
+ constructor(options) {
28
+ super(options);
29
+ // create a new Enum
30
+ this.enumValues = (0, node_opcua_enum_1.adaptTypescriptEnum)(options.enumValues);
31
+ const typedEnum = new node_opcua_enum_1.Enum(options.enumValues);
32
+ options.typedEnum = typedEnum;
33
+ (0, node_opcua_assert_1.assert)(!options.encode || typeof options.encode === "function");
34
+ (0, node_opcua_assert_1.assert)(!options.decode || typeof options.decode === "function");
35
+ this.encode = options.encode || _encode_enumeration.bind(null, typedEnum);
36
+ this.decode = options.decode || _decode_enumeration.bind(null, typedEnum);
37
+ this.typedEnum = options.typedEnum;
38
+ this.defaultValue = this.typedEnum.getDefaultValue().value;
39
+ this.lengthInBits = options.lengthInBits || 32;
40
+ }
41
+ }
42
+ exports.EnumerationDefinitionSchema = EnumerationDefinitionSchema;
43
+ const _enumerations = new Map();
44
+ /**
45
+ * @method registerEnumeration
46
+ * @param options
47
+ * @param options.name {string}
48
+ * @param options.enumValues [{key:Name, value:values}]
49
+ * @param options.encode
50
+ * @param options.decode
51
+ * @param options.typedEnum
52
+ * @param options.defaultValue
53
+ * @return {Enum}
54
+ */
55
+ function registerEnumeration(options) {
56
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "name"));
57
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "enumValues"));
58
+ const name = options.name;
59
+ if (Object.prototype.hasOwnProperty.call(_enumerations, name)) {
60
+ throw new Error("factories.registerEnumeration : Enumeration " + options.name + " has been already inserted");
61
+ }
62
+ const enumerationDefinition = new EnumerationDefinitionSchema(options);
63
+ _enumerations.set(name, enumerationDefinition);
64
+ return enumerationDefinition.typedEnum;
65
+ }
66
+ exports.registerEnumeration = registerEnumeration;
67
+ function hasBuiltInEnumeration(enumerationName) {
68
+ return _enumerations.has(enumerationName);
69
+ }
70
+ exports.hasBuiltInEnumeration = hasBuiltInEnumeration;
71
+ function getBuiltInEnumeration(enumerationName) {
72
+ if (!hasBuiltInEnumeration(enumerationName)) {
73
+ throw new Error("Cannot find enumeration with type " + enumerationName);
74
+ }
75
+ return _enumerations.get(enumerationName);
76
+ }
77
+ exports.getBuiltInEnumeration = getBuiltInEnumeration;
78
+ //# sourceMappingURL=enumerations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enumerations.js","sourceRoot":"","sources":["../source/enumerations.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=get_built_in_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_built_in_type.js","sourceRoot":"","sources":["../source/get_built_in_type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @module node-opcua-factory
3
+ */
4
+ import { ExpandedNodeId } from "node-opcua-nodeid";
5
+ import { DataTypeFactory } from "./datatype_factory";
6
+ import { ConstructorFunc, ConstructorFuncWithSchema } from "./types";
7
+ export declare function getStandardDataTypeFactory(): DataTypeFactory;
8
+ export declare function getStructureTypeConstructor(typeName: string): ConstructorFuncWithSchema;
9
+ export declare function hasStructuredType(typeName: string): boolean;
10
+ export declare function getConstructor(binaryEncodingNodeId: ExpandedNodeId): ConstructorFunc | null;
11
+ export declare function hasConstructor(binaryEncodingNodeId: ExpandedNodeId): boolean;
12
+ export declare function dump(): void;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dump = exports.hasConstructor = exports.getConstructor = exports.hasStructuredType = exports.getStructureTypeConstructor = exports.getStandardDataTypeFactory = void 0;
4
+ const datatype_factory_1 = require("./datatype_factory");
5
+ let globalFactory;
6
+ function getStandardDataTypeFactory() {
7
+ if (!globalFactory) {
8
+ globalFactory = new datatype_factory_1.DataTypeFactory([]);
9
+ globalFactory.targetNamespace = "http://opcfoundation.org/UA/";
10
+ }
11
+ return globalFactory;
12
+ }
13
+ exports.getStandardDataTypeFactory = getStandardDataTypeFactory;
14
+ function getStructureTypeConstructor(typeName) {
15
+ return getStandardDataTypeFactory().getStructureTypeConstructor(typeName);
16
+ }
17
+ exports.getStructureTypeConstructor = getStructureTypeConstructor;
18
+ function hasStructuredType(typeName) {
19
+ return getStandardDataTypeFactory().hasStructuredType(typeName);
20
+ }
21
+ exports.hasStructuredType = hasStructuredType;
22
+ function getConstructor(binaryEncodingNodeId) {
23
+ return getStandardDataTypeFactory().getConstructor(binaryEncodingNodeId);
24
+ }
25
+ exports.getConstructor = getConstructor;
26
+ function hasConstructor(binaryEncodingNodeId) {
27
+ return getStandardDataTypeFactory().hasConstructor(binaryEncodingNodeId);
28
+ }
29
+ exports.hasConstructor = hasConstructor;
30
+ /* istanbul ignore next */
31
+ function dump() {
32
+ getStandardDataTypeFactory().dump();
33
+ }
34
+ exports.dump = dump;
35
+ //# sourceMappingURL=get_standard_data_type_factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_standard_data_type_factory.js","sourceRoot":"","sources":["../source/get_standard_data_type_factory.ts"],"names":[],"mappings":";;;AAKA,yDAAqD;AAIrD,IAAI,aAA8B,CAAC;AAEnC,SAAgB,0BAA0B;IACtC,IAAI,CAAC,aAAa,EAAE;QAChB,aAAa,GAAG,IAAI,kCAAe,CAAC,EAAE,CAAC,CAAC;QACxC,aAAa,CAAC,eAAe,GAAG,8BAA8B,CAAC;KAClE;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAND,gEAMC;AAED,SAAgB,2BAA2B,CAAC,QAAgB;IACxD,OAAO,0BAA0B,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAFD,kEAEC;AAED,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,0BAA0B,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAFD,8CAEC;AAED,SAAgB,cAAc,CAAC,oBAAoC;IAC/D,OAAO,0BAA0B,EAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAC7E,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,oBAAoC;IAC/D,OAAO,0BAA0B,EAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAC7E,CAAC;AAFD,wCAEC;AAGD,0BAA0B;AAC1B,SAAgB,IAAI;IAChB,0BAA0B,EAAE,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAFD,oBAEC"}
@@ -0,0 +1,4 @@
1
+ import { ExpandedNodeId } from "node-opcua-nodeid";
2
+ import { IBaseUAObject, IStructuredTypeSchema } from "./types";
3
+ export declare function getStructuredTypeSchema(typeName: string): IStructuredTypeSchema;
4
+ export declare function constructObject(binaryEncodingNodeId: ExpandedNodeId): IBaseUAObject;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constructObject = exports.getStructuredTypeSchema = void 0;
4
+ const get_standard_data_type_factory_1 = require("./get_standard_data_type_factory");
5
+ function getStructuredTypeSchema(typeName) {
6
+ return (0, get_standard_data_type_factory_1.getStandardDataTypeFactory)().getStructuredTypeSchema(typeName);
7
+ }
8
+ exports.getStructuredTypeSchema = getStructuredTypeSchema;
9
+ function constructObject(binaryEncodingNodeId) {
10
+ return (0, get_standard_data_type_factory_1.getStandardDataTypeFactory)().constructObject(binaryEncodingNodeId);
11
+ }
12
+ exports.constructObject = constructObject;
13
+ //# sourceMappingURL=get_structured_type_schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_structured_type_schema.js","sourceRoot":"","sources":["../source/get_structured_type_schema.ts"],"names":[],"mappings":";;;AACA,qFAA8E;AAG9E,SAAgB,uBAAuB,CAAC,QAAgB;IACpD,OAAO,IAAA,2DAA0B,GAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAFD,0DAEC;AACD,SAAgB,eAAe,CAAC,oBAAoC;IAChE,OAAO,IAAA,2DAA0B,GAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAC9E,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,3 @@
1
+ export declare function generate_new_id(): number;
2
+ export declare function next_available_id(): number;
3
+ export declare function is_internal_id(value: number): boolean;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.is_internal_id = exports.next_available_id = exports.generate_new_id = void 0;
4
+ /**
5
+ * @module node-opcua-factory
6
+ */
7
+ const _FIRST_INTERNAL_ID = 0xfffe0000;
8
+ let _nextAvailableId = _FIRST_INTERNAL_ID;
9
+ function generate_new_id() {
10
+ _nextAvailableId += 1;
11
+ return _nextAvailableId;
12
+ }
13
+ exports.generate_new_id = generate_new_id;
14
+ function next_available_id() {
15
+ return -1;
16
+ }
17
+ exports.next_available_id = next_available_id;
18
+ function is_internal_id(value) {
19
+ return value >= _FIRST_INTERNAL_ID;
20
+ }
21
+ exports.is_internal_id = is_internal_id;
22
+ //# sourceMappingURL=id_generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id_generator.js","sourceRoot":"","sources":["../source/id_generator.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAEtC,IAAI,gBAAgB,GAAG,kBAAkB,CAAC;AAE1C,SAAgB,eAAe;IAC3B,gBAAgB,IAAI,CAAC,CAAC;IACtB,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAHD,0CAGC;AAED,SAAgB,iBAAiB;IAC7B,OAAO,CAAC,CAAC,CAAC;AACd,CAAC;AAFD,8CAEC;AACD,SAAgB,cAAc,CAAC,KAAa;IACxC,OAAO,KAAK,IAAI,kBAAkB,CAAC;AACvC,CAAC;AAFD,wCAEC"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,18 @@
1
1
  /**
2
2
  * @module node-opcua-factory
3
3
  */
4
- export * from "./constructor_type";
4
+ export * from "./base_ua_object";
5
+ export * from "./basic_type";
6
+ export * from "./builtin_types_special";
7
+ export * from "./builtin_types";
5
8
  export * from "./datatype_factory";
6
- export * from "./factories_id_generator";
7
- export * from "./factories_enumerations";
8
- export * from "./factories_basic_type";
9
- export * from "./factories_builtin_types";
10
- export * from "./factories_builtin_types_special";
11
- export * from "./factories_baseobject";
9
+ export * from "./enumerations";
10
+ export * from "./get_standard_data_type_factory";
11
+ export * from "./get_structured_type_schema";
12
+ export * from "./id_generator";
13
+ export * from "./nodeid_type";
14
+ export * from "./parameters";
15
+ export * from "./register_class_definition";
16
+ export * from "./schema_helpers";
17
+ export * from "./structured_type_schema";
12
18
  export * from "./types";
13
- export * from "./factories_schema_helpers";
14
- export * from "./factories_factories";
15
- export * from "./factories_structuredTypeSchema";
package/dist/index.js CHANGED
@@ -17,16 +17,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  /**
18
18
  * @module node-opcua-factory
19
19
  */
20
- __exportStar(require("./constructor_type"), exports);
20
+ __exportStar(require("./base_ua_object"), exports);
21
+ __exportStar(require("./basic_type"), exports);
22
+ __exportStar(require("./builtin_types_special"), exports);
23
+ __exportStar(require("./builtin_types"), exports);
21
24
  __exportStar(require("./datatype_factory"), exports);
22
- __exportStar(require("./factories_id_generator"), exports);
23
- __exportStar(require("./factories_enumerations"), exports);
24
- __exportStar(require("./factories_basic_type"), exports);
25
- __exportStar(require("./factories_builtin_types"), exports);
26
- __exportStar(require("./factories_builtin_types_special"), exports);
27
- __exportStar(require("./factories_baseobject"), exports);
25
+ __exportStar(require("./enumerations"), exports);
26
+ __exportStar(require("./get_standard_data_type_factory"), exports);
27
+ __exportStar(require("./get_structured_type_schema"), exports);
28
+ __exportStar(require("./id_generator"), exports);
29
+ __exportStar(require("./nodeid_type"), exports);
30
+ __exportStar(require("./parameters"), exports);
31
+ __exportStar(require("./register_class_definition"), exports);
32
+ __exportStar(require("./schema_helpers"), exports);
33
+ __exportStar(require("./structured_type_schema"), exports);
28
34
  __exportStar(require("./types"), exports);
29
- __exportStar(require("./factories_schema_helpers"), exports);
30
- __exportStar(require("./factories_factories"), exports);
31
- __exportStar(require("./factories_structuredTypeSchema"), exports);
32
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,qDAAmC;AACnC,qDAAmC;AACnC,2DAAyC;AACzC,2DAAyC;AACzC,yDAAuC;AACvC,4DAA0C;AAC1C,oEAAkD;AAClD,yDAAuC;AACvC,0CAAwB;AACxB,6DAA2C;AAC3C,wDAAsC;AACtC,mEAAiD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,mDAAiC;AACjC,+CAA6B;AAC7B,0DAAwC;AACxC,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,mEAAiD;AACjD,+DAA6C;AAC7C,iDAA+B;AAC/B,gDAA8B;AAC9B,+CAA6B;AAC7B,8DAA4C;AAC5C,mDAAiC;AACjC,2DAAyC;AACzC,0CAAwB"}
@@ -0,0 +1,13 @@
1
+ export declare enum NodeIdType {
2
+ ReferenceType = 1,
3
+ IsForward = 2,
4
+ NodeClass = 4,
5
+ BrowseName = 8,
6
+ DisplayName = 16,
7
+ TypeDefinition = 32
8
+ }
9
+ export declare const schemaNodeIdType: {
10
+ name: string;
11
+ enumValues: typeof NodeIdType;
12
+ };
13
+ export declare const _enumerationNodeIdType: import("node-opcua-enum").Enum;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._enumerationNodeIdType = exports.schemaNodeIdType = exports.NodeIdType = void 0;
4
+ const enumerations_1 = require("./enumerations");
5
+ var NodeIdType;
6
+ (function (NodeIdType) {
7
+ NodeIdType[NodeIdType["ReferenceType"] = 1] = "ReferenceType";
8
+ NodeIdType[NodeIdType["IsForward"] = 2] = "IsForward";
9
+ NodeIdType[NodeIdType["NodeClass"] = 4] = "NodeClass";
10
+ NodeIdType[NodeIdType["BrowseName"] = 8] = "BrowseName";
11
+ NodeIdType[NodeIdType["DisplayName"] = 16] = "DisplayName";
12
+ NodeIdType[NodeIdType["TypeDefinition"] = 32] = "TypeDefinition";
13
+ })(NodeIdType = exports.NodeIdType || (exports.NodeIdType = {}));
14
+ exports.schemaNodeIdType = {
15
+ name: "NodeIdType",
16
+ enumValues: NodeIdType
17
+ };
18
+ exports._enumerationNodeIdType = (0, enumerations_1.registerEnumeration)(exports.schemaNodeIdType);
19
+ //# sourceMappingURL=nodeid_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeid_type.js","sourceRoot":"","sources":["../source/nodeid_type.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAIrD,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,6DAAoB,CAAA;IACpB,qDAAgB,CAAA;IAChB,qDAAgB,CAAA;IAChB,uDAAiB,CAAA;IACjB,0DAAkB,CAAA;IAClB,gEAAqB,CAAA;AACzB,CAAC,EAPW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAOrB;AACY,QAAA,gBAAgB,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,UAAU;CACzB,CAAC;AACW,QAAA,sBAAsB,GAAG,IAAA,kCAAmB,EAAC,wBAAgB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const parameters: {
2
+ debugSchemaHelper: boolean;
3
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parameters = void 0;
4
+ exports.parameters = {
5
+ debugSchemaHelper: typeof process === "object" && !!process.env.DEBUG_CLASS
6
+ };
7
+ //# sourceMappingURL=parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../source/parameters.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACtB,iBAAiB,EAAE,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW;CAC9E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { NodeId } from "node-opcua-nodeid";
2
+ import { ConstructorFuncWithSchema } from "./types";
3
+ export declare function registerClassDefinition(dataTypeNodeId: NodeId, className: string, classConstructor: ConstructorFuncWithSchema): void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerClassDefinition = void 0;
4
+ const get_standard_data_type_factory_1 = require("./get_standard_data_type_factory");
5
+ function registerClassDefinition(dataTypeNodeId, className, classConstructor) {
6
+ return (0, get_standard_data_type_factory_1.getStandardDataTypeFactory)().registerClassDefinition(dataTypeNodeId, className, classConstructor);
7
+ }
8
+ exports.registerClassDefinition = registerClassDefinition;
9
+ //# sourceMappingURL=register_class_definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register_class_definition.js","sourceRoot":"","sources":["../source/register_class_definition.ts"],"names":[],"mappings":";;;AACA,qFAA8E;AAG9E,SAAgB,uBAAuB,CACnC,cAAsB,EACtB,SAAiB,EACjB,gBAA2C;IAE3C,OAAO,IAAA,2DAA0B,GAAE,CAAC,uBAAuB,CAAC,cAAc,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAC7G,CAAC;AAND,0DAMC"}
@@ -0,0 +1,24 @@
1
+ import { DataTypeFactory } from "./datatype_factory";
2
+ import { FieldType, IStructuredTypeSchema, StructuredTypeField } from "./types";
3
+ /**
4
+ * ensure correctness of a schema object.
5
+ *
6
+ * @method check_schema_correctness
7
+ * @param schema
8
+ *
9
+ */
10
+ export declare function check_schema_correctness(schema: IStructuredTypeSchema): void;
11
+ /**
12
+ * @method initialize_value
13
+ * @param value
14
+ * @param defaultValue
15
+ * @return {*}
16
+ */
17
+ export declare function initialize_field(field: StructuredTypeField, value: unknown, factory?: DataTypeFactory): any;
18
+ /**
19
+ * @method initialize_field_array
20
+ * @param field
21
+ * @param valueArray
22
+ * @return
23
+ */
24
+ export declare function initialize_field_array(field: FieldType, valueArray: any, factory?: DataTypeFactory): any;