opcjs-base 0.1.20-alpha → 0.1.29-alpha

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/index.js CHANGED
@@ -1,5 +1,39 @@
1
1
  import { XMLParser } from 'fast-xml-parser';
2
2
 
3
+ // src/types/expandedNodeId.ts
4
+ var ExpandedNodeId = class {
5
+ /** The wrapped NodeId. */
6
+ nodeId;
7
+ /** The server index (optional, for cross-server references). */
8
+ serverIndex;
9
+ /** The namespace URI (optional, alternative to the namespace index on nodeId). */
10
+ namespaceUri;
11
+ /**
12
+ * Create a new ExpandedNodeId.
13
+ *
14
+ * @param nodeId - The wrapped NodeId
15
+ * @param namespaceUri - Optional namespace URI
16
+ * @param serverIndex - Optional server index
17
+ */
18
+ constructor(nodeId, namespaceUri, serverIndex) {
19
+ this.nodeId = nodeId;
20
+ this.namespaceUri = namespaceUri;
21
+ this.serverIndex = serverIndex;
22
+ }
23
+ /** Convert ExpandedNodeId to string representation. */
24
+ toString() {
25
+ let result = "";
26
+ if (this.serverIndex !== void 0) {
27
+ result += `svr=${this.serverIndex};`;
28
+ }
29
+ if (this.namespaceUri !== void 0) {
30
+ result += `nsu=${this.namespaceUri};`;
31
+ }
32
+ result += this.nodeId.toString();
33
+ return result;
34
+ }
35
+ };
36
+
3
37
  // src/types/nodeId.ts
4
38
  var NodeIdType = /* @__PURE__ */ ((NodeIdType2) => {
5
39
  NodeIdType2[NodeIdType2["Numeric"] = 0] = "Numeric";
@@ -170,47 +204,6 @@ var NodeId = class _NodeId {
170
204
  }
171
205
  };
172
206
 
173
- // src/types/expandedNodeId.ts
174
- var ExpandedNodeId = class extends NodeId {
175
- /**
176
- * The server index (optional, for cross-server references)
177
- */
178
- serverIndex;
179
- /**
180
- * The namespace URI (optional, alternative to namespace index)
181
- */
182
- namespaceUri;
183
- /**
184
- * Create a new ExpandedNodeId
185
- *
186
- * @param namespace - The namespace index
187
- * @param identifier - The identifier
188
- * @param namespaceUri - Optional namespace URI
189
- * @param serverIndex - Optional server index
190
- */
191
- constructor(namespace = 0, identifier = 0, namespaceUri, serverIndex) {
192
- super(namespace, identifier);
193
- this.namespaceUri = namespaceUri;
194
- this.serverIndex = serverIndex;
195
- }
196
- /**
197
- * Convert ExpandedNodeId to string representation
198
- *
199
- * @returns String representation of the ExpandedNodeId
200
- */
201
- toString() {
202
- let result = "";
203
- if (this.serverIndex !== void 0) {
204
- result += `svr=${this.serverIndex};`;
205
- }
206
- if (this.namespaceUri !== void 0) {
207
- result += `nsu=${this.namespaceUri};`;
208
- }
209
- result += super.toString();
210
- return result;
211
- }
212
- };
213
-
214
207
  // src/codecs/encoder.ts
215
208
  var Encoder = class {
216
209
  encoders = /* @__PURE__ */ new Map();
@@ -228,7 +221,7 @@ var Encoder = class {
228
221
  }
229
222
  const writer = writerFactory();
230
223
  const encodingId = value.getBinaryEncodingId();
231
- const eid = new ExpandedNodeId(0, encodingId);
224
+ const eid = new ExpandedNodeId(new NodeId(0, encodingId));
232
225
  writer.writeExpandedNodeId(eid);
233
226
  const typeId = value.getTypeId();
234
227
  const encodingFunction = this.encoders.get(typeId);
@@ -275,7 +268,7 @@ var Decoder = class {
275
268
  }
276
269
  const reader = readerFactory(data);
277
270
  const eid = reader.readExpandedNodeId();
278
- return this.decodeWithEncodingId(eid.identifier, reader);
271
+ return this.decodeWithEncodingId(eid.nodeId.identifier, reader);
279
272
  }
280
273
  decodeWithEncodingId(encodingId, reader) {
281
274
  const decodingInfo = this.encodingIdMap.get(encodingId);
@@ -491,7 +484,7 @@ function decodeExpandedNodeId(reader) {
491
484
  if (hasServerIndex) {
492
485
  serverIndex = reader.readUInt32();
493
486
  }
494
- return new ExpandedNodeId(nodeId.namespace, nodeId.identifier, namespaceUri, serverIndex);
487
+ return new ExpandedNodeId(nodeId, namespaceUri, serverIndex);
495
488
  }
496
489
  function encodeExpandedNodeId(writer, value) {
497
490
  let extraFlags = 0;
@@ -502,9 +495,9 @@ function encodeExpandedNodeId(writer, value) {
502
495
  extraFlags |= ExpandedNodeIdMask.ServerIndexFlag;
503
496
  }
504
497
  if (extraFlags === 0) {
505
- encodeNodeId(writer, value);
498
+ encodeNodeId(writer, value.nodeId);
506
499
  } else {
507
- encodeNodeIdWithExtraFlags(writer, value, extraFlags);
500
+ encodeNodeIdWithExtraFlags(writer, value.nodeId, extraFlags);
508
501
  }
509
502
  if (value.namespaceUri !== void 0) {
510
503
  writer.writeString(value.namespaceUri);
@@ -725,7 +718,7 @@ function encodeLocalizedText(writer, value) {
725
718
  // src/types/extensionObject.ts
726
719
  var ExtensionObject = class _ExtensionObject {
727
720
  /**
728
- * The NodeId that identifies the type of structure encoded in the body.
721
+ * The NodeId (or ExpandedNodeId) that identifies the type of structure encoded in the body.
729
722
  */
730
723
  typeId;
731
724
  /**
@@ -1054,7 +1047,7 @@ function decodeExtensionObject(reader, decoder) {
1054
1047
  }
1055
1048
  function encodeExtensionObject(writer, value, encoder) {
1056
1049
  const typeId = value.typeId;
1057
- if ("namespaceUri" in typeId || "serverIndex" in typeId) {
1050
+ if (typeId instanceof ExpandedNodeId) {
1058
1051
  encodeExpandedNodeId(writer, typeId);
1059
1052
  } else {
1060
1053
  encodeNodeId(writer, typeId);
@@ -1370,7 +1363,7 @@ function StatusCodeToString(statusCode) {
1370
1363
  if (statusCode === void 0) {
1371
1364
  return "Unknown";
1372
1365
  }
1373
- const baseCode = statusCode & 4294901760;
1366
+ const baseCode = (statusCode & 4294901760) >>> 0;
1374
1367
  const name = Object.entries(StatusCode).find(([, v]) => v === baseCode)?.[0];
1375
1368
  return name ?? `0x${baseCode.toString(16).toUpperCase().padStart(8, "0")}`;
1376
1369
  }
@@ -1392,6 +1385,9 @@ function StatusCodeGetFlagBits(statusCode) {
1392
1385
  LimitConstant: limitBits === 3
1393
1386
  };
1394
1387
  }
1388
+ function StatusCodeIs(statusCode, expected) {
1389
+ return (statusCode & 4294901760) >>> 0 === expected;
1390
+ }
1395
1391
 
1396
1392
  // src/types/dataValue.ts
1397
1393
  var DataValue = class _DataValue {
@@ -1622,147 +1618,416 @@ function encodeDataValue(writer, value, encoder) {
1622
1618
  }
1623
1619
  }
1624
1620
 
1625
- // src/types/variant.ts
1626
- var Variant = class _Variant {
1621
+ // src/types/xmlElement.ts
1622
+ var XmlElement = class _XmlElement {
1627
1623
  /**
1628
- * The variant type identifier.
1624
+ * The XML string content
1629
1625
  */
1630
- type;
1626
+ content;
1631
1627
  /**
1632
- * The variant value (scalar or array).
1628
+ * Create a new XmlElement
1629
+ *
1630
+ * @param content - The XML string content
1633
1631
  */
1634
- value;
1632
+ constructor(content = "") {
1633
+ this.content = content;
1634
+ }
1635
1635
  /**
1636
- * Optional array dimensions for multi-dimensional arrays.
1637
- * For 1D arrays, this is [length].
1638
- * For 2D arrays, this is [rows, cols], etc.
1636
+ * Get the XML string content
1637
+ *
1638
+ * @returns The XML string
1639
1639
  */
1640
- arrayDimensions;
1640
+ toString() {
1641
+ return this.content;
1642
+ }
1641
1643
  /**
1642
- * Checks if this variant is null.
1644
+ * Get the length of the XML string
1643
1645
  *
1644
- * @returns True if the variant type is Null
1646
+ * @returns The number of characters
1645
1647
  */
1646
- isNull() {
1647
- return this.type === 0 /* Null */;
1648
+ get length() {
1649
+ return this.content.length;
1648
1650
  }
1649
1651
  /**
1650
- * Checks if this variant contains an array.
1652
+ * Escape special XML characters in text content
1651
1653
  *
1652
- * @returns True if the value is an array
1654
+ * @param text - Text to escape
1655
+ * @returns Escaped text safe for use in XML
1656
+ *
1657
+ * @example
1658
+ * ```typescript
1659
+ * XmlElement.escape("Hello & <World>"); // "Hello &amp; &lt;World&gt;"
1660
+ * ```
1653
1661
  */
1654
- isArray() {
1655
- return Array.isArray(this.value);
1662
+ static escape(text) {
1663
+ return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
1656
1664
  }
1657
1665
  /**
1658
- * Checks if this variant contains a scalar value.
1666
+ * Unescape XML entities to plain text
1659
1667
  *
1660
- * @returns True if the value is not an array
1668
+ * @param xml - XML text with entities
1669
+ * @returns Unescaped text
1670
+ *
1671
+ * @example
1672
+ * ```typescript
1673
+ * XmlElement.unescape("Hello &amp; &lt;World&gt;"); // "Hello & <World>"
1674
+ * ```
1661
1675
  */
1662
- isScalar() {
1663
- return !this.isArray();
1676
+ static unescape(xml) {
1677
+ return xml.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
1664
1678
  }
1665
1679
  /**
1666
- * Gets the array length for 1D arrays.
1680
+ * Create a simple XML element
1667
1681
  *
1668
- * @returns The array length, or 0 if not an array
1682
+ * @param tagName - The XML tag name
1683
+ * @param content - The text content (will be escaped)
1684
+ * @param attributes - Optional attributes object
1685
+ * @returns XmlElement
1686
+ *
1687
+ * @example
1688
+ * ```typescript
1689
+ * const xml = XmlElement.create("Temperature", "25.5", { unit: "C" });
1690
+ * // "<Temperature unit=\"C\">25.5</Temperature>"
1691
+ * ```
1669
1692
  */
1670
- getArrayLength() {
1671
- if (this.isArray() && Array.isArray(this.value)) {
1672
- return this.value.length;
1693
+ static create(tagName, content = "", attributes) {
1694
+ let attrStr = "";
1695
+ if (attributes) {
1696
+ attrStr = Object.entries(attributes).map(([key, value]) => ` ${key}="${_XmlElement.escape(value)}"`).join("");
1673
1697
  }
1674
- return 0;
1698
+ const escapedContent = _XmlElement.escape(content);
1699
+ const xmlString = `<${tagName}${attrStr}>${escapedContent}</${tagName}>`;
1700
+ return new _XmlElement(xmlString);
1675
1701
  }
1676
1702
  /**
1677
- * Checks equality with another Variant.
1703
+ * Create an empty XmlElement
1678
1704
  *
1679
- * @param other - The variant to compare with
1680
- * @returns True if variants are equal
1705
+ * @returns Empty XmlElement
1681
1706
  */
1682
- equals(other) {
1683
- if (this.type !== other.type) {
1684
- return false;
1685
- }
1686
- if (this.arrayDimensions !== void 0 || other.arrayDimensions !== void 0) {
1687
- if (this.arrayDimensions === void 0 || other.arrayDimensions === void 0) {
1688
- return false;
1689
- }
1690
- if (this.arrayDimensions.length !== other.arrayDimensions.length) {
1691
- return false;
1692
- }
1693
- for (let i = 0; i < this.arrayDimensions.length; i++) {
1694
- if (this.arrayDimensions[i] !== other.arrayDimensions[i]) {
1695
- return false;
1696
- }
1697
- }
1698
- }
1699
- return JSON.stringify(this.value) === JSON.stringify(other.value);
1707
+ static empty() {
1708
+ return new _XmlElement("");
1700
1709
  }
1701
1710
  /**
1702
- * Converts the variant to a string representation.
1711
+ * Check equality with another XmlElement
1703
1712
  *
1704
- * @returns A string representation of the variant
1713
+ * @param other - The other XmlElement
1714
+ * @returns true if both contain the same XML string
1705
1715
  */
1706
- toString() {
1707
- const typeName = BuiltInType[this.type];
1708
- if (this.isNull()) {
1709
- return "Variant(Null)";
1710
- }
1711
- if (this.isArray()) {
1712
- const dimStr = this.arrayDimensions ? `[${this.arrayDimensions.join(",")}]` : "[?]";
1713
- return `Variant(${typeName}${dimStr})`;
1714
- }
1715
- return `Variant(${typeName}: ${String(this.value)})`;
1716
+ equals(other) {
1717
+ return this.content === other.content;
1716
1718
  }
1719
+ };
1720
+
1721
+ // src/types/diagnosticInfo.ts
1722
+ var DiagnosticInfo = class _DiagnosticInfo {
1717
1723
  /**
1718
- * Creates a Variant from a typed OPC UA primitive value.
1719
- *
1720
- * Uses the `.type` discriminant on tagged primitives to determine the
1721
- * VariantType exactly — no heuristic inference based on value ranges.
1722
- *
1723
- * @param value - A typed OPC UA primitive value.
1724
- * @returns A new Variant wrapping the inner value with the correct VariantType.
1724
+ * Index into a string table for the symbolic identifier.
1725
+ * The symbolic id is used to identify an error condition in a vendor-specific way.
1725
1726
  */
1726
- static newFrom(value) {
1727
- if (value === null || value === void 0) {
1728
- return _Variant.newNull();
1729
- }
1730
- if (typeof value === "boolean") {
1731
- return new _Variant(1 /* Boolean */, value);
1732
- }
1733
- if (typeof value === "string") {
1734
- return new _Variant(12 /* String */, value);
1735
- }
1736
- if (value instanceof Uint8Array) {
1737
- return new _Variant(15 /* ByteString */, value);
1738
- }
1739
- if (value instanceof Date) {
1740
- return new _Variant(13 /* DateTime */, value);
1741
- }
1742
- if (typeof value === "object" && "type" in value) {
1743
- const tagged = value;
1744
- return new _Variant(tagged.type, tagged.value);
1745
- }
1746
- throw new Error(
1747
- `newFrom: unhandled UaPrimitive value: ${JSON.stringify(value)}`
1748
- );
1749
- }
1727
+ symbolicId;
1750
1728
  /**
1751
- * Creates a undefined variant.
1752
- *
1753
- * @returns A new Variant with undefined value
1729
+ * Index into a string table for the namespace URI.
1730
+ * Identifies the namespace that defines the symbolicId.
1754
1731
  */
1755
- static newNull() {
1756
- return new _Variant(0 /* Null */);
1757
- }
1732
+ namespaceUri;
1758
1733
  /**
1759
- * Creates a new Variant.
1734
+ * Index into a string table for the localized text.
1735
+ * Contains a human-readable description of the error.
1736
+ */
1737
+ localizedText;
1738
+ /**
1739
+ * Index into a string table for the locale.
1740
+ * Identifies the locale used for the localizedText.
1741
+ */
1742
+ locale;
1743
+ /**
1744
+ * Additional debugging/diagnostic information.
1745
+ * Not intended for display to end users.
1746
+ */
1747
+ additionalInfo;
1748
+ /**
1749
+ * StatusCode from a nested operation.
1750
+ * Used when the diagnostic info relates to a nested operation result.
1751
+ */
1752
+ innerStatusCode;
1753
+ /**
1754
+ * Nested DiagnosticInfo.
1755
+ * Allows for recursive diagnostic information structures.
1756
+ */
1757
+ innerDiagnosticInfo;
1758
+ /**
1759
+ * Creates a new DiagnosticInfo.
1760
1760
  *
1761
- * @param variantType - The type of value stored in the variant
1762
- * @param value - The scalar or array value
1763
- * @param arrayDimensions - Optional array dimensions for structured arrays
1761
+ * @param options - Optional diagnostic information fields
1764
1762
  */
1765
- constructor(variantType = 0 /* Null */, value = void 0, arrayDimensions = void 0) {
1763
+ constructor(options = {}) {
1764
+ this.symbolicId = options.symbolicId;
1765
+ this.namespaceUri = options.namespaceUri;
1766
+ this.localizedText = options.localizedText;
1767
+ this.locale = options.locale;
1768
+ this.additionalInfo = options.additionalInfo;
1769
+ this.innerStatusCode = options.innerStatusCode;
1770
+ this.innerDiagnosticInfo = options.innerDiagnosticInfo;
1771
+ }
1772
+ /**
1773
+ * Creates an empty DiagnosticInfo with no fields set.
1774
+ *
1775
+ * @returns A new DiagnosticInfo with all fields undefined
1776
+ */
1777
+ static createEmpty() {
1778
+ return new _DiagnosticInfo({});
1779
+ }
1780
+ /**
1781
+ * Creates a DiagnosticInfo with just additional info text.
1782
+ *
1783
+ * @param additionalInfo - The diagnostic information text
1784
+ * @returns A new DiagnosticInfo with only additionalInfo set
1785
+ */
1786
+ static fromText(additionalInfo) {
1787
+ return new _DiagnosticInfo({ additionalInfo });
1788
+ }
1789
+ /**
1790
+ * Checks if this DiagnosticInfo is empty (all fields undefined).
1791
+ *
1792
+ * @returns True if all fields are undefined
1793
+ */
1794
+ isEmpty() {
1795
+ return this.symbolicId === void 0 && this.namespaceUri === void 0 && this.localizedText === void 0 && this.locale === void 0 && this.additionalInfo === void 0 && this.innerStatusCode === void 0 && this.innerDiagnosticInfo === void 0;
1796
+ }
1797
+ /**
1798
+ * Checks if this DiagnosticInfo has nested diagnostic information.
1799
+ *
1800
+ * @returns True if innerDiagnosticInfo is not undefined
1801
+ */
1802
+ hasInnerDiagnostics() {
1803
+ return this.innerDiagnosticInfo !== void 0;
1804
+ }
1805
+ /**
1806
+ * Gets the depth of nested diagnostic information.
1807
+ *
1808
+ * @returns The nesting depth (0 if no inner diagnostics)
1809
+ */
1810
+ getDepth() {
1811
+ if (this.innerDiagnosticInfo === void 0) {
1812
+ return 0;
1813
+ }
1814
+ return 1 + this.innerDiagnosticInfo.getDepth();
1815
+ }
1816
+ /**
1817
+ * Flattens the nested diagnostic information into an array.
1818
+ *
1819
+ * @returns An array of all DiagnosticInfo objects in the chain
1820
+ */
1821
+ flatten() {
1822
+ const result = [this];
1823
+ if (this.innerDiagnosticInfo !== void 0) {
1824
+ result.push(...this.innerDiagnosticInfo.flatten());
1825
+ }
1826
+ return result;
1827
+ }
1828
+ /**
1829
+ * Converts the DiagnosticInfo to a string representation.
1830
+ *
1831
+ * @param includeInner - Whether to include inner diagnostic info (default: true)
1832
+ * @returns A string representation
1833
+ */
1834
+ toString(includeInner = true) {
1835
+ if (this.isEmpty()) {
1836
+ return "DiagnosticInfo(empty)";
1837
+ }
1838
+ const parts = [];
1839
+ if (this.symbolicId !== void 0) {
1840
+ parts.push(`symbolicId: ${this.symbolicId}`);
1841
+ }
1842
+ if (this.namespaceUri !== void 0) {
1843
+ parts.push(`namespaceUri: ${this.namespaceUri}`);
1844
+ }
1845
+ if (this.localizedText !== void 0) {
1846
+ parts.push(`localizedText: ${this.localizedText}`);
1847
+ }
1848
+ if (this.locale !== void 0) {
1849
+ parts.push(`locale: ${this.locale}`);
1850
+ }
1851
+ if (this.additionalInfo !== void 0) {
1852
+ parts.push(`additionalInfo: "${this.additionalInfo}"`);
1853
+ }
1854
+ if (this.innerStatusCode !== void 0) {
1855
+ parts.push(`innerStatusCode: ${this.innerStatusCode.toString()}`);
1856
+ }
1857
+ if (includeInner && this.innerDiagnosticInfo !== void 0) {
1858
+ parts.push(`innerDiagnosticInfo: ${this.innerDiagnosticInfo.toString(true)}`);
1859
+ }
1860
+ return `DiagnosticInfo(${parts.join(", ")})`;
1861
+ }
1862
+ };
1863
+
1864
+ // src/types/variant.ts
1865
+ var Variant = class _Variant {
1866
+ /**
1867
+ * The variant type identifier.
1868
+ */
1869
+ type;
1870
+ /**
1871
+ * The variant value (scalar or array).
1872
+ */
1873
+ value;
1874
+ /**
1875
+ * Optional array dimensions for multi-dimensional arrays.
1876
+ * For 1D arrays, this is [length].
1877
+ * For 2D arrays, this is [rows, cols], etc.
1878
+ */
1879
+ arrayDimensions;
1880
+ /**
1881
+ * Checks if this variant is null.
1882
+ *
1883
+ * @returns True if the variant type is Null
1884
+ */
1885
+ isNull() {
1886
+ return this.type === 0 /* Null */;
1887
+ }
1888
+ /**
1889
+ * Checks if this variant contains an array.
1890
+ *
1891
+ * @returns True if the value is an array
1892
+ */
1893
+ isArray() {
1894
+ return Array.isArray(this.value);
1895
+ }
1896
+ /**
1897
+ * Checks if this variant contains a scalar value.
1898
+ *
1899
+ * @returns True if the value is not an array
1900
+ */
1901
+ isScalar() {
1902
+ return !this.isArray();
1903
+ }
1904
+ /**
1905
+ * Gets the array length for 1D arrays.
1906
+ *
1907
+ * @returns The array length, or 0 if not an array
1908
+ */
1909
+ getArrayLength() {
1910
+ if (this.isArray() && Array.isArray(this.value)) {
1911
+ return this.value.length;
1912
+ }
1913
+ return 0;
1914
+ }
1915
+ /**
1916
+ * Checks equality with another Variant.
1917
+ *
1918
+ * @param other - The variant to compare with
1919
+ * @returns True if variants are equal
1920
+ */
1921
+ equals(other) {
1922
+ if (this.type !== other.type) {
1923
+ return false;
1924
+ }
1925
+ if (this.arrayDimensions !== void 0 || other.arrayDimensions !== void 0) {
1926
+ if (this.arrayDimensions === void 0 || other.arrayDimensions === void 0) {
1927
+ return false;
1928
+ }
1929
+ if (this.arrayDimensions.length !== other.arrayDimensions.length) {
1930
+ return false;
1931
+ }
1932
+ for (let i = 0; i < this.arrayDimensions.length; i++) {
1933
+ if (this.arrayDimensions[i] !== other.arrayDimensions[i]) {
1934
+ return false;
1935
+ }
1936
+ }
1937
+ }
1938
+ return JSON.stringify(this.value) === JSON.stringify(other.value);
1939
+ }
1940
+ /**
1941
+ * Converts the variant to a string representation.
1942
+ *
1943
+ * @returns A string representation of the variant
1944
+ */
1945
+ toString() {
1946
+ const typeName = BuiltInType[this.type];
1947
+ if (this.isNull()) {
1948
+ return "Variant(Null)";
1949
+ }
1950
+ if (this.isArray()) {
1951
+ const dimStr = this.arrayDimensions ? `[${this.arrayDimensions.join(",")}]` : "[?]";
1952
+ return `Variant(${typeName}${dimStr})`;
1953
+ }
1954
+ return `Variant(${typeName}: ${String(this.value)})`;
1955
+ }
1956
+ /**
1957
+ * Union of all OPC UA built-in types accepted by {@link Variant.newFrom}.
1958
+ *
1959
+ * Includes both the tagged numeric primitives from `UaPrimitive` (which carry
1960
+ * a `BuiltInType` discriminant so the exact numeric encoding is known) and the
1961
+ * class-based built-in types that are identified unambiguously at runtime via
1962
+ * `instanceof`.
1963
+ */
1964
+ static newFrom(value) {
1965
+ if (value === null || value === void 0) {
1966
+ return _Variant.newNull();
1967
+ }
1968
+ if (typeof value === "boolean") {
1969
+ return new _Variant(1 /* Boolean */, value);
1970
+ }
1971
+ if (typeof value === "string") {
1972
+ return new _Variant(12 /* String */, value);
1973
+ }
1974
+ if (value instanceof Uint8Array) {
1975
+ return new _Variant(15 /* ByteString */, value);
1976
+ }
1977
+ if (value instanceof Date) {
1978
+ return new _Variant(13 /* DateTime */, value);
1979
+ }
1980
+ if (value instanceof ExpandedNodeId) {
1981
+ return new _Variant(18 /* ExpandedNodeId */, value);
1982
+ }
1983
+ if (value instanceof NodeId) {
1984
+ return new _Variant(17 /* NodeId */, value);
1985
+ }
1986
+ if (value instanceof QualifiedName) {
1987
+ return new _Variant(20 /* QualifiedName */, value);
1988
+ }
1989
+ if (value instanceof LocalizedText) {
1990
+ return new _Variant(21 /* LocalizedText */, value);
1991
+ }
1992
+ if (value instanceof XmlElement) {
1993
+ return new _Variant(16 /* XmlElement */, value);
1994
+ }
1995
+ if (value instanceof ExtensionObject) {
1996
+ return new _Variant(22 /* ExtensionObject */, value);
1997
+ }
1998
+ if (value instanceof DataValue) {
1999
+ return new _Variant(23 /* DataValue */, value);
2000
+ }
2001
+ if (value instanceof DiagnosticInfo) {
2002
+ return new _Variant(25 /* DiagnosticInfo */, value);
2003
+ }
2004
+ if (value instanceof _Variant) {
2005
+ return new _Variant(24 /* Variant */, value);
2006
+ }
2007
+ if (typeof value === "object" && "type" in value) {
2008
+ const tagged = value;
2009
+ return new _Variant(tagged.type, tagged.value);
2010
+ }
2011
+ throw new Error(
2012
+ `newFrom: unhandled value: ${JSON.stringify(value)}`
2013
+ );
2014
+ }
2015
+ /**
2016
+ * Creates a undefined variant.
2017
+ *
2018
+ * @returns A new Variant with undefined value
2019
+ */
2020
+ static newNull() {
2021
+ return new _Variant(0 /* Null */);
2022
+ }
2023
+ /**
2024
+ * Creates a new Variant.
2025
+ *
2026
+ * @param variantType - The type of value stored in the variant
2027
+ * @param value - The scalar or array value
2028
+ * @param arrayDimensions - Optional array dimensions for structured arrays
2029
+ */
2030
+ constructor(variantType = 0 /* Null */, value = void 0, arrayDimensions = void 0) {
1766
2031
  this.type = variantType;
1767
2032
  this.value = value;
1768
2033
  this.arrayDimensions = arrayDimensions;
@@ -1983,149 +2248,6 @@ function encodeVariant(writer, value, encoder) {
1983
2248
  }
1984
2249
  }
1985
2250
 
1986
- // src/types/diagnosticInfo.ts
1987
- var DiagnosticInfo = class _DiagnosticInfo {
1988
- /**
1989
- * Index into a string table for the symbolic identifier.
1990
- * The symbolic id is used to identify an error condition in a vendor-specific way.
1991
- */
1992
- symbolicId;
1993
- /**
1994
- * Index into a string table for the namespace URI.
1995
- * Identifies the namespace that defines the symbolicId.
1996
- */
1997
- namespaceUri;
1998
- /**
1999
- * Index into a string table for the localized text.
2000
- * Contains a human-readable description of the error.
2001
- */
2002
- localizedText;
2003
- /**
2004
- * Index into a string table for the locale.
2005
- * Identifies the locale used for the localizedText.
2006
- */
2007
- locale;
2008
- /**
2009
- * Additional debugging/diagnostic information.
2010
- * Not intended for display to end users.
2011
- */
2012
- additionalInfo;
2013
- /**
2014
- * StatusCode from a nested operation.
2015
- * Used when the diagnostic info relates to a nested operation result.
2016
- */
2017
- innerStatusCode;
2018
- /**
2019
- * Nested DiagnosticInfo.
2020
- * Allows for recursive diagnostic information structures.
2021
- */
2022
- innerDiagnosticInfo;
2023
- /**
2024
- * Creates a new DiagnosticInfo.
2025
- *
2026
- * @param options - Optional diagnostic information fields
2027
- */
2028
- constructor(options = {}) {
2029
- this.symbolicId = options.symbolicId;
2030
- this.namespaceUri = options.namespaceUri;
2031
- this.localizedText = options.localizedText;
2032
- this.locale = options.locale;
2033
- this.additionalInfo = options.additionalInfo;
2034
- this.innerStatusCode = options.innerStatusCode;
2035
- this.innerDiagnosticInfo = options.innerDiagnosticInfo;
2036
- }
2037
- /**
2038
- * Creates an empty DiagnosticInfo with no fields set.
2039
- *
2040
- * @returns A new DiagnosticInfo with all fields undefined
2041
- */
2042
- static createEmpty() {
2043
- return new _DiagnosticInfo({});
2044
- }
2045
- /**
2046
- * Creates a DiagnosticInfo with just additional info text.
2047
- *
2048
- * @param additionalInfo - The diagnostic information text
2049
- * @returns A new DiagnosticInfo with only additionalInfo set
2050
- */
2051
- static fromText(additionalInfo) {
2052
- return new _DiagnosticInfo({ additionalInfo });
2053
- }
2054
- /**
2055
- * Checks if this DiagnosticInfo is empty (all fields undefined).
2056
- *
2057
- * @returns True if all fields are undefined
2058
- */
2059
- isEmpty() {
2060
- return this.symbolicId === void 0 && this.namespaceUri === void 0 && this.localizedText === void 0 && this.locale === void 0 && this.additionalInfo === void 0 && this.innerStatusCode === void 0 && this.innerDiagnosticInfo === void 0;
2061
- }
2062
- /**
2063
- * Checks if this DiagnosticInfo has nested diagnostic information.
2064
- *
2065
- * @returns True if innerDiagnosticInfo is not undefined
2066
- */
2067
- hasInnerDiagnostics() {
2068
- return this.innerDiagnosticInfo !== void 0;
2069
- }
2070
- /**
2071
- * Gets the depth of nested diagnostic information.
2072
- *
2073
- * @returns The nesting depth (0 if no inner diagnostics)
2074
- */
2075
- getDepth() {
2076
- if (this.innerDiagnosticInfo === void 0) {
2077
- return 0;
2078
- }
2079
- return 1 + this.innerDiagnosticInfo.getDepth();
2080
- }
2081
- /**
2082
- * Flattens the nested diagnostic information into an array.
2083
- *
2084
- * @returns An array of all DiagnosticInfo objects in the chain
2085
- */
2086
- flatten() {
2087
- const result = [this];
2088
- if (this.innerDiagnosticInfo !== void 0) {
2089
- result.push(...this.innerDiagnosticInfo.flatten());
2090
- }
2091
- return result;
2092
- }
2093
- /**
2094
- * Converts the DiagnosticInfo to a string representation.
2095
- *
2096
- * @param includeInner - Whether to include inner diagnostic info (default: true)
2097
- * @returns A string representation
2098
- */
2099
- toString(includeInner = true) {
2100
- if (this.isEmpty()) {
2101
- return "DiagnosticInfo(empty)";
2102
- }
2103
- const parts = [];
2104
- if (this.symbolicId !== void 0) {
2105
- parts.push(`symbolicId: ${this.symbolicId}`);
2106
- }
2107
- if (this.namespaceUri !== void 0) {
2108
- parts.push(`namespaceUri: ${this.namespaceUri}`);
2109
- }
2110
- if (this.localizedText !== void 0) {
2111
- parts.push(`localizedText: ${this.localizedText}`);
2112
- }
2113
- if (this.locale !== void 0) {
2114
- parts.push(`locale: ${this.locale}`);
2115
- }
2116
- if (this.additionalInfo !== void 0) {
2117
- parts.push(`additionalInfo: "${this.additionalInfo}"`);
2118
- }
2119
- if (this.innerStatusCode !== void 0) {
2120
- parts.push(`innerStatusCode: ${this.innerStatusCode.toString()}`);
2121
- }
2122
- if (includeInner && this.innerDiagnosticInfo !== void 0) {
2123
- parts.push(`innerDiagnosticInfo: ${this.innerDiagnosticInfo.toString(true)}`);
2124
- }
2125
- return `DiagnosticInfo(${parts.join(", ")})`;
2126
- }
2127
- };
2128
-
2129
2251
  // src/codecs/binary/typesComplex/diagnosticInfo.ts
2130
2252
  var DiagnosticInfoMaskBits = {
2131
2253
  SymbolicId: 1,
@@ -2820,106 +2942,6 @@ var SecureChannelTypeDecoder = class extends TransformStream {
2820
2942
  }
2821
2943
  };
2822
2944
 
2823
- // src/types/xmlElement.ts
2824
- var XmlElement = class _XmlElement {
2825
- /**
2826
- * The XML string content
2827
- */
2828
- content;
2829
- /**
2830
- * Create a new XmlElement
2831
- *
2832
- * @param content - The XML string content
2833
- */
2834
- constructor(content = "") {
2835
- this.content = content;
2836
- }
2837
- /**
2838
- * Get the XML string content
2839
- *
2840
- * @returns The XML string
2841
- */
2842
- toString() {
2843
- return this.content;
2844
- }
2845
- /**
2846
- * Get the length of the XML string
2847
- *
2848
- * @returns The number of characters
2849
- */
2850
- get length() {
2851
- return this.content.length;
2852
- }
2853
- /**
2854
- * Escape special XML characters in text content
2855
- *
2856
- * @param text - Text to escape
2857
- * @returns Escaped text safe for use in XML
2858
- *
2859
- * @example
2860
- * ```typescript
2861
- * XmlElement.escape("Hello & <World>"); // "Hello &amp; &lt;World&gt;"
2862
- * ```
2863
- */
2864
- static escape(text) {
2865
- return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
2866
- }
2867
- /**
2868
- * Unescape XML entities to plain text
2869
- *
2870
- * @param xml - XML text with entities
2871
- * @returns Unescaped text
2872
- *
2873
- * @example
2874
- * ```typescript
2875
- * XmlElement.unescape("Hello &amp; &lt;World&gt;"); // "Hello & <World>"
2876
- * ```
2877
- */
2878
- static unescape(xml) {
2879
- return xml.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
2880
- }
2881
- /**
2882
- * Create a simple XML element
2883
- *
2884
- * @param tagName - The XML tag name
2885
- * @param content - The text content (will be escaped)
2886
- * @param attributes - Optional attributes object
2887
- * @returns XmlElement
2888
- *
2889
- * @example
2890
- * ```typescript
2891
- * const xml = XmlElement.create("Temperature", "25.5", { unit: "C" });
2892
- * // "<Temperature unit=\"C\">25.5</Temperature>"
2893
- * ```
2894
- */
2895
- static create(tagName, content = "", attributes) {
2896
- let attrStr = "";
2897
- if (attributes) {
2898
- attrStr = Object.entries(attributes).map(([key, value]) => ` ${key}="${_XmlElement.escape(value)}"`).join("");
2899
- }
2900
- const escapedContent = _XmlElement.escape(content);
2901
- const xmlString = `<${tagName}${attrStr}>${escapedContent}</${tagName}>`;
2902
- return new _XmlElement(xmlString);
2903
- }
2904
- /**
2905
- * Create an empty XmlElement
2906
- *
2907
- * @returns Empty XmlElement
2908
- */
2909
- static empty() {
2910
- return new _XmlElement("");
2911
- }
2912
- /**
2913
- * Check equality with another XmlElement
2914
- *
2915
- * @param other - The other XmlElement
2916
- * @returns true if both contain the same XML string
2917
- */
2918
- equals(other) {
2919
- return this.content === other.content;
2920
- }
2921
- };
2922
-
2923
2945
  // src/types/primitives.ts
2924
2946
  var uaSbyte = (value) => ({ value, type: 2 /* SByte */ });
2925
2947
  var uaByte = (value) => ({ value, type: 3 /* Byte */ });
@@ -17834,6 +17856,6 @@ var SecureChannelChunkWriter = class extends TransformStream {
17834
17856
  }
17835
17857
  };
17836
17858
 
17837
- export { ActionMethodDataType, ActionStateEnum, ActionTargetDataType, ActivateSessionRequest, ActivateSessionResponse, AddNodesItem, AddNodesRequest, AddNodesResponse, AddNodesResult, AddReferencesItem, AddReferencesRequest, AddReferencesResponse, AdditionalParametersType, AggregateConfiguration, AggregateFilter, AggregateFilterResult, AliasNameDataType, Annotation, AnnotationDataType, AnonymousIdentityToken, ApplicationConfigurationDataType, ApplicationDescription, ApplicationIdentityDataType, ApplicationTypeEnum, Argument, AttributeOperand, AuthorizationServiceConfigurationDataType, AxisInformation, AxisScaleEnumerationEnum, BaseConfigurationDataType, BaseConfigurationRecordDataType, SecureChannelTypeDecoder as BinaryDecoderTransform, SecureChannelTypeEncoder as BinaryEncoderTransform, BinaryReader, BinaryWriter, BitFieldDefinition, BrokerConnectionTransportDataType, BrokerDataSetReaderTransportDataType, BrokerDataSetWriterTransportDataType, BrokerTransportQualityOfServiceEnum, BrokerWriterGroupTransportDataType, BrowseDescription, BrowseDirectionEnum, BrowseNextRequest, BrowseNextResponse, BrowsePath, BrowsePathResult, BrowsePathTarget, BrowseRequest, BrowseResponse, BrowseResult, BrowseResultMaskEnum, BuildInfo, CallMethodRequest, CallMethodResult, CallRequest, CallResponse, CancelRequest, CancelResponse, CartesianCoordinates, CertificateGroupDataType, ChannelSecurityToken, ChassisIdSubtypeEnum, CloseSecureChannelRequest, CloseSecureChannelResponse, CloseSessionRequest, CloseSessionResponse, ComplexNumberType, Configuration, ConfigurationUpdateTargetType, ConfigurationUpdateTypeEnum, ConfigurationVersionDataType, ConnectionTransportDataType, ConsoleSink, ContentFilter, ContentFilterElement, ContentFilterElementResult, ContentFilterResult, ConversionLimitEnumEnum, CreateMonitoredItemsRequest, CreateMonitoredItemsResponse, CreateSessionRequest, CreateSessionResponse, CreateSubscriptionRequest, CreateSubscriptionResponse, CurrencyUnitType, DataChangeFilter, DataChangeNotification, DataChangeTriggerEnum, DataSetMetaDataType, DataSetOrderingTypeEnum, DataSetReaderDataType, DataSetReaderMessageDataType, DataSetReaderTransportDataType, DataSetWriterDataType, DataSetWriterMessageDataType, DataSetWriterTransportDataType, DataTypeAttributes, DataTypeDefinition, DataTypeDescription, DataTypeNode, DataTypeSchemaHeader, DataValue, DatagramConnectionTransport2DataType, DatagramConnectionTransportDataType, DatagramDataSetReaderTransportDataType, DatagramWriterGroupTransport2DataType, DatagramWriterGroupTransportDataType, DeadbandTypeEnum, DecimalDataType, Decoder, DeleteAtTimeDetails, DeleteEventDetails, DeleteMonitoredItemsRequest, DeleteMonitoredItemsResponse, DeleteNodesItem, DeleteNodesRequest, DeleteNodesResponse, DeleteRawModifiedDetails, DeleteReferencesItem, DeleteReferencesRequest, DeleteReferencesResponse, DeleteSubscriptionsRequest, DeleteSubscriptionsResponse, DiagnosticInfo, DiagnosticsLevelEnum, DiscoveryConfiguration, DoubleComplexNumberType, DtlsPubSubConnectionDataType, DuplexEnum, EUInformation, ElementOperand, Encoder, EndpointConfiguration, EndpointDataType, EndpointDescription, EndpointType, EndpointUrlListDataType, EnumDefinition, EnumDescription, EnumField, EnumValueType, EphemeralKeyType, EventFieldList, EventFilter, EventFilterResult, EventNotificationList, ExceptionDeviationFormatEnum, ExpandedNodeId, ExtensionObject, FieldMetaData, FieldTargetDataType, FilterOperand, FilterOperatorEnum, FindServersOnNetworkRequest, FindServersOnNetworkResponse, FindServersRequest, FindServersResponse, Frame, GenericAttributeValue, GenericAttributes, GetEndpointsRequest, GetEndpointsResponse, HistoryData, HistoryEvent, HistoryEventFieldList, HistoryModifiedData, HistoryModifiedEvent, HistoryReadDetails, HistoryReadRequest, HistoryReadResponse, HistoryReadResult, HistoryReadValueId, HistoryUpdateDetails, HistoryUpdateRequest, HistoryUpdateResponse, HistoryUpdateResult, HistoryUpdateTypeEnum, IdTypeEnum, IdentityCriteriaTypeEnum, IdentityMappingRuleType, InstanceNode, InterfaceAdminStatusEnum, InterfaceOperStatusEnum, IssuedIdentityToken, JsonActionMetaDataMessage, JsonActionNetworkMessage, JsonActionRequestMessage, JsonActionResponderMessage, JsonActionResponseMessage, JsonApplicationDescriptionMessage, JsonDataSetMessage, JsonDataSetMetaDataMessage, JsonDataSetReaderMessageDataType, JsonDataSetWriterMessageDataType, JsonNetworkMessage, JsonPubSubConnectionMessage, JsonServerEndpointsMessage, JsonStatusMessage, JsonWriterGroupMessageDataType, KeyValuePair, LinearConversionDataType, LiteralOperand, LldpManagementAddressTxPortType, LldpManagementAddressType, LldpTlvType, LocalizedText, LogRecordsDataType, LoggerFactory, ManAddrIfSubtypeEnum, MdnsDiscoveryConfiguration, MessageSecurityModeEnum, MethodAttributes, MethodNode, ModelChangeStructureDataType, ModelChangeStructureVerbMaskEnum, ModificationInfo, ModifyMonitoredItemsRequest, ModifyMonitoredItemsResponse, ModifySubscriptionRequest, ModifySubscriptionResponse, MonitoredItemCreateRequest, MonitoredItemCreateResult, MonitoredItemModifyRequest, MonitoredItemModifyResult, MonitoredItemNotification, MonitoringFilter, MonitoringFilterResult, MonitoringModeEnum, MonitoringParameters, NameValuePair, NamingRuleTypeEnum, NegotiationStatusEnum, NetworkAddressDataType, NetworkAddressUrlDataType, NetworkGroupDataType, Node, NodeAttributes, NodeAttributesMaskEnum, NodeClassEnum, NodeId, NodeIdType, NodeReference, NodeTypeDescription, NotificationData, NotificationMessage, ObjectAttributes, ObjectNode, ObjectTypeAttributes, ObjectTypeNode, OpenFileModeEnum, OpenSecureChannelRequest, OpenSecureChannelResponse, OptionSet, Orientation, OverrideValueHandlingEnum, ParsingResult, PerformUpdateTypeEnum, PortIdSubtypeEnum, PortableNodeId, PortableQualifiedName, PriorityMappingEntryType, ProgramDiagnostic2DataType, ProgramDiagnosticDataType, PubSubConfiguration2DataType, PubSubConfigurationDataType, PubSubConfigurationRefDataType, PubSubConfigurationValueDataType, PubSubConnectionDataType, PubSubDiagnosticsCounterClassificationEnum, PubSubGroupDataType, PubSubKeyPushTargetDataType, PubSubStateEnum, PublishRequest, PublishResponse, PublishedActionDataType, PublishedActionMethodDataType, PublishedDataItemsDataType, PublishedDataSetCustomSourceDataType, PublishedDataSetDataType, PublishedDataSetSourceDataType, PublishedEventsDataType, PublishedVariableDataType, QosDataType, QualifiedName, QuantityDimension, QueryDataDescription, QueryDataSet, QueryFirstRequest, QueryFirstResponse, QueryNextRequest, QueryNextResponse, Range, RationalNumber, ReadAnnotationDataDetails, ReadAtTimeDetails, ReadEventDetails, ReadEventDetails2, ReadEventDetailsSorted, ReadProcessedDetails, ReadRawModifiedDetails, ReadRequest, ReadResponse, ReadValueId, ReaderGroupDataType, ReaderGroupMessageDataType, ReaderGroupTransportDataType, ReceiveQosDataType, ReceiveQosPriorityDataType, RedundancySupportEnum, RedundantServerDataType, RedundantServerModeEnum, ReferenceDescription, ReferenceDescriptionDataType, ReferenceListEntryDataType, ReferenceNode, ReferenceTypeAttributes, ReferenceTypeNode, RegisterNodesRequest, RegisterNodesResponse, RegisterServer2Request, RegisterServer2Response, RegisterServerRequest, RegisterServerResponse, RegisteredServer, RelativePath, RelativePathElement, RepublishRequest, RepublishResponse, RequestHeader, ResponseHeader, RolePermissionType, SamplingIntervalDiagnosticsDataType, SecureChannelChunkReader, SecureChannelChunkWriter, SecureChannelContext, SecureChannelFacade, SecureChannelMessageDecoder, SecureChannelMesssageEncoder, SecureChannelTypeDecoder, SecureChannelTypeEncoder, SecurityGroupDataType, SecuritySettingsDataType, SecurityTokenRequestTypeEnum, SemanticChangeStructureDataType, ServerDiagnosticsSummaryDataType, ServerEndpointDataType, ServerOnNetwork, ServerStateEnum, ServerStatusDataType, ServiceCertificateDataType, ServiceCounterDataType, ServiceFault, SessionDiagnosticsDataType, SessionSecurityDiagnosticsDataType, SessionlessInvokeRequestType, SessionlessInvokeResponseType, SetMonitoringModeRequest, SetMonitoringModeResponse, SetPublishingModeRequest, SetPublishingModeResponse, SetTriggeringRequest, SetTriggeringResponse, SignatureData, SignedSoftwareCertificate, SimpleAttributeOperand, SimpleTypeDescription, SortOrderTypeEnum, SortRuleElement, SpanContextDataType, StandaloneSubscribedDataSetDataType, StandaloneSubscribedDataSetRefDataType, StatusChangeNotification, StatusCode, StatusCodeGetFlagBits, StatusCodeToString, StatusCodeToStringNumber, StatusResult, Structure, StructureDefinition, StructureDescription, StructureField, StructureTypeEnum, SubscribedDataSetDataType, SubscribedDataSetMirrorDataType, SubscriptionAcknowledgement, SubscriptionDiagnosticsDataType, TargetVariablesDataType, TcpConnectionHandler, TcpMessageDecoupler, TcpMessageInjector, TimeZoneDataType, TimestampsToReturnEnum, TraceContextDataType, TransactionErrorType, TransferResult, TransferSubscriptionsRequest, TransferSubscriptionsResponse, TranslateBrowsePathsToNodeIdsRequest, TranslateBrowsePathsToNodeIdsResponse, TransmitQosDataType, TransmitQosPriorityDataType, TrustListDataType, TrustListMasksEnum, TsnFailureCodeEnum, TsnListenerStatusEnum, TsnStreamStateEnum, TsnTalkerStatusEnum, TypeNode, UABinaryFileDataType, UadpDataSetReaderMessageDataType, UadpDataSetWriterMessageDataType, UadpWriterGroupMessageDataType, Union, UnregisterNodesRequest, UnregisterNodesResponse, UnsignedRationalNumber, UpdateDataDetails, UpdateEventDetails, UpdateStructureDataDetails, UserIdentityToken, UserManagementDataType, UserNameIdentityToken, UserTokenPolicy, UserTokenSettingsDataType, UserTokenTypeEnum, VariableAttributes, VariableNode, VariableTypeAttributes, VariableTypeNode, Variant, Vector, ViewAttributes, ViewDescription, ViewNode, WebSocketFascade, WebSocketReadableStream, WebSocketWritableStream, WriteRequest, WriteResponse, WriteValue, WriterGroupDataType, WriterGroupMessageDataType, WriterGroupTransportDataType, X509IdentityToken, XVType, XmlElement, _3DCartesianCoordinates, _3DFrame, _3DOrientation, _3DVector, getLogger, initLoggerProvider, registerBinaryDecoders, registerEncoders, registerJsonDecoders, registerTypeDecoders, registerXmlDecoders, uaByte, uaDouble, uaFloat, uaGuid, uaInt16, uaInt32, uaInt64, uaSbyte, uaUint16, uaUint32, uaUint64 };
17859
+ export { ActionMethodDataType, ActionStateEnum, ActionTargetDataType, ActivateSessionRequest, ActivateSessionResponse, AddNodesItem, AddNodesRequest, AddNodesResponse, AddNodesResult, AddReferencesItem, AddReferencesRequest, AddReferencesResponse, AdditionalParametersType, AggregateConfiguration, AggregateFilter, AggregateFilterResult, AliasNameDataType, Annotation, AnnotationDataType, AnonymousIdentityToken, ApplicationConfigurationDataType, ApplicationDescription, ApplicationIdentityDataType, ApplicationTypeEnum, Argument, AttributeOperand, AuthorizationServiceConfigurationDataType, AxisInformation, AxisScaleEnumerationEnum, BaseConfigurationDataType, BaseConfigurationRecordDataType, SecureChannelTypeDecoder as BinaryDecoderTransform, SecureChannelTypeEncoder as BinaryEncoderTransform, BinaryReader, BinaryWriter, BitFieldDefinition, BrokerConnectionTransportDataType, BrokerDataSetReaderTransportDataType, BrokerDataSetWriterTransportDataType, BrokerTransportQualityOfServiceEnum, BrokerWriterGroupTransportDataType, BrowseDescription, BrowseDirectionEnum, BrowseNextRequest, BrowseNextResponse, BrowsePath, BrowsePathResult, BrowsePathTarget, BrowseRequest, BrowseResponse, BrowseResult, BrowseResultMaskEnum, BuildInfo, CallMethodRequest, CallMethodResult, CallRequest, CallResponse, CancelRequest, CancelResponse, CartesianCoordinates, CertificateGroupDataType, ChannelSecurityToken, ChassisIdSubtypeEnum, CloseSecureChannelRequest, CloseSecureChannelResponse, CloseSessionRequest, CloseSessionResponse, ComplexNumberType, Configuration, ConfigurationUpdateTargetType, ConfigurationUpdateTypeEnum, ConfigurationVersionDataType, ConnectionTransportDataType, ConsoleSink, ContentFilter, ContentFilterElement, ContentFilterElementResult, ContentFilterResult, ConversionLimitEnumEnum, CreateMonitoredItemsRequest, CreateMonitoredItemsResponse, CreateSessionRequest, CreateSessionResponse, CreateSubscriptionRequest, CreateSubscriptionResponse, CurrencyUnitType, DataChangeFilter, DataChangeNotification, DataChangeTriggerEnum, DataSetMetaDataType, DataSetOrderingTypeEnum, DataSetReaderDataType, DataSetReaderMessageDataType, DataSetReaderTransportDataType, DataSetWriterDataType, DataSetWriterMessageDataType, DataSetWriterTransportDataType, DataTypeAttributes, DataTypeDefinition, DataTypeDescription, DataTypeNode, DataTypeSchemaHeader, DataValue, DatagramConnectionTransport2DataType, DatagramConnectionTransportDataType, DatagramDataSetReaderTransportDataType, DatagramWriterGroupTransport2DataType, DatagramWriterGroupTransportDataType, DeadbandTypeEnum, DecimalDataType, Decoder, DeleteAtTimeDetails, DeleteEventDetails, DeleteMonitoredItemsRequest, DeleteMonitoredItemsResponse, DeleteNodesItem, DeleteNodesRequest, DeleteNodesResponse, DeleteRawModifiedDetails, DeleteReferencesItem, DeleteReferencesRequest, DeleteReferencesResponse, DeleteSubscriptionsRequest, DeleteSubscriptionsResponse, DiagnosticInfo, DiagnosticsLevelEnum, DiscoveryConfiguration, DoubleComplexNumberType, DtlsPubSubConnectionDataType, DuplexEnum, EUInformation, ElementOperand, Encoder, EndpointConfiguration, EndpointDataType, EndpointDescription, EndpointType, EndpointUrlListDataType, EnumDefinition, EnumDescription, EnumField, EnumValueType, EphemeralKeyType, EventFieldList, EventFilter, EventFilterResult, EventNotificationList, ExceptionDeviationFormatEnum, ExpandedNodeId, ExtensionObject, FieldMetaData, FieldTargetDataType, FilterOperand, FilterOperatorEnum, FindServersOnNetworkRequest, FindServersOnNetworkResponse, FindServersRequest, FindServersResponse, Frame, GenericAttributeValue, GenericAttributes, GetEndpointsRequest, GetEndpointsResponse, HistoryData, HistoryEvent, HistoryEventFieldList, HistoryModifiedData, HistoryModifiedEvent, HistoryReadDetails, HistoryReadRequest, HistoryReadResponse, HistoryReadResult, HistoryReadValueId, HistoryUpdateDetails, HistoryUpdateRequest, HistoryUpdateResponse, HistoryUpdateResult, HistoryUpdateTypeEnum, IdTypeEnum, IdentityCriteriaTypeEnum, IdentityMappingRuleType, InstanceNode, InterfaceAdminStatusEnum, InterfaceOperStatusEnum, IssuedIdentityToken, JsonActionMetaDataMessage, JsonActionNetworkMessage, JsonActionRequestMessage, JsonActionResponderMessage, JsonActionResponseMessage, JsonApplicationDescriptionMessage, JsonDataSetMessage, JsonDataSetMetaDataMessage, JsonDataSetReaderMessageDataType, JsonDataSetWriterMessageDataType, JsonNetworkMessage, JsonPubSubConnectionMessage, JsonServerEndpointsMessage, JsonStatusMessage, JsonWriterGroupMessageDataType, KeyValuePair, LinearConversionDataType, LiteralOperand, LldpManagementAddressTxPortType, LldpManagementAddressType, LldpTlvType, LocalizedText, LogRecordsDataType, LoggerFactory, ManAddrIfSubtypeEnum, MdnsDiscoveryConfiguration, MessageSecurityModeEnum, MethodAttributes, MethodNode, ModelChangeStructureDataType, ModelChangeStructureVerbMaskEnum, ModificationInfo, ModifyMonitoredItemsRequest, ModifyMonitoredItemsResponse, ModifySubscriptionRequest, ModifySubscriptionResponse, MonitoredItemCreateRequest, MonitoredItemCreateResult, MonitoredItemModifyRequest, MonitoredItemModifyResult, MonitoredItemNotification, MonitoringFilter, MonitoringFilterResult, MonitoringModeEnum, MonitoringParameters, NameValuePair, NamingRuleTypeEnum, NegotiationStatusEnum, NetworkAddressDataType, NetworkAddressUrlDataType, NetworkGroupDataType, Node, NodeAttributes, NodeAttributesMaskEnum, NodeClassEnum, NodeId, NodeIdType, NodeReference, NodeTypeDescription, NotificationData, NotificationMessage, ObjectAttributes, ObjectNode, ObjectTypeAttributes, ObjectTypeNode, OpenFileModeEnum, OpenSecureChannelRequest, OpenSecureChannelResponse, OptionSet, Orientation, OverrideValueHandlingEnum, ParsingResult, PerformUpdateTypeEnum, PortIdSubtypeEnum, PortableNodeId, PortableQualifiedName, PriorityMappingEntryType, ProgramDiagnostic2DataType, ProgramDiagnosticDataType, PubSubConfiguration2DataType, PubSubConfigurationDataType, PubSubConfigurationRefDataType, PubSubConfigurationValueDataType, PubSubConnectionDataType, PubSubDiagnosticsCounterClassificationEnum, PubSubGroupDataType, PubSubKeyPushTargetDataType, PubSubStateEnum, PublishRequest, PublishResponse, PublishedActionDataType, PublishedActionMethodDataType, PublishedDataItemsDataType, PublishedDataSetCustomSourceDataType, PublishedDataSetDataType, PublishedDataSetSourceDataType, PublishedEventsDataType, PublishedVariableDataType, QosDataType, QualifiedName, QuantityDimension, QueryDataDescription, QueryDataSet, QueryFirstRequest, QueryFirstResponse, QueryNextRequest, QueryNextResponse, Range, RationalNumber, ReadAnnotationDataDetails, ReadAtTimeDetails, ReadEventDetails, ReadEventDetails2, ReadEventDetailsSorted, ReadProcessedDetails, ReadRawModifiedDetails, ReadRequest, ReadResponse, ReadValueId, ReaderGroupDataType, ReaderGroupMessageDataType, ReaderGroupTransportDataType, ReceiveQosDataType, ReceiveQosPriorityDataType, RedundancySupportEnum, RedundantServerDataType, RedundantServerModeEnum, ReferenceDescription, ReferenceDescriptionDataType, ReferenceListEntryDataType, ReferenceNode, ReferenceTypeAttributes, ReferenceTypeNode, RegisterNodesRequest, RegisterNodesResponse, RegisterServer2Request, RegisterServer2Response, RegisterServerRequest, RegisterServerResponse, RegisteredServer, RelativePath, RelativePathElement, RepublishRequest, RepublishResponse, RequestHeader, ResponseHeader, RolePermissionType, SamplingIntervalDiagnosticsDataType, SecureChannelChunkReader, SecureChannelChunkWriter, SecureChannelContext, SecureChannelFacade, SecureChannelMessageDecoder, SecureChannelMesssageEncoder, SecureChannelTypeDecoder, SecureChannelTypeEncoder, SecurityGroupDataType, SecuritySettingsDataType, SecurityTokenRequestTypeEnum, SemanticChangeStructureDataType, ServerDiagnosticsSummaryDataType, ServerEndpointDataType, ServerOnNetwork, ServerStateEnum, ServerStatusDataType, ServiceCertificateDataType, ServiceCounterDataType, ServiceFault, SessionDiagnosticsDataType, SessionSecurityDiagnosticsDataType, SessionlessInvokeRequestType, SessionlessInvokeResponseType, SetMonitoringModeRequest, SetMonitoringModeResponse, SetPublishingModeRequest, SetPublishingModeResponse, SetTriggeringRequest, SetTriggeringResponse, SignatureData, SignedSoftwareCertificate, SimpleAttributeOperand, SimpleTypeDescription, SortOrderTypeEnum, SortRuleElement, SpanContextDataType, StandaloneSubscribedDataSetDataType, StandaloneSubscribedDataSetRefDataType, StatusChangeNotification, StatusCode, StatusCodeGetFlagBits, StatusCodeIs, StatusCodeToString, StatusCodeToStringNumber, StatusResult, Structure, StructureDefinition, StructureDescription, StructureField, StructureTypeEnum, SubscribedDataSetDataType, SubscribedDataSetMirrorDataType, SubscriptionAcknowledgement, SubscriptionDiagnosticsDataType, TargetVariablesDataType, TcpConnectionHandler, TcpMessageDecoupler, TcpMessageInjector, TimeZoneDataType, TimestampsToReturnEnum, TraceContextDataType, TransactionErrorType, TransferResult, TransferSubscriptionsRequest, TransferSubscriptionsResponse, TranslateBrowsePathsToNodeIdsRequest, TranslateBrowsePathsToNodeIdsResponse, TransmitQosDataType, TransmitQosPriorityDataType, TrustListDataType, TrustListMasksEnum, TsnFailureCodeEnum, TsnListenerStatusEnum, TsnStreamStateEnum, TsnTalkerStatusEnum, TypeNode, UABinaryFileDataType, UadpDataSetReaderMessageDataType, UadpDataSetWriterMessageDataType, UadpWriterGroupMessageDataType, Union, UnregisterNodesRequest, UnregisterNodesResponse, UnsignedRationalNumber, UpdateDataDetails, UpdateEventDetails, UpdateStructureDataDetails, UserIdentityToken, UserManagementDataType, UserNameIdentityToken, UserTokenPolicy, UserTokenSettingsDataType, UserTokenTypeEnum, VariableAttributes, VariableNode, VariableTypeAttributes, VariableTypeNode, Variant, Vector, ViewAttributes, ViewDescription, ViewNode, WebSocketFascade, WebSocketReadableStream, WebSocketWritableStream, WriteRequest, WriteResponse, WriteValue, WriterGroupDataType, WriterGroupMessageDataType, WriterGroupTransportDataType, X509IdentityToken, XVType, XmlElement, _3DCartesianCoordinates, _3DFrame, _3DOrientation, _3DVector, getLogger, initLoggerProvider, registerBinaryDecoders, registerEncoders, registerJsonDecoders, registerTypeDecoders, registerXmlDecoders, uaByte, uaDouble, uaFloat, uaGuid, uaInt16, uaInt32, uaInt64, uaSbyte, uaUint16, uaUint32, uaUint64 };
17838
17860
  //# sourceMappingURL=index.js.map
17839
17861
  //# sourceMappingURL=index.js.map