node-opcua-factory 2.71.0 → 2.73.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/base_ua_object.d.ts +53 -0
  2. package/dist/base_ua_object.js +536 -0
  3. package/dist/base_ua_object.js.map +1 -0
  4. package/dist/basic_type.d.ts +40 -0
  5. package/dist/basic_type.js +119 -0
  6. package/dist/basic_type.js.map +1 -0
  7. package/dist/builtin_types.d.ts +46 -0
  8. package/dist/builtin_types.js +284 -0
  9. package/dist/builtin_types.js.map +1 -0
  10. package/dist/builtin_types_special.d.ts +5 -0
  11. package/dist/builtin_types_special.js +46 -0
  12. package/dist/builtin_types_special.js.map +1 -0
  13. package/dist/constructor_type.d.ts +15 -15
  14. package/dist/constructor_type.js +2 -2
  15. package/dist/datatype_factory.d.ts +36 -39
  16. package/dist/datatype_factory.js +305 -322
  17. package/dist/datatype_factory.js.map +1 -1
  18. package/dist/encode_decode.d.ts +9 -0
  19. package/dist/encode_decode.js +40 -0
  20. package/dist/encode_decode.js.map +1 -0
  21. package/dist/enumerations.d.ts +32 -0
  22. package/dist/enumerations.js +78 -0
  23. package/dist/enumerations.js.map +1 -0
  24. package/dist/factories_baseobject.d.ts +56 -56
  25. package/dist/factories_baseobject.js +534 -534
  26. package/dist/factories_basic_type.d.ts +40 -40
  27. package/dist/factories_basic_type.js +135 -135
  28. package/dist/factories_builtin_types.d.ts +32 -32
  29. package/dist/factories_builtin_types.js +261 -261
  30. package/dist/factories_builtin_types_special.d.ts +5 -5
  31. package/dist/factories_builtin_types_special.js +45 -45
  32. package/dist/factories_enumerations.d.ts +31 -31
  33. package/dist/factories_enumerations.js +77 -77
  34. package/dist/factories_factories.d.ts +17 -17
  35. package/dist/factories_factories.js +53 -53
  36. package/dist/factories_id_generator.d.ts +3 -3
  37. package/dist/factories_id_generator.js +21 -21
  38. package/dist/factories_schema_helpers.d.ts +27 -27
  39. package/dist/factories_schema_helpers.js +121 -121
  40. package/dist/factories_structuredTypeSchema.d.ts +45 -45
  41. package/dist/factories_structuredTypeSchema.js +276 -276
  42. package/dist/get_built_in_type.d.ts +0 -0
  43. package/dist/get_built_in_type.js +2 -0
  44. package/dist/get_built_in_type.js.map +1 -0
  45. package/dist/get_standard_data_type_factory.d.ts +12 -0
  46. package/dist/get_standard_data_type_factory.js +35 -0
  47. package/dist/get_standard_data_type_factory.js.map +1 -0
  48. package/dist/get_structured_type_schema.d.ts +4 -0
  49. package/dist/get_structured_type_schema.js +13 -0
  50. package/dist/get_structured_type_schema.js.map +1 -0
  51. package/dist/id_generator.d.ts +3 -0
  52. package/dist/id_generator.js +22 -0
  53. package/dist/id_generator.js.map +1 -0
  54. package/dist/index.d.ts +18 -15
  55. package/dist/index.js +34 -31
  56. package/dist/index.js.map +1 -1
  57. package/dist/nodeid_type.d.ts +13 -0
  58. package/dist/nodeid_type.js +19 -0
  59. package/dist/nodeid_type.js.map +1 -0
  60. package/dist/parameters.d.ts +3 -0
  61. package/dist/parameters.js +7 -0
  62. package/dist/parameters.js.map +1 -0
  63. package/dist/register_class_definition.d.ts +3 -0
  64. package/dist/register_class_definition.js +9 -0
  65. package/dist/register_class_definition.js.map +1 -0
  66. package/dist/schema_helpers.d.ts +24 -0
  67. package/dist/schema_helpers.js +100 -0
  68. package/dist/schema_helpers.js.map +1 -0
  69. package/dist/structured_type_schema.d.ts +44 -0
  70. package/dist/structured_type_schema.js +279 -0
  71. package/dist/structured_type_schema.js.map +1 -0
  72. package/dist/types.d.ts +151 -110
  73. package/dist/types.js +9 -51
  74. package/dist/types.js.map +1 -1
  75. package/package.json +7 -6
  76. package/source/{factories_baseobject.ts → base_ua_object.ts} +48 -44
  77. package/source/{factories_basic_type.ts → basic_type.ts} +7 -28
  78. package/source/{factories_builtin_types.ts → builtin_types.ts} +111 -89
  79. package/source/{factories_builtin_types_special.ts → builtin_types_special.ts} +2 -2
  80. package/source/datatype_factory.ts +44 -47
  81. package/source/encode_decode.ts +37 -0
  82. package/source/{factories_enumerations.ts → enumerations.ts} +6 -4
  83. package/source/get_built_in_type.ts +0 -0
  84. package/source/{factories_factories.ts → get_standard_data_type_factory.ts} +7 -25
  85. package/source/get_structured_type_schema.ts +10 -0
  86. package/source/{factories_id_generator.ts → id_generator.ts} +0 -0
  87. package/source/index.ts +14 -11
  88. package/source/nodeid_type.ts +17 -0
  89. package/source/parameters.ts +3 -0
  90. package/source/register_class_definition.ts +11 -0
  91. package/source/{factories_schema_helpers.ts → schema_helpers.ts} +15 -37
  92. package/source/{factories_structuredTypeSchema.ts → structured_type_schema.ts} +37 -36
  93. package/source/types.ts +104 -79
  94. package/source/constructor_type.ts +0 -18
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildStructuredType = exports.check_options_correctness_against_schema = exports.extract_all_fields = exports.get_base_schema = exports.StructuredTypeSchema = void 0;
4
+ /**
5
+ * @module node-opcua-factory
6
+ */
7
+ const chalk = require("chalk");
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
10
+ const node_opcua_utils_1 = require("node-opcua-utils");
11
+ const builtin_types_1 = require("./builtin_types");
12
+ const enumerations_1 = require("./enumerations");
13
+ const parameters_1 = require("./parameters");
14
+ const get_standard_data_type_factory_1 = require("./get_standard_data_type_factory");
15
+ const get_structured_type_schema_1 = require("./get_structured_type_schema");
16
+ const types_1 = require("./types");
17
+ function figureOutFieldCategory(field) {
18
+ const fieldType = field.fieldType;
19
+ if (field.category) {
20
+ return field.category;
21
+ }
22
+ if ((0, enumerations_1.hasBuiltInEnumeration)(fieldType)) {
23
+ return types_1.FieldCategory.enumeration;
24
+ }
25
+ else if ((0, builtin_types_1.hasBuiltInType)(fieldType)) {
26
+ return types_1.FieldCategory.basic;
27
+ }
28
+ else if ((0, get_standard_data_type_factory_1.hasStructuredType)(fieldType)) {
29
+ (0, node_opcua_assert_1.assert)(fieldType !== "LocalizedText"); // LocalizedText should be treated as BasicType!!!
30
+ return types_1.FieldCategory.complex;
31
+ }
32
+ return types_1.FieldCategory.basic;
33
+ }
34
+ const regExp = /((ns[0-9]+:)?)(.*)/;
35
+ function figureOutSchema(underConstructSchema, field, category) {
36
+ if (field.schema) {
37
+ return field.schema;
38
+ }
39
+ if (underConstructSchema.name === field.fieldType) {
40
+ return underConstructSchema;
41
+ }
42
+ let returnValue = null;
43
+ // may be the field.type contains a ns<X>: prefix !! like the one found in Beckhoff PLC !
44
+ const m = field.fieldType.match(regExp);
45
+ /* istanbul ignore next */
46
+ if (!m) {
47
+ throw new Error("malformed fieldType ? : " + field.fieldType);
48
+ }
49
+ const fieldTypeWithoutNS = m[3];
50
+ switch (category) {
51
+ case types_1.FieldCategory.complex:
52
+ if ((0, get_standard_data_type_factory_1.hasStructuredType)(field.fieldType)) {
53
+ returnValue = (0, get_structured_type_schema_1.getStructuredTypeSchema)(fieldTypeWithoutNS);
54
+ }
55
+ else {
56
+ // LocalizedText etc ...
57
+ returnValue = (0, builtin_types_1.getBuiltInType)(fieldTypeWithoutNS);
58
+ }
59
+ break;
60
+ case types_1.FieldCategory.basic:
61
+ returnValue = (0, builtin_types_1.getBuiltInType)(fieldTypeWithoutNS);
62
+ if (!returnValue) {
63
+ returnValue = (0, get_structured_type_schema_1.getStructuredTypeSchema)(fieldTypeWithoutNS);
64
+ if (returnValue) {
65
+ console.log("Why ?");
66
+ }
67
+ }
68
+ break;
69
+ case types_1.FieldCategory.enumeration:
70
+ returnValue = (0, enumerations_1.getBuiltInEnumeration)(fieldTypeWithoutNS);
71
+ break;
72
+ }
73
+ if (null === returnValue || undefined === returnValue) {
74
+ try {
75
+ returnValue = (0, enumerations_1.getBuiltInEnumeration)(fieldTypeWithoutNS);
76
+ }
77
+ catch (err) {
78
+ console.log(err);
79
+ }
80
+ throw new Error("Cannot find Schema for field with name " +
81
+ field.name +
82
+ " fieldTypeWithoutNS= " +
83
+ fieldTypeWithoutNS +
84
+ " with type " +
85
+ field.fieldType +
86
+ " category = " +
87
+ category +
88
+ JSON.stringify(field, null, "\t"));
89
+ }
90
+ return returnValue;
91
+ }
92
+ function buildField(underConstructSchema, fieldLight) {
93
+ const category = figureOutFieldCategory(fieldLight);
94
+ const schema = figureOutSchema(underConstructSchema, fieldLight, category);
95
+ /* istanbul ignore next */
96
+ if (!schema) {
97
+ throw new Error("expecting a valid schema for field with name " +
98
+ fieldLight.name +
99
+ " with type " +
100
+ fieldLight.fieldType +
101
+ " category" +
102
+ category);
103
+ }
104
+ const { defaultValue, isArray, documentation, fieldType, switchBit, switchValue, allowSubType, dataType, basicDataType } = fieldLight;
105
+ return {
106
+ name: (0, node_opcua_utils_1.lowerFirstLetter)(fieldLight.name),
107
+ originalName: fieldLight.name,
108
+ category,
109
+ defaultValue,
110
+ isArray,
111
+ documentation,
112
+ fieldType,
113
+ switchBit,
114
+ switchValue,
115
+ allowSubType,
116
+ dataType,
117
+ basicDataType,
118
+ schema
119
+ };
120
+ }
121
+ class StructuredTypeSchema extends builtin_types_1.TypeSchemaBase {
122
+ constructor(options) {
123
+ super(options);
124
+ this.bitFields = options.bitFields;
125
+ this.baseType = options.baseType;
126
+ this.category = types_1.FieldCategory.complex;
127
+ if ((0, builtin_types_1.hasBuiltInType)(options.name)) {
128
+ this.category = types_1.FieldCategory.basic;
129
+ }
130
+ this.fields = options.fields.map(buildField.bind(null, this));
131
+ this.id = new node_opcua_nodeid_1.NodeId();
132
+ this.dataTypeNodeId = new node_opcua_nodeid_1.NodeId();
133
+ this._possibleFields = this.fields.map((field) => field.name);
134
+ this._baseSchema = null;
135
+ }
136
+ toString() {
137
+ var _a, _b, _c;
138
+ const str = [];
139
+ str.push("name = " + this.name);
140
+ str.push("baseType = " + this.baseType);
141
+ str.push("id = " + this.id.toString());
142
+ str.push("bitFields = " + (this.bitFields ? this.bitFields.map((b) => b.name).join(" ") : undefined));
143
+ str.push("dataTypeNodeId = " + (this.dataTypeNodeId ? this.dataTypeNodeId.toString() : undefined));
144
+ str.push("documentation = " + this.documentation);
145
+ str.push("encodingDefaultBinary = " + ((_a = this.encodingDefaultBinary) === null || _a === void 0 ? void 0 : _a.toString()));
146
+ str.push("encodingDefaultXml = " + ((_b = this.encodingDefaultXml) === null || _b === void 0 ? void 0 : _b.toString()));
147
+ str.push("encodingDefaultJson = " + ((_c = this.encodingDefaultJson) === null || _c === void 0 ? void 0 : _c.toString()));
148
+ for (const f of this.fields) {
149
+ str.push(" field = " +
150
+ f.name.padEnd(30) +
151
+ " isArray= " +
152
+ (f.isArray ? true : false) +
153
+ " " +
154
+ f.fieldType.toString().padEnd(30) +
155
+ (f.switchBit !== undefined ? " switchBit " + f.switchBit : "") +
156
+ (f.switchValue !== undefined ? " switchValue " + f.switchValue : ""));
157
+ }
158
+ return str.join("\n");
159
+ }
160
+ }
161
+ exports.StructuredTypeSchema = StructuredTypeSchema;
162
+ /**
163
+ *
164
+ * @method get_base_schema
165
+ * @param schema
166
+ * @return {*}
167
+ *
168
+ */
169
+ function get_base_schema(schema) {
170
+ let baseSchema = schema._baseSchema;
171
+ if (baseSchema) {
172
+ return baseSchema;
173
+ }
174
+ if (schema.baseType === "ExtensionObject" || schema.baseType === "DataTypeDefinition") {
175
+ return null;
176
+ }
177
+ if (schema.baseType === "Union") {
178
+ return null;
179
+ }
180
+ if (schema.baseType && schema.baseType !== "BaseUAObject" && schema.baseType !== "DataTypeDefinition") {
181
+ if (!(0, get_standard_data_type_factory_1.hasStructuredType)(schema.baseType)) {
182
+ return null;
183
+ }
184
+ const baseType = (0, get_standard_data_type_factory_1.getStructureTypeConstructor)(schema.baseType);
185
+ // istanbul ignore next
186
+ if (!baseType) {
187
+ throw new Error(" cannot find factory for " + schema.baseType);
188
+ }
189
+ if (baseType.prototype.schema) {
190
+ baseSchema = baseType.prototype.schema;
191
+ }
192
+ }
193
+ // put in cache for speedup
194
+ schema._baseSchema = baseSchema;
195
+ return baseSchema;
196
+ }
197
+ exports.get_base_schema = get_base_schema;
198
+ /**
199
+ * extract a list of all possible fields for a schema
200
+ * (by walking up the inheritance chain)
201
+ *
202
+ */
203
+ function extract_all_fields(schema) {
204
+ // returns cached result if any
205
+ // istanbul ignore next
206
+ if (schema._possibleFields) {
207
+ return schema._possibleFields;
208
+ }
209
+ // extract the possible fields from the schema.
210
+ let possibleFields = schema.fields.map((field) => field.name);
211
+ const baseSchema = get_base_schema(schema);
212
+ // istanbul ignore next
213
+ if (baseSchema) {
214
+ const fields = extract_all_fields(baseSchema);
215
+ possibleFields = fields.concat(possibleFields);
216
+ }
217
+ // put in cache to speed up
218
+ schema._possibleFields = possibleFields;
219
+ return possibleFields;
220
+ }
221
+ exports.extract_all_fields = extract_all_fields;
222
+ /**
223
+ * check correctness of option fields against scheme
224
+ *
225
+ * @method check_options_correctness_against_schema
226
+ *
227
+ */
228
+ function check_options_correctness_against_schema(obj, schema, options) {
229
+ if (!parameters_1.parameters.debugSchemaHelper) {
230
+ return true; // ignoring set
231
+ }
232
+ options = options || {};
233
+ // istanbul ignore next
234
+ if (!(options !== null && typeof options === "object") && !(typeof options === "object")) {
235
+ let message = chalk.red(" Invalid options specified while trying to construct a ") + " " + chalk.yellow(schema.name);
236
+ message += "\n";
237
+ message += chalk.red(" expecting a ") + chalk.yellow(" Object ");
238
+ message += "\n";
239
+ message += chalk.red(" and got a ") + chalk.yellow(typeof options) + chalk.red(" instead ");
240
+ throw new Error(message);
241
+ }
242
+ // istanbul ignore next
243
+ if (options instanceof obj.constructor) {
244
+ return true;
245
+ }
246
+ // extract the possible fields from the schema.
247
+ const possibleFields = obj.constructor.possibleFields || schema._possibleFields;
248
+ // extracts the fields exposed by the option object
249
+ const currentFields = Object.keys(options);
250
+ // get a list of field that are in the 'options' object but not in schema
251
+ // https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore
252
+ function difference(a1, a2) {
253
+ return [a1, a2].reduce((a, b) => a.filter((value) => !b.includes(value)));
254
+ }
255
+ const invalidOptionsFields = difference(currentFields, possibleFields);
256
+ /* istanbul ignore next */
257
+ if (invalidOptionsFields.length > 0) {
258
+ // tslint:disable:no-console
259
+ console.log("expected schema", schema.name);
260
+ console.log(chalk.yellow("possible fields= "), possibleFields.sort().join(" "));
261
+ console.log(chalk.red("current fields= "), currentFields.sort().join(" "));
262
+ console.log(chalk.cyan("invalid_options_fields= "), invalidOptionsFields.sort().join(" "));
263
+ console.log("options = ", options);
264
+ }
265
+ /* istanbul ignore next */
266
+ if (invalidOptionsFields.length !== 0) {
267
+ // tslint:disable:no-console
268
+ console.log(chalk.yellow("possible fields= "), possibleFields.sort().join(" "));
269
+ console.log(chalk.red("current fields= "), currentFields.sort().join(" "));
270
+ throw new Error(" invalid field found in option :" + JSON.stringify(invalidOptionsFields));
271
+ }
272
+ return true;
273
+ }
274
+ exports.check_options_correctness_against_schema = check_options_correctness_against_schema;
275
+ function buildStructuredType(schemaLight) {
276
+ return new StructuredTypeSchema(schemaLight);
277
+ }
278
+ exports.buildStructuredType = buildStructuredType;
279
+ //# sourceMappingURL=structured_type_schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured_type_schema.js","sourceRoot":"","sources":["../source/structured_type_schema.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,110 +1,151 @@
1
- import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
2
- import { Enum } from "node-opcua-enum";
3
- import { NodeId } from "node-opcua-nodeid";
4
- import { ConstructorFunc } from "./constructor_type";
5
- export interface CommonInterface {
6
- name: string;
7
- encode?: (value: any, stream: OutputBinaryStream) => void;
8
- decode?: (stream: BinaryStream) => any;
9
- coerce?: (value: any) => any;
10
- toJSON?: (value: any) => any;
11
- random?: () => any;
12
- validate?: (value: any) => void;
13
- defaultValue?: any;
14
- computer_default_value(defaultValue: any): any;
15
- }
16
- export declare enum FieldCategory {
17
- enumeration = "enumeration",
18
- complex = "complex",
19
- basic = "basic"
20
- }
21
- export interface StructuredTypeField {
22
- name: string;
23
- fieldType: string;
24
- isArray?: boolean;
25
- documentation?: string;
26
- category: FieldCategory;
27
- schema: CommonInterface;
28
- fieldTypeConstructor?: ConstructorFunc;
29
- subType?: string;
30
- defaultValue?: any;
31
- validate?: (value: any) => boolean;
32
- decode?: (stream: BinaryStream) => any;
33
- switchBit?: number;
34
- switchValue?: number;
35
- }
36
- export interface FieldEnumeration extends StructuredTypeField {
37
- }
38
- export interface FieldComplex extends StructuredTypeField {
39
- }
40
- export interface FieldBasic extends StructuredTypeField {
41
- }
42
- export declare type FieldType = FieldEnumeration | FieldComplex | FieldBasic;
43
- export declare type DefaultValueFunc = () => any;
44
- export interface FieldInterfaceOptions {
45
- name: string;
46
- fieldType: string;
47
- isArray?: boolean;
48
- documentation?: string;
49
- category?: FieldCategory;
50
- defaultValue?: any | DefaultValueFunc;
51
- schema?: any;
52
- switchBit?: number;
53
- switchValue?: number;
54
- }
55
- export interface StructuredTypeOptions {
56
- name: string;
57
- id?: number | NodeId;
58
- fields: FieldInterfaceOptions[];
59
- documentation?: string;
60
- baseType: string;
61
- _resolved?: boolean;
62
- bitFields?: any[];
63
- base?: StructuredTypeOptions;
64
- }
65
- export interface TypeSchemaConstructorOptions {
66
- name: string;
67
- category?: FieldCategory;
68
- defaultValue?: any;
69
- encode?: (value: any, stream: OutputBinaryStream) => void;
70
- decode?: (stream: BinaryStream) => any;
71
- coerce?: (value: any) => any;
72
- }
73
- export interface BasicTypeDefinitionOptions extends TypeSchemaConstructorOptions {
74
- subType: string;
75
- toJSON?: (value: any) => any;
76
- random?: () => any;
77
- validate?: (value: any) => void;
78
- }
79
- export interface BasicTypeDefinition extends CommonInterface {
80
- subType: string;
81
- }
82
- export interface BuiltInTypeDefinition extends BasicTypeDefinition {
83
- }
84
- export interface EnumerationDefinition extends CommonInterface {
85
- typedEnum: Enum;
86
- documentation?: string;
87
- }
88
- export declare type TypeDefinition = BuiltInTypeDefinition | EnumerationDefinition | BasicTypeDefinition | TypeSchemaBase;
89
- /**
90
- * @class TypeSchemaBase
91
- * @param options {Object}
92
- * @constructor
93
- * create a new type Schema
94
- */
95
- export declare class TypeSchemaBase implements CommonInterface {
96
- name: string;
97
- defaultValue: any;
98
- encode?: (value: any, stream: OutputBinaryStream) => void;
99
- decode?: (stream: BinaryStream) => any;
100
- coerce?: (value: any) => any;
101
- toJSON?: () => string;
102
- category: FieldCategory;
103
- constructor(options: TypeSchemaConstructorOptions);
104
- /**
105
- * @method computer_default_value
106
- * @param defaultValue {*} the default value
107
- * @return {*}
108
- */
109
- computer_default_value(defaultValue: unknown): any;
110
- }
1
+ /**
2
+ * @module node-opcua-factory
3
+ */
4
+ import { BinaryStream, OutputBinaryStream } from "node-opcua-binary-stream";
5
+ import { Enum } from "node-opcua-enum";
6
+ import { ExpandedNodeId, NodeId } from "node-opcua-nodeid";
7
+ export declare enum FieldCategory {
8
+ enumeration = "enumeration",
9
+ complex = "complex",
10
+ basic = "basic"
11
+ }
12
+ export interface CommonInterface {
13
+ name: string;
14
+ defaultValue?: any;
15
+ encode?: (value: any, stream: OutputBinaryStream) => void;
16
+ decode?: (stream: BinaryStream) => any;
17
+ coerce?: (value: any) => any;
18
+ toJSON?: (value: any) => any;
19
+ category: FieldCategory;
20
+ random?: () => any;
21
+ validate?: (value: any) => void;
22
+ computer_default_value(defaultValue: any): any;
23
+ subType: string;
24
+ isAbstract: boolean;
25
+ isSubTypeOf(type: CommonInterface): boolean;
26
+ }
27
+ export interface FieldInterfaceOptions {
28
+ name: string;
29
+ defaultValue?: any | DefaultValueFunc;
30
+ fieldType: string;
31
+ isArray?: boolean;
32
+ documentation?: string;
33
+ category?: FieldCategory;
34
+ schema?: CommonInterface;
35
+ switchBit?: number;
36
+ switchValue?: number;
37
+ allowSubType?: boolean;
38
+ dataType?: NodeId;
39
+ basicDataType?: number;
40
+ }
41
+ export declare type Func1<T> = (value: any, field: StructuredTypeField, data: T, args?: any) => void;
42
+ export interface DecodeDebugOptions {
43
+ tracer: any;
44
+ name: string;
45
+ }
46
+ export interface IBaseUAObject {
47
+ schema: IStructuredTypeSchema;
48
+ encode(stream: OutputBinaryStream): void;
49
+ decode(stream: BinaryStream): void;
50
+ binaryStoreSize(): number;
51
+ toString(...args: any[]): string;
52
+ isValid(): boolean;
53
+ explore(): string;
54
+ applyOnAllFields<T>(func: Func1<T>, data: T): void;
55
+ toJSON(): any;
56
+ decodeDebug(stream: BinaryStream, options: DecodeDebugOptions): void;
57
+ clone(): IBaseUAObject;
58
+ }
59
+ declare type BaseUAObjectConstructable = new (options?: any) => IBaseUAObject;
60
+ export declare type ConstructorFunc = BaseUAObjectConstructable;
61
+ export interface ConstructorFuncWithSchema extends ConstructorFunc {
62
+ schema: IStructuredTypeSchema;
63
+ possibleFields: string[];
64
+ encodingDefaultBinary: ExpandedNodeId;
65
+ encodingDefaultXml: ExpandedNodeId;
66
+ encodingDefaultJson?: ExpandedNodeId;
67
+ }
68
+ export interface StructuredTypeField {
69
+ name: string;
70
+ originalName: string;
71
+ fieldType: string;
72
+ isArray?: boolean;
73
+ documentation?: string;
74
+ category: FieldCategory;
75
+ defaultValue?: any | DefaultValueFunc;
76
+ schema: CommonInterface;
77
+ switchBit?: number;
78
+ switchValue?: number;
79
+ allowSubType?: boolean;
80
+ dataType?: NodeId;
81
+ basicDataType?: number;
82
+ fieldTypeConstructor?: ConstructorFunc;
83
+ subType?: string;
84
+ validate?: (value: any) => boolean;
85
+ decode?: (stream: BinaryStream) => any;
86
+ }
87
+ export interface FieldEnumeration extends StructuredTypeField {
88
+ }
89
+ export interface FieldComplex extends StructuredTypeField {
90
+ }
91
+ export interface FieldBasic extends StructuredTypeField {
92
+ }
93
+ export declare type FieldType = FieldEnumeration | FieldComplex | FieldBasic;
94
+ export declare type DefaultValueFunc = () => any;
95
+ export interface StructuredTypeOptions {
96
+ name: string;
97
+ id?: number | NodeId;
98
+ fields: FieldInterfaceOptions[];
99
+ documentation?: string;
100
+ baseType: string;
101
+ _resolved?: boolean;
102
+ bitFields?: any[];
103
+ base?: StructuredTypeOptions;
104
+ }
105
+ export interface TypeSchemaConstructorOptions {
106
+ name: string;
107
+ subType?: string;
108
+ isAbstract?: boolean;
109
+ category?: FieldCategory;
110
+ defaultValue?: any;
111
+ encode?: (value: any, stream: OutputBinaryStream) => void;
112
+ decode?: (stream: BinaryStream) => any;
113
+ coerce?: (value: any) => any;
114
+ }
115
+ export interface BasicTypeDefinitionOptionsB extends TypeSchemaConstructorOptions {
116
+ toJSON?: (value: any) => any;
117
+ random?: () => any;
118
+ validate?: (value: any) => void;
119
+ }
120
+ export interface BasicTypeDefinitionOptionsBase extends BasicTypeDefinitionOptionsB {
121
+ }
122
+ export interface BasicTypeDefinitionOptions extends BasicTypeDefinitionOptionsB {
123
+ subType: string;
124
+ }
125
+ export interface BasicTypeDefinition extends CommonInterface {
126
+ subType: string;
127
+ }
128
+ export interface BuiltInTypeDefinition extends BasicTypeDefinition {
129
+ }
130
+ export interface EnumerationDefinition extends CommonInterface {
131
+ typedEnum: Enum;
132
+ documentation?: string;
133
+ }
134
+ export declare type TypeDefinition = BuiltInTypeDefinition | EnumerationDefinition | BasicTypeDefinition | CommonInterface;
135
+ export interface IStructuredTypeSchema extends CommonInterface {
136
+ fields: FieldType[];
137
+ id: NodeId;
138
+ dataTypeNodeId: NodeId;
139
+ baseType: string;
140
+ _possibleFields: string[];
141
+ _baseSchema: IStructuredTypeSchema | null;
142
+ documentation?: string;
143
+ isValid?: (options: any) => boolean;
144
+ decodeDebug?: (stream: BinaryStream, options: any) => any;
145
+ constructHook?: (options: any) => any;
146
+ encodingDefaultBinary?: ExpandedNodeId;
147
+ encodingDefaultXml?: ExpandedNodeId;
148
+ encodingDefaultJson?: ExpandedNodeId;
149
+ bitFields?: any[];
150
+ }
151
+ export {};
package/dist/types.js CHANGED
@@ -1,52 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeSchemaBase = exports.FieldCategory = void 0;
4
- /**
5
- * @module node-opcua-factory
6
- */
7
- const node_opcua_assert_1 = require("node-opcua-assert");
8
- var FieldCategory;
9
- (function (FieldCategory) {
10
- FieldCategory["enumeration"] = "enumeration";
11
- FieldCategory["complex"] = "complex";
12
- FieldCategory["basic"] = "basic";
13
- })(FieldCategory = exports.FieldCategory || (exports.FieldCategory = {}));
14
- /**
15
- * @class TypeSchemaBase
16
- * @param options {Object}
17
- * @constructor
18
- * create a new type Schema
19
- */
20
- class TypeSchemaBase {
21
- constructor(options) {
22
- (0, node_opcua_assert_1.assert)(options.category !== null);
23
- this.encode = options.encode || undefined;
24
- this.decode = options.decode || undefined;
25
- this.coerce = options.coerce;
26
- this.category = options.category || FieldCategory.basic;
27
- this.name = options.name;
28
- for (const prop in options) {
29
- if (Object.prototype.hasOwnProperty.call(options, prop)) {
30
- this[prop] = options[prop];
31
- }
32
- }
33
- }
34
- /**
35
- * @method computer_default_value
36
- * @param defaultValue {*} the default value
37
- * @return {*}
38
- */
39
- computer_default_value(defaultValue) {
40
- if (defaultValue === undefined) {
41
- defaultValue = this.defaultValue;
42
- }
43
- if (typeof defaultValue === "function") {
44
- // be careful not to cache this value , it must be call each time to make sure
45
- // we do not end up with the same value/instance twice.
46
- defaultValue = defaultValue();
47
- }
48
- return defaultValue;
49
- }
50
- }
51
- exports.TypeSchemaBase = TypeSchemaBase;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldCategory = void 0;
4
+ var FieldCategory;
5
+ (function (FieldCategory) {
6
+ FieldCategory["enumeration"] = "enumeration";
7
+ FieldCategory["complex"] = "complex";
8
+ FieldCategory["basic"] = "basic";
9
+ })(FieldCategory = exports.FieldCategory || (exports.FieldCategory = {}));
52
10
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../source/types.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,yDAA2C;AA4B3C,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AA4FD;;;;;GAKG;AACH,MAAa,cAAc;IASvB,YAAY,OAAqC;QAC7C,IAAA,0BAAM,EAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACpD,IAAY,CAAC,IAAI,CAAC,GAAI,OAAe,CAAC,IAAI,CAAC,CAAC;aAChD;SACJ;IACL,CAAC;IAED;;;;OAIG;IACI,sBAAsB,CAAC,YAAqB;QAC/C,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;SACpC;QACD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;YACpC,8EAA8E;YAC9E,uDAAuD;YACvD,YAAY,GAAG,YAAY,EAAE,CAAC;SACjC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAxCD,wCAwCC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../source/types.ts"],"names":[],"mappings":";;;AAOA,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB"}