Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 56x 56x 56x 56x 56x 119x 119x 119x 119x 2x 119x 2x 41x 41x 41x 2x 41x 2x 41x 41x 41x 41x 2x 41x 2x 41x 82x 82x 56x 72x 56x | "use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const NodeId_1 = require("./NodeId");
const Bucket_1 = __importDefault(require("./Bucket"));
// https://reference.opcfoundation.org/v104/Core/docs/Part6/5.2.2/#5.2.2.10
class ExpandedNodeId {
constructor(options) {
var _a, _b, _c, _d, _e, _f, _g, _h;
this.NodeId = (_b = (_a = options) === null || _a === void 0 ? void 0 : _a.NodeId, (_b !== null && _b !== void 0 ? _b : NodeId_1.NewTwoByteNodeId(0)));
this.NamespaceUri = (_d = (_c = options) === null || _c === void 0 ? void 0 : _c.NamespaceUri, (_d !== null && _d !== void 0 ? _d : ''));
this.ServerIndex = (_f = (_e = options) === null || _e === void 0 ? void 0 : _e.ServerIndex, (_f !== null && _f !== void 0 ? _f : 0));
if ((_g = options) === null || _g === void 0 ? void 0 : _g.NamespaceUri) {
this.NodeId.setNamespaceUriFlag();
}
if ((_h = options) === null || _h === void 0 ? void 0 : _h.ServerIndex) {
this.NodeId.setServerIndexFlag();
}
}
encode() {
const bucket = new Bucket_1.default();
bucket.writeStruct(this.NodeId);
if (this.hasNamespaceUri()) {
bucket.writeString(this.NamespaceUri);
}
if (this.hasServerIndex()) {
bucket.writeUint32(this.ServerIndex);
}
return bucket.bytes;
}
decode(b, position) {
const bucket = new Bucket_1.default(b, position);
bucket.readStruct(this.NodeId);
if (this.hasNamespaceUri()) {
this.NamespaceUri = bucket.readString();
}
if (this.hasServerIndex()) {
this.ServerIndex = bucket.readUint32();
}
return bucket.position;
}
hasNamespaceUri() {
return ((this.NodeId.Type >> 7) & 0x1) === 1;
}
hasServerIndex() {
return ((this.NodeId.Type >> 6) & 0x1) === 1;
}
}
exports.default = ExpandedNodeId;
exports.NewTwoByteExpandedNodeId = (id) => new ExpandedNodeId({
NodeId: NodeId_1.NewTwoByteNodeId(id)
});
exports.NewFourByteExpandedNodeId = (ns, id) => new ExpandedNodeId({
NodeId: NodeId_1.NewFourByteNodeId(ns, id)
});
|