node-opcua-address-space 2.167.0 → 2.168.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +8 -8
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +19 -19
- package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +11 -13
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +21 -13
- package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
- package/dist/src/base_node_impl.js +15 -15
- package/dist/src/base_node_impl.js.map +1 -1
- package/dist/src/namespace_impl.d.ts +38 -31
- package/dist/src/namespace_impl.js +161 -161
- package/dist/src/namespace_impl.js.map +1 -1
- package/dist/src/namespace_private.d.ts +12 -4
- package/dist/src/namespace_private.js +1 -4
- package/dist/src/namespace_private.js.map +1 -1
- package/dist/tsconfig_base.tsbuildinfo +1 -1
- package/package.json +34 -36
- package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +26 -28
- package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +33 -27
- package/src/base_node_impl.ts +14 -14
- package/src/namespace_impl.ts +216 -201
- package/src/namespace_private.ts +15 -9
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BaseNode, INamespace, UAEventType, UAVariable } from "node-opcua-address-space-base";
|
|
2
|
+
import type { DataValue } from "node-opcua-data-value";
|
|
2
3
|
import { NodeId } from "node-opcua-nodeid";
|
|
3
|
-
import { VariantOptions } from "node-opcua-variant";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { UAAlarmConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_alarm_condition_ex";
|
|
7
|
-
import { InstantiateAlarmConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options";
|
|
4
|
+
import { type VariantOptions } from "node-opcua-variant";
|
|
5
|
+
import type { ConditionInfo } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
|
|
6
|
+
import type { InstantiateAlarmConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options";
|
|
7
|
+
import type { UAAlarmConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_alarm_condition_ex";
|
|
8
8
|
import { UAAcknowledgeableConditionImpl } from "./ua_acknowledgeable_condition_impl";
|
|
9
9
|
export declare interface UAAlarmConditionImpl extends UAAlarmConditionEx, UAAcknowledgeableConditionImpl {
|
|
10
10
|
on(eventName: string, eventHandler: any): this;
|
|
@@ -46,7 +46,7 @@ export declare class UAAlarmConditionImpl extends UAAcknowledgeableConditionImpl
|
|
|
46
46
|
*/
|
|
47
47
|
getInputNodeValue(): any | null;
|
|
48
48
|
updateState(): void;
|
|
49
|
-
protected _onInputDataValueChange(
|
|
49
|
+
protected _onInputDataValueChange(_newValue: DataValue): void;
|
|
50
50
|
/**
|
|
51
51
|
* install mechanism that listen to input node datavalue changes so that alarm status
|
|
52
52
|
* can be automatically updated appropriately.
|
|
@@ -75,7 +75,7 @@ export declare class UAAlarmConditionImpl extends UAAcknowledgeableConditionImpl
|
|
|
75
75
|
* };
|
|
76
76
|
*
|
|
77
77
|
*/
|
|
78
|
-
_calculateConditionInfo(stateData: string | null,
|
|
78
|
+
_calculateConditionInfo(stateData: string | null, _isActive: boolean, value: string, _oldCondition: ConditionInfo): ConditionInfo;
|
|
79
79
|
_signalInitialCondition(): void;
|
|
80
80
|
_signalNewCondition(stateName: string | null, isActive?: boolean, value?: string): void;
|
|
81
81
|
}
|
|
@@ -4,15 +4,15 @@ exports.UAAlarmConditionImpl = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* @module node-opcua-address-space.AlarmsAndConditions
|
|
6
6
|
*/
|
|
7
|
-
const
|
|
7
|
+
const node_util_1 = require("node:util");
|
|
8
8
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
9
9
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
10
|
+
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
10
11
|
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
11
12
|
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
12
13
|
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
13
|
-
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
14
|
-
const ua_two_state_variable_1 = require("../state_machine/ua_two_state_variable");
|
|
15
14
|
const ua_shelving_state_machine_ex_1 = require("../state_machine/ua_shelving_state_machine_ex");
|
|
15
|
+
const ua_two_state_variable_1 = require("../state_machine/ua_two_state_variable");
|
|
16
16
|
const condition_info_impl_1 = require("./condition_info_impl");
|
|
17
17
|
const ua_acknowledgeable_condition_impl_1 = require("./ua_acknowledgeable_condition_impl");
|
|
18
18
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
@@ -23,15 +23,15 @@ function _update_suppressedOrShelved(alarmNode) {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowledgeableConditionImpl {
|
|
26
|
-
static MaxDuration =
|
|
26
|
+
static MaxDuration = 2 ** 31;
|
|
27
27
|
static instantiate(namespace, alarmConditionTypeId, options, data) {
|
|
28
28
|
const addressSpace = namespace.addressSpace;
|
|
29
29
|
// xx assert(Object.prototype.hasOwnProperty.call(options,"conditionOf")); // must provide a conditionOf
|
|
30
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
30
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(options, "inputNode")); // must provide a inputNode
|
|
31
31
|
const alarmConditionType = addressSpace.findEventType(alarmConditionTypeId);
|
|
32
32
|
/* c8 ignore next */
|
|
33
33
|
if (!alarmConditionType) {
|
|
34
|
-
throw new Error(
|
|
34
|
+
throw new Error(` cannot find Alarm Condition Type for ${alarmConditionTypeId}`);
|
|
35
35
|
}
|
|
36
36
|
const alarmConditionTypeBase = addressSpace.findEventType("AlarmConditionType");
|
|
37
37
|
/* c8 ignore next */
|
|
@@ -39,9 +39,9 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
39
39
|
throw new Error("cannot find AlarmConditionType");
|
|
40
40
|
}
|
|
41
41
|
options.optionals = options.optionals || [];
|
|
42
|
-
if (Object.
|
|
42
|
+
if (Object.hasOwn(options, "maxTimeShelved")) {
|
|
43
43
|
options.optionals.push("MaxTimeShelved");
|
|
44
|
-
(0, node_opcua_assert_1.assert)(isFinite(options.maxTimeShelved));
|
|
44
|
+
(0, node_opcua_assert_1.assert)(Number.isFinite(options.maxTimeShelved));
|
|
45
45
|
}
|
|
46
46
|
(0, node_opcua_assert_1.assert)(alarmConditionTypeBase === alarmConditionType || alarmConditionType.isSubtypeOf(alarmConditionTypeBase));
|
|
47
47
|
const alarmNode = ua_acknowledgeable_condition_impl_1.UAAcknowledgeableConditionImpl.instantiate(namespace, alarmConditionTypeId, options, data);
|
|
@@ -108,12 +108,12 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
108
108
|
*
|
|
109
109
|
*/
|
|
110
110
|
if (alarmNode.suppressedState) {
|
|
111
|
-
alarmNode.suppressedState.on("value_changed", (
|
|
111
|
+
alarmNode.suppressedState.on("value_changed", (_newDataValue) => {
|
|
112
112
|
_update_suppressedOrShelved(alarmNode);
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
115
|
if (alarmNode.shelvingState) {
|
|
116
|
-
alarmNode.shelvingState.currentState.on("value_changed", (
|
|
116
|
+
alarmNode.shelvingState.currentState.on("value_changed", (_newDataValue) => {
|
|
117
117
|
_update_suppressedOrShelved(alarmNode);
|
|
118
118
|
});
|
|
119
119
|
}
|
|
@@ -178,7 +178,7 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
178
178
|
isSuppressedOrShelved() {
|
|
179
179
|
let suppressed = false;
|
|
180
180
|
if (this.suppressedState) {
|
|
181
|
-
suppressed = this.suppressedState.id
|
|
181
|
+
suppressed = this.suppressedState.id?.readValue().value.value;
|
|
182
182
|
}
|
|
183
183
|
let shelved = false;
|
|
184
184
|
if (this.shelvingState) {
|
|
@@ -197,8 +197,8 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
197
197
|
* note: duration must be greater than 10ms and lesser than 2**31 ms
|
|
198
198
|
*/
|
|
199
199
|
setMaxTimeShelved(duration) {
|
|
200
|
-
if (duration < 10 || duration >=
|
|
201
|
-
throw new Error(
|
|
200
|
+
if (duration < 10 || duration >= 2 ** 31) {
|
|
201
|
+
throw new Error(` Invalid maxTimeShelved duration: ${duration} must be [10,2**31] `);
|
|
202
202
|
}
|
|
203
203
|
this.maxTimeShelved?.setValueFromSource({
|
|
204
204
|
dataType: "Duration", // <= Duration is basic Type Double! ( milliseconds)
|
|
@@ -249,7 +249,7 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
249
249
|
const dataValue = node.readValue();
|
|
250
250
|
this._onInputDataValueChange(dataValue);
|
|
251
251
|
}
|
|
252
|
-
_onInputDataValueChange(
|
|
252
|
+
_onInputDataValueChange(_newValue) {
|
|
253
253
|
/** */
|
|
254
254
|
}
|
|
255
255
|
/**
|
|
@@ -341,7 +341,7 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
341
341
|
* };
|
|
342
342
|
*
|
|
343
343
|
*/
|
|
344
|
-
_calculateConditionInfo(stateData,
|
|
344
|
+
_calculateConditionInfo(stateData, _isActive, value, _oldCondition) {
|
|
345
345
|
if (!stateData) {
|
|
346
346
|
return new condition_info_impl_1.ConditionInfoImpl({
|
|
347
347
|
message: "Back to normal",
|
|
@@ -352,7 +352,7 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
352
352
|
}
|
|
353
353
|
else {
|
|
354
354
|
return new condition_info_impl_1.ConditionInfoImpl({
|
|
355
|
-
message:
|
|
355
|
+
message: `Condition is ${value} and state is ${stateData}`,
|
|
356
356
|
quality: node_opcua_status_code_1.StatusCodes.Good,
|
|
357
357
|
retain: true,
|
|
358
358
|
severity: 150
|
|
@@ -375,13 +375,13 @@ class UAAlarmConditionImpl extends ua_acknowledgeable_condition_impl_1.UAAcknowl
|
|
|
375
375
|
const oldConditionInfo = this.getCurrentConditionInfo();
|
|
376
376
|
const newConditionInfo = this._calculateConditionInfo(stateName, !!isActive, value, oldConditionInfo);
|
|
377
377
|
// detect potential internal bugs due to misused of _signalNewCondition
|
|
378
|
-
if ((0,
|
|
378
|
+
if ((0, node_util_1.isDeepStrictEqual)(oldConditionInfo, newConditionInfo)) {
|
|
379
379
|
// tslint:disable-next-line:no-console
|
|
380
380
|
debugLog("oldConditionInfo", oldConditionInfo);
|
|
381
381
|
debugLog("oldConditionInfo", newConditionInfo);
|
|
382
|
-
throw new Error(
|
|
382
|
+
throw new Error(`condition values have not change, shall we really raise an event ? alarm ${this.browseName.toString()}`);
|
|
383
383
|
}
|
|
384
|
-
(0, node_opcua_assert_1.assert)(!(0,
|
|
384
|
+
(0, node_opcua_assert_1.assert)(!(0, node_util_1.isDeepStrictEqual)(oldConditionInfo, newConditionInfo), "condition values have not change, shall we really raise an event ?");
|
|
385
385
|
if (isActive) {
|
|
386
386
|
this.currentBranch().setActiveState(true);
|
|
387
387
|
this.currentBranch().setAckedState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ua_alarm_condition_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_alarm_condition_impl.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"ua_alarm_condition_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_alarm_condition_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-address-space.AlarmsAndConditions
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { DateTime } from "node-opcua-basic-types";
|
|
6
|
-
import {
|
|
4
|
+
import type { INamespace, UAObject, UAProperty } from "node-opcua-address-space-base";
|
|
5
|
+
import { type DateTime } from "node-opcua-basic-types";
|
|
6
|
+
import { type Certificate } from "node-opcua-crypto/web";
|
|
7
|
+
import type { NodeId } from "node-opcua-nodeid";
|
|
7
8
|
import { DataType } from "node-opcua-variant";
|
|
8
|
-
import {
|
|
9
|
-
import { UACertificateExpirationAlarmEx } from "../../source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex";
|
|
10
|
-
import { InstantiateOffNormalAlarmOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options";
|
|
9
|
+
import type { InstantiateOffNormalAlarmOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options";
|
|
10
|
+
import type { UACertificateExpirationAlarmEx } from "../../source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex";
|
|
11
11
|
import { UASystemOffNormalAlarmImpl } from "./ua_system_off_normal_alarm_impl";
|
|
12
12
|
export declare function instantiateCertificateExpirationAlarm(namespace: INamespace, alarmType: "CertificateExpirationAlarmType", options: InstantiateOffNormalAlarmOptions): UACertificateExpirationAlarmEx;
|
|
13
|
-
interface UACertificateExpirationAlarmImpl {
|
|
14
|
-
expirationDate: UAProperty<Date, /*z*/ DataType.DateTime>;
|
|
15
|
-
expirationLimit?: UAProperty<number, /*z*/ DataType.Double>;
|
|
16
|
-
certificateType: UAProperty<NodeId, /*z*/ DataType.NodeId>;
|
|
17
|
-
certificate: UAProperty<Buffer, /*z*/ DataType.ByteString>;
|
|
18
|
-
}
|
|
19
13
|
export declare const OneDayDuration: number;
|
|
20
14
|
export declare const TwoWeeksDuration: number;
|
|
21
15
|
/**
|
|
22
|
-
* This UACertificateExpirationAlarm (SystemOffNormalAlarmType) is raised by the Server when the Server
|
|
16
|
+
* This UACertificateExpirationAlarm (SystemOffNormalAlarmType) is raised by the Server when the Server's
|
|
23
17
|
* Certificate is within the ExpirationLimit
|
|
24
18
|
* of expiration. This alarm automatically returns to normal when the certificate is updated.
|
|
25
19
|
*/
|
|
26
20
|
declare class UACertificateExpirationAlarmImpl extends UASystemOffNormalAlarmImpl implements UACertificateExpirationAlarmEx {
|
|
21
|
+
expirationDate: UAProperty<Date, DataType.DateTime>;
|
|
22
|
+
expirationLimit: UAProperty<number, DataType.Double> | undefined;
|
|
23
|
+
certificateType: UAProperty<NodeId, DataType.NodeId>;
|
|
24
|
+
certificate: UAProperty<Buffer, DataType.ByteString>;
|
|
27
25
|
private timer;
|
|
28
26
|
static instantiate(namespace: INamespace, alarmType: "CertificateExpirationAlarmType", options: InstantiateOffNormalAlarmOptions): UACertificateExpirationAlarmImpl;
|
|
29
27
|
getExpirationDate(): DateTime | null;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @module node-opcua-address-space.AlarmsAndConditions
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TwoWeeksDuration = exports.OneDayDuration = void 0;
|
|
4
7
|
exports.instantiateCertificateExpirationAlarm = instantiateCertificateExpirationAlarm;
|
|
5
8
|
exports.promoteToCertificateExpirationAlarm = promoteToCertificateExpirationAlarm;
|
|
6
|
-
/**
|
|
7
|
-
* @module node-opcua-address-space.AlarmsAndConditions
|
|
8
|
-
*/
|
|
9
|
-
const web_1 = require("node-opcua-crypto/web");
|
|
10
9
|
const node_opcua_basic_types_1 = require("node-opcua-basic-types");
|
|
11
|
-
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
12
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
13
10
|
const node_opcua_constants_1 = require("node-opcua-constants");
|
|
11
|
+
const web_1 = require("node-opcua-crypto/web");
|
|
14
12
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
13
|
+
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
14
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
15
15
|
const register_node_promoter_1 = require("../../source/loader/register_node_promoter");
|
|
16
16
|
const ua_system_off_normal_alarm_impl_1 = require("./ua_system_off_normal_alarm_impl");
|
|
17
17
|
const warningLog = (0, node_opcua_debug_1.make_warningLog)("AlarmsAndConditions");
|
|
18
18
|
const ellipsis = (arg0, arg1 = 4) => {
|
|
19
19
|
arg1 = Math.max(arg1, 4);
|
|
20
|
-
return arg0.length <= arg1 ? arg0 : arg0.slice(0, arg1 / 2)
|
|
20
|
+
return arg0.length <= arg1 ? arg0 : `${arg0.slice(0, arg1 / 2)}...${arg0.slice(arg0.length - arg1 / 2)}`;
|
|
21
21
|
};
|
|
22
22
|
const d = (d) => {
|
|
23
23
|
return d.toISOString();
|
|
@@ -30,7 +30,7 @@ function instantiateCertificateExpirationAlarm(namespace, alarmType, options) {
|
|
|
30
30
|
exports.OneDayDuration = 1000 * 60 * 60 * 24;
|
|
31
31
|
exports.TwoWeeksDuration = exports.OneDayDuration * 2 * 7;
|
|
32
32
|
/**
|
|
33
|
-
* This UACertificateExpirationAlarm (SystemOffNormalAlarmType) is raised by the Server when the Server
|
|
33
|
+
* This UACertificateExpirationAlarm (SystemOffNormalAlarmType) is raised by the Server when the Server's
|
|
34
34
|
* Certificate is within the ExpirationLimit
|
|
35
35
|
* of expiration. This alarm automatically returns to normal when the certificate is updated.
|
|
36
36
|
*/
|
|
@@ -53,7 +53,7 @@ class UACertificateExpirationAlarmImpl extends ua_system_off_normal_alarm_impl_1
|
|
|
53
53
|
this.raiseNewCondition({
|
|
54
54
|
message,
|
|
55
55
|
quality: node_opcua_basic_types_1.StatusCodes.Good,
|
|
56
|
-
retain: isActive
|
|
56
|
+
retain: !!isActive,
|
|
57
57
|
severity
|
|
58
58
|
});
|
|
59
59
|
}
|
|
@@ -71,7 +71,7 @@ class UACertificateExpirationAlarmImpl extends ua_system_off_normal_alarm_impl_1
|
|
|
71
71
|
const checkDate = new Date(now.getTime() + +expirationLimit);
|
|
72
72
|
const certificate = this.getCertificate();
|
|
73
73
|
if (!expirationDate || ((0, node_opcua_basic_types_1.isMinDate)(expirationDate) && !certificate)) {
|
|
74
|
-
if (
|
|
74
|
+
if (this.currentBranch()?.getActiveState()) {
|
|
75
75
|
this.updateAlarmState2(true, 255, "certificate is missing");
|
|
76
76
|
}
|
|
77
77
|
return;
|
|
@@ -113,10 +113,10 @@ class UACertificateExpirationAlarmImpl extends ua_system_off_normal_alarm_impl_1
|
|
|
113
113
|
return exports.TwoWeeksDuration;
|
|
114
114
|
}
|
|
115
115
|
const dataValue = this.expirationLimit.readValue();
|
|
116
|
-
if (dataValue.dataType === node_opcua_variant_1.DataType.Null) {
|
|
116
|
+
if (dataValue.value.dataType === node_opcua_variant_1.DataType.Null) {
|
|
117
117
|
return exports.TwoWeeksDuration;
|
|
118
118
|
}
|
|
119
|
-
return
|
|
119
|
+
return dataValue.value.value || 0;
|
|
120
120
|
}
|
|
121
121
|
setExpirationLimit(value) {
|
|
122
122
|
this.expirationLimit?.setValueFromSource({
|
|
@@ -162,12 +162,20 @@ class UACertificateExpirationAlarmImpl extends ua_system_off_normal_alarm_impl_1
|
|
|
162
162
|
this.update();
|
|
163
163
|
this._startTimer();
|
|
164
164
|
}, exports.OneDayDuration / 48);
|
|
165
|
+
// don't keep the process alive just for this monitoring timer
|
|
166
|
+
if (this.timer && typeof this.timer.unref === "function") {
|
|
167
|
+
this.timer.unref();
|
|
168
|
+
}
|
|
165
169
|
}
|
|
166
170
|
_post_initialize() {
|
|
171
|
+
// ensure _branch0 is created (base UAConditionImpl)
|
|
172
|
+
if (!this.currentBranch()) {
|
|
173
|
+
this.post_initialize();
|
|
174
|
+
}
|
|
167
175
|
if (this.expirationLimit) {
|
|
168
176
|
this.expirationLimit.accessLevel = (0, node_opcua_data_model_1.makeAccessLevelExFlag)("CurrentRead | CurrentWrite");
|
|
169
177
|
this.expirationLimit.userAccessLevel = (0, node_opcua_data_model_1.makeAccessLevelExFlag)("CurrentRead | CurrentWrite");
|
|
170
|
-
this.expirationLimit.on("value_changed", (
|
|
178
|
+
this.expirationLimit.on("value_changed", (_dataValue) => {
|
|
171
179
|
// make sure we re-evaluate the certificate
|
|
172
180
|
const certificate = this.getCertificate();
|
|
173
181
|
this.setCertificate(certificate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ua_certificate_expiration_alarm_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ua_certificate_expiration_alarm_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwBH,sFAMC;AAsMD,kFAQC;AAzOD,mEAAgG;AAChG,+DAAqD;AACrD,+CAAiG;AACjG,iEAA8D;AAC9D,uDAAmD;AAEnD,2DAA8C;AAG9C,uFAAkF;AAClF,uFAA+E;AAE/E,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,qBAAqB,CAAC,CAAC;AAE1D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;IACxC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;AAC7G,CAAC,CAAC;AACF,MAAM,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE;IAClB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC,CAAC;AACF,SAAgB,qCAAqC,CACjD,SAAqB,EACrB,SAA2C,EAC3C,OAAyC;IAEzC,OAAO,gCAAgC,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AAED,8IAA8I;AAC9I,kGAAkG;AACrF,QAAA,cAAc,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACrC,QAAA,gBAAgB,GAAG,sBAAc,GAAG,CAAC,GAAG,CAAC,CAAC;AAEvD;;;;GAIG;AACH,MAAM,gCAAiC,SAAQ,4DAA0B;IAM7D,KAAK,GAA0B,IAAI,CAAC;IAErC,MAAM,CAAC,WAAW,CACrB,SAAqB,EACrB,SAA2C,EAC3C,OAAyC;IACzC,wCAAwC;;QAExC,MAAM,KAAK,GAAG,4DAA0B,CAAC,WAAW,CAChD,SAAS,EACT,SAAS,IAAI,gCAAgC,EAC7C,OAAO;QACP,OAAO;SAC0B,CAAC;QACtC,mCAAmC,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB;QACpB,OAAQ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAgB,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1F,CAAC;IAEM,iBAAiB,CAAC,QAAiB,EAAE,QAAgB,EAAE,OAAe;QACzE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzD,IAAI,CAAC,iBAAiB,CAAC;YACnB,OAAO;YACP,OAAO,EAAE,oCAAW,CAAC,IAAI;YACzB,MAAM,EAAE,CAAC,CAAC,QAAQ;YAClB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,UAAU,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;YACnF,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAElD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,IAAI,CAAC,cAAc,IAAI,CAAC,IAAA,kCAAS,EAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACjE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,wBAAwB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAA,wBAAkB,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9G,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,cAAc,CAAC,sBAAsB,eAAe,GAAG,CAAC;QACtF,EAAE;QAEF,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,uBAAuB;YACvB,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,UAAU,gBAAgB,IAAI,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACJ,yCAAyC;gBACzC,yCAAyC;gBACzC,yCAAyC;gBACzC,yCAAyC;gBACzC,oDAAoD;gBACpD,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/C,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,UAAU,uBAAuB,IAAI,EAAE,CAAC,CAAC;YACnG,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,eAAe,UAAU,WAAW,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,cAAoB;QACzC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;YACnC,QAAQ,EAAE,6BAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,cAAc;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEM,kBAAkB;QACrB,wGAAwG;QACxG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO,wBAAgB,CAAC;QAC5B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QACnD,IAAK,SAAS,CAAC,KAAK,CAAC,QAAqB,KAAK,6BAAQ,CAAC,IAAI,EAAE,CAAC;YAC3D,OAAO,wBAAgB,CAAC;QAC5B,CAAC;QACD,OAAQ,SAAS,CAAC,KAAK,CAAC,KAAgB,IAAI,CAAC,CAAC;IAClD,CAAC;IAEM,kBAAkB,CAAC,KAAa;QACnC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC;YACrC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;YACzB,KAAK;SACR,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEM,cAAc;QACjB,OAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAgB,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,KAAqB,IAAI,IAAI,CAAC;IAChH,CAAC;IAEO,wBAAwB,CAAC,WAA+B;QAC5D,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAA,wBAAkB,EAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,iBAAiB,CAAC,IAAA,wCAAe,GAAE,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,CAAC,IAAA,wCAAe,GAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,WAA+B;QACjD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAChC,QAAQ,EAAE,6BAAQ,CAAC,UAAU;YAC7B,KAAK,EAAE,WAAW;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;IACL,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,EAAE,sBAAc,GAAG,EAAE,CAAC,CAAC;QACxB,8DAA8D;QAC9D,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAED,gBAAgB;QACZ,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,IAAA,6CAAqB,EAAC,4BAA4B,CAAC,CAAC;YACvF,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,IAAA,6CAAqB,EAAC,4BAA4B,CAAC,CAAC;YAC3F,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE;gBACpD,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAE3C,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;CACJ;AAED,SAAgB,mCAAmC,CAAC,IAAc;IAC9D,IAAI,IAAI,YAAY,gCAAgC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,CAAC,mBAAmB;IACpC,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gCAAgC,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,IAAmD,CAAC;IAClE,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACzB,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,IAAA,6CAAoB,EAAC,oCAAa,CAAC,8BAA8B,EAAE,mCAAmC,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.BaseNodeImpl = void 0;
|
|
10
10
|
exports.makeAttributeEventName = makeAttributeEventName;
|
|
11
11
|
exports.getReferenceType = getReferenceType;
|
|
12
|
+
const node_util_1 = require("node:util");
|
|
12
13
|
const node_events_1 = require("node:events");
|
|
13
14
|
const chalk_1 = __importDefault(require("chalk"));
|
|
14
|
-
const lodash_1 = require("lodash");
|
|
15
15
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
16
16
|
const node_opcua_constants_1 = require("node-opcua-constants");
|
|
17
17
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
@@ -548,13 +548,13 @@ class BaseNodeImpl extends node_events_1.EventEmitter {
|
|
|
548
548
|
// The type of reference to follow from the current node.
|
|
549
549
|
// The current path cannot be followed any further if the referenceTypeId is not available on the Node instance.
|
|
550
550
|
// If not specified then all References are included and the parameter includeSubtypes is ignored.
|
|
551
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
551
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(relativePathElement, "referenceTypeId"));
|
|
552
552
|
// Indicates whether the inverse Reference should be followed.
|
|
553
553
|
// The inverse reference is followed if this value is TRUE.
|
|
554
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
554
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(relativePathElement, "isInverse"));
|
|
555
555
|
// Indicates whether subtypes of the ReferenceType should be followed.
|
|
556
556
|
// Subtypes are included if this value is TRUE.
|
|
557
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
557
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(relativePathElement, "includeSubtypes"));
|
|
558
558
|
const references = this.allReferences();
|
|
559
559
|
const _check_reference = (reference) => {
|
|
560
560
|
if (relativePathElement.referenceTypeId.isEmpty()) {
|
|
@@ -565,7 +565,7 @@ class BaseNodeImpl extends node_events_1.EventEmitter {
|
|
|
565
565
|
(!relativePathElement.isInverse && !reference.isForward)) {
|
|
566
566
|
return false;
|
|
567
567
|
}
|
|
568
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
568
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(reference, "isForward"));
|
|
569
569
|
const referenceType = resolveReferenceType(this.addressSpace, reference);
|
|
570
570
|
const referenceTypeId = referenceType.nodeId;
|
|
571
571
|
if ((0, node_opcua_nodeid_1.sameNodeId)(relativePathElement.referenceTypeId, referenceTypeId)) {
|
|
@@ -590,10 +590,10 @@ class BaseNodeImpl extends node_events_1.EventEmitter {
|
|
|
590
590
|
if (!obj) {
|
|
591
591
|
throw new Error(` cannot find node with id ${reference.nodeId.toString()}`);
|
|
592
592
|
}
|
|
593
|
-
if ((0,
|
|
593
|
+
if ((0, node_util_1.isDeepStrictEqual)(obj.browseName, relativePathElement.targetName)) {
|
|
594
594
|
// compare QualifiedName
|
|
595
595
|
const key = obj.nodeId.toString();
|
|
596
|
-
if (!Object.
|
|
596
|
+
if (!Object.hasOwn(nodeIdsMap, key)) {
|
|
597
597
|
nodeIds.push(obj.nodeId);
|
|
598
598
|
nodeIdsMap[key] = obj;
|
|
599
599
|
}
|
|
@@ -677,9 +677,9 @@ class BaseNodeImpl extends node_events_1.EventEmitter {
|
|
|
677
677
|
}
|
|
678
678
|
removeReference(referenceOpts) {
|
|
679
679
|
const _private = (0, base_node_private_1.BaseNode_getPrivate)(this);
|
|
680
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
680
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(referenceOpts, "referenceType"));
|
|
681
681
|
// xx isForward is optional : assert(Object.prototype.hasOwnProperty.call(reference,"isForward"));
|
|
682
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
682
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(referenceOpts, "nodeId"));
|
|
683
683
|
const addressSpace = this.addressSpace;
|
|
684
684
|
const reference = addressSpace.normalizeReferenceTypes([referenceOpts])?.[0];
|
|
685
685
|
const h = reference.hash;
|
|
@@ -755,7 +755,7 @@ class BaseNodeImpl extends node_events_1.EventEmitter {
|
|
|
755
755
|
}
|
|
756
756
|
const childNode = resolveReferenceNode(addressSpace, reference);
|
|
757
757
|
const name = (0, node_opcua_utils_1.lowerFirstLetter)(childNode.browseName.name || "");
|
|
758
|
-
if (Object.
|
|
758
|
+
if (Object.hasOwn(reservedNames, name)) {
|
|
759
759
|
// c8 ignore next
|
|
760
760
|
if (doDebug) {
|
|
761
761
|
// tslint:disable-next-line:no-console
|
|
@@ -764,7 +764,7 @@ class BaseNodeImpl extends node_events_1.EventEmitter {
|
|
|
764
764
|
return;
|
|
765
765
|
}
|
|
766
766
|
/* c8 ignore next */
|
|
767
|
-
if (!Object.
|
|
767
|
+
if (!Object.hasOwn(this, name)) {
|
|
768
768
|
return;
|
|
769
769
|
}
|
|
770
770
|
Object.defineProperty(this, name, {
|
|
@@ -999,9 +999,9 @@ class BaseNodeImpl extends node_events_1.EventEmitter {
|
|
|
999
999
|
__addReference(referenceOpts) {
|
|
1000
1000
|
const addressSpace = this.addressSpace;
|
|
1001
1001
|
const _private = (0, base_node_private_1.BaseNode_getPrivate)(this);
|
|
1002
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
1002
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(referenceOpts, "referenceType"));
|
|
1003
1003
|
// xx isForward is optional : assert(Object.prototype.hasOwnProperty.call(reference,"isForward"));
|
|
1004
|
-
(0, node_opcua_assert_1.assert)(Object.
|
|
1004
|
+
(0, node_opcua_assert_1.assert)(Object.hasOwn(referenceOpts, "nodeId"));
|
|
1005
1005
|
const reference = addressSpace.normalizeReferenceTypes([referenceOpts])[0];
|
|
1006
1006
|
(0, node_opcua_assert_1.assert)(reference instanceof reference_impl_1.ReferenceImpl);
|
|
1007
1007
|
const h = reference.hash;
|
|
@@ -1464,7 +1464,7 @@ function install_components_as_object_properties(parentObj) {
|
|
|
1464
1464
|
}
|
|
1465
1465
|
// assumption: we ignore namespace here .
|
|
1466
1466
|
const name = (0, node_opcua_utils_1.lowerFirstLetter)(child.browseName.name || "");
|
|
1467
|
-
if (Object.
|
|
1467
|
+
if (Object.hasOwn(reservedNames, name)) {
|
|
1468
1468
|
// ignore reserved names
|
|
1469
1469
|
if (doDebug) {
|
|
1470
1470
|
debugLog(chalk_1.default.bgWhite.red(`Ignoring reserved keyword ${name}`));
|
|
@@ -1473,7 +1473,7 @@ function install_components_as_object_properties(parentObj) {
|
|
|
1473
1473
|
}
|
|
1474
1474
|
// ignore reserved names
|
|
1475
1475
|
doDebug && debugLog(`Installing property ${name}`, " on ", parentObj.browseName.toString());
|
|
1476
|
-
const hasProperty = Object.
|
|
1476
|
+
const hasProperty = Object.hasOwn(parentObj, name);
|
|
1477
1477
|
if (hasProperty &&
|
|
1478
1478
|
parentObj[name] !== null &&
|
|
1479
1479
|
parentObj[name] !== undefined) {
|