opcjs-base 0.1.5 → 0.1.9

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
@@ -1819,220 +1819,6 @@ var BinaryReader = class _BinaryReader {
1819
1819
  }
1820
1820
  };
1821
1821
 
1822
- // src/types/xmlElement.ts
1823
- var XmlElement = class _XmlElement {
1824
- /**
1825
- * The XML string content
1826
- */
1827
- content;
1828
- /**
1829
- * Create a new XmlElement
1830
- *
1831
- * @param content - The XML string content
1832
- */
1833
- constructor(content = "") {
1834
- this.content = content;
1835
- }
1836
- /**
1837
- * Get the XML string content
1838
- *
1839
- * @returns The XML string
1840
- */
1841
- toString() {
1842
- return this.content;
1843
- }
1844
- /**
1845
- * Get the length of the XML string
1846
- *
1847
- * @returns The number of characters
1848
- */
1849
- get length() {
1850
- return this.content.length;
1851
- }
1852
- /**
1853
- * Validate if this XmlElement contains valid XML
1854
- *
1855
- * Note: This is a simple check, not a full XML validator.
1856
- * For production use, consider using a proper XML parser.
1857
- *
1858
- * @returns true if the string appears to be valid XML
1859
- *
1860
- * @example
1861
- * ```typescript
1862
- * const xml = new XmlElement("<root></root>");
1863
- * xml.isValid(); // true
1864
- * ```
1865
- */
1866
- isValid() {
1867
- if (this.content.length === 0) {
1868
- return false;
1869
- }
1870
- const trimmed = this.content.trim();
1871
- if (!trimmed.startsWith("<") || !trimmed.endsWith(">")) {
1872
- return false;
1873
- }
1874
- try {
1875
- if (typeof globalThis !== "undefined" && "DOMParser" in globalThis) {
1876
- const DOMParserConstructor = globalThis.DOMParser;
1877
- const parser = new DOMParserConstructor();
1878
- const doc = parser.parseFromString(this.content, "text/xml");
1879
- const parserError = doc.querySelector("parsererror");
1880
- return parserError === null;
1881
- }
1882
- } catch {
1883
- }
1884
- return _XmlElement.checkBasicXmlStructure(trimmed);
1885
- }
1886
- /**
1887
- * Basic XML structure validation (for Node.js environment)
1888
- * Checks for matching opening and closing tags
1889
- */
1890
- static checkBasicXmlStructure(xml) {
1891
- const tagStack = [];
1892
- const tagRegex = /<\/?([a-zA-Z][\w:-]*)[^>]*>/g;
1893
- let match;
1894
- while ((match = tagRegex.exec(xml)) !== null) {
1895
- const fullTag = match[0];
1896
- const tagName = match[1];
1897
- if (fullTag.startsWith("</")) {
1898
- if (tagStack.length === 0 || tagStack.pop() !== tagName) {
1899
- return false;
1900
- }
1901
- } else if (!fullTag.endsWith("/>")) {
1902
- tagStack.push(tagName);
1903
- }
1904
- }
1905
- return tagStack.length === 0;
1906
- }
1907
- /**
1908
- * Escape special XML characters in text content
1909
- *
1910
- * @param text - Text to escape
1911
- * @returns Escaped text safe for use in XML
1912
- *
1913
- * @example
1914
- * ```typescript
1915
- * XmlElement.escape("Hello & <World>"); // "Hello &amp; &lt;World&gt;"
1916
- * ```
1917
- */
1918
- static escape(text) {
1919
- return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
1920
- }
1921
- /**
1922
- * Unescape XML entities to plain text
1923
- *
1924
- * @param xml - XML text with entities
1925
- * @returns Unescaped text
1926
- *
1927
- * @example
1928
- * ```typescript
1929
- * XmlElement.unescape("Hello &amp; &lt;World&gt;"); // "Hello & <World>"
1930
- * ```
1931
- */
1932
- static unescape(xml) {
1933
- return xml.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
1934
- }
1935
- /**
1936
- * Create a simple XML element
1937
- *
1938
- * @param tagName - The XML tag name
1939
- * @param content - The text content (will be escaped)
1940
- * @param attributes - Optional attributes object
1941
- * @returns XmlElement
1942
- *
1943
- * @example
1944
- * ```typescript
1945
- * const xml = XmlElement.create("Temperature", "25.5", { unit: "C" });
1946
- * // "<Temperature unit=\"C\">25.5</Temperature>"
1947
- * ```
1948
- */
1949
- static create(tagName, content = "", attributes) {
1950
- let attrStr = "";
1951
- if (attributes) {
1952
- attrStr = Object.entries(attributes).map(([key, value]) => ` ${key}="${_XmlElement.escape(value)}"`).join("");
1953
- }
1954
- const escapedContent = _XmlElement.escape(content);
1955
- const xmlString = `<${tagName}${attrStr}>${escapedContent}</${tagName}>`;
1956
- return new _XmlElement(xmlString);
1957
- }
1958
- /**
1959
- * Create an empty XmlElement
1960
- *
1961
- * @returns Empty XmlElement
1962
- */
1963
- static empty() {
1964
- return new _XmlElement("");
1965
- }
1966
- /**
1967
- * Check equality with another XmlElement
1968
- *
1969
- * @param other - The other XmlElement
1970
- * @returns true if both contain the same XML string
1971
- */
1972
- equals(other) {
1973
- return this.content === other.content;
1974
- }
1975
- };
1976
-
1977
- // src/types/primitives.ts
1978
- var BuiltinTypeId = {
1979
- Boolean: 1,
1980
- SByte: 2,
1981
- Byte: 3,
1982
- Int16: 4,
1983
- UInt16: 5,
1984
- Int32: 6,
1985
- UInt32: 7,
1986
- Int64: 8,
1987
- UInt64: 9,
1988
- Float: 10,
1989
- Double: 11,
1990
- String: 12,
1991
- DateTime: 13,
1992
- Guid: 14,
1993
- ByteString: 15,
1994
- XmlElement: 16,
1995
- NodeId: 17,
1996
- ExpandedNodeId: 18,
1997
- StatusCode: 19,
1998
- QualifiedName: 20,
1999
- LocalizedText: 21,
2000
- ExtensionObject: 22,
2001
- DataValue: 23,
2002
- Variant: 24,
2003
- DiagnosticInfo: 25
2004
- };
2005
- function getPrimitiveTypeName(typeId) {
2006
- const primitiveMap = {
2007
- [BuiltinTypeId.Boolean]: "boolean",
2008
- [BuiltinTypeId.SByte]: "number",
2009
- [BuiltinTypeId.Byte]: "number",
2010
- [BuiltinTypeId.Int16]: "number",
2011
- [BuiltinTypeId.UInt16]: "number",
2012
- [BuiltinTypeId.Int32]: "number",
2013
- [BuiltinTypeId.UInt32]: "number",
2014
- [BuiltinTypeId.Int64]: "bigint",
2015
- [BuiltinTypeId.UInt64]: "bigint",
2016
- [BuiltinTypeId.Float]: "number",
2017
- [BuiltinTypeId.ByteString]: "Uint8Array | null",
2018
- [BuiltinTypeId.Double]: "number",
2019
- [BuiltinTypeId.String]: "string | null",
2020
- [BuiltinTypeId.DateTime]: "Date",
2021
- [BuiltinTypeId.Guid]: "string"
2022
- };
2023
- return primitiveMap[typeId];
2024
- }
2025
- function isPrimitive(typeId) {
2026
- return getPrimitiveTypeName(typeId) !== void 0;
2027
- }
2028
-
2029
- // src/certificates/certificate.ts
2030
- var Certificate = class {
2031
- getBytes() {
2032
- throw new Error("Method not implemented.");
2033
- }
2034
- };
2035
-
2036
1822
  // src/codecs/binary/binaryWriter.ts
2037
1823
  var EPOCH_DIFF_MS2 = 11644473600000n;
2038
1824
  var TICKS_PER_MS2 = 10000n;
@@ -2091,7 +1877,9 @@ var VariantMask2 = {
2091
1877
  };
2092
1878
  var BinaryWriter = class {
2093
1879
  buffer;
1880
+ view;
2094
1881
  position;
1882
+ growthFactor = 2;
2095
1883
  getData() {
2096
1884
  return this.buffer.subarray(0, this.position);
2097
1885
  }
@@ -2135,23 +1923,25 @@ var BinaryWriter = class {
2135
1923
  if (!Number.isInteger(value) || value < 0 || value > 4294967295) {
2136
1924
  throw new CodecError(`UInt32 value ${value} out of range [0, 4294967295]`);
2137
1925
  }
2138
- this.buffer.writeUInt32LE(value, offset);
1926
+ this.view.setUint32(offset, value, true);
2139
1927
  }
2140
1928
  /**
2141
1929
  * Ensure buffer has enough capacity, growing if necessary.
2142
1930
  */
2143
1931
  ensureCapacity(additionalBytes) {
2144
- const required = this.position + additionalBytes;
2145
- if (required > this.buffer.length) {
2146
- const newSize = Math.max(required, this.buffer.length * 2);
2147
- const newBuffer = Buffer.allocUnsafe(newSize);
2148
- this.buffer.copy(newBuffer, 0, 0, this.position);
1932
+ const requiredSize = this.position + additionalBytes;
1933
+ if (requiredSize > this.buffer.length) {
1934
+ const newSize = Math.max(this.buffer.length * this.growthFactor, requiredSize);
1935
+ const newBuffer = new Uint8Array(newSize);
1936
+ newBuffer.set(this.buffer.subarray(0, this.position), 0);
2149
1937
  this.buffer = newBuffer;
1938
+ this.view = new DataView(newBuffer.buffer, newBuffer.byteOffset, newBuffer.byteLength);
1939
+ console.log(`BufferWriter: resized buffer to ${newSize} bytes`);
2150
1940
  }
2151
1941
  }
2152
1942
  writeBoolean(value) {
2153
1943
  this.ensureCapacity(1);
2154
- this.buffer.writeUInt8(value ? 1 : 0, this.position);
1944
+ this.view.setUint8(this.position, value ? 1 : 0);
2155
1945
  this.position += 1;
2156
1946
  }
2157
1947
  writeByte(value) {
@@ -2159,7 +1949,7 @@ var BinaryWriter = class {
2159
1949
  throw new CodecError(`Byte value ${value} out of range [0, 255]`);
2160
1950
  }
2161
1951
  this.ensureCapacity(1);
2162
- this.buffer.writeUInt8(value, this.position);
1952
+ this.view.setUint8(this.position, value);
2163
1953
  this.position += 1;
2164
1954
  }
2165
1955
  writeSByte(value) {
@@ -2167,7 +1957,7 @@ var BinaryWriter = class {
2167
1957
  throw new CodecError(`SByte value ${value} out of range [-128, 127]`);
2168
1958
  }
2169
1959
  this.ensureCapacity(1);
2170
- this.buffer.writeInt8(value, this.position);
1960
+ this.view.setInt8(this.position, value);
2171
1961
  this.position += 1;
2172
1962
  }
2173
1963
  writeInt16(value) {
@@ -2175,7 +1965,7 @@ var BinaryWriter = class {
2175
1965
  throw new CodecError(`Int16 value ${value} out of range [-32768, 32767]`);
2176
1966
  }
2177
1967
  this.ensureCapacity(2);
2178
- this.buffer.writeInt16LE(value, this.position);
1968
+ this.view.setInt16(this.position, value, true);
2179
1969
  this.position += 2;
2180
1970
  }
2181
1971
  writeUInt16(value) {
@@ -2183,7 +1973,7 @@ var BinaryWriter = class {
2183
1973
  throw new CodecError(`UInt16 value ${value} out of range [0, 65535]`);
2184
1974
  }
2185
1975
  this.ensureCapacity(2);
2186
- this.buffer.writeUInt16LE(value, this.position);
1976
+ this.view.setUint16(this.position, value, true);
2187
1977
  this.position += 2;
2188
1978
  }
2189
1979
  writeInt32(value) {
@@ -2191,7 +1981,7 @@ var BinaryWriter = class {
2191
1981
  throw new CodecError(`Int32 value ${value} out of range [-2147483648, 2147483647]`);
2192
1982
  }
2193
1983
  this.ensureCapacity(4);
2194
- this.buffer.writeInt32LE(value, this.position);
1984
+ this.view.setInt32(this.position, value, true);
2195
1985
  this.position += 4;
2196
1986
  }
2197
1987
  writeUInt32(value) {
@@ -2199,27 +1989,27 @@ var BinaryWriter = class {
2199
1989
  throw new CodecError(`UInt32 value ${value} out of range [0, 4294967295]`);
2200
1990
  }
2201
1991
  this.ensureCapacity(4);
2202
- this.buffer.writeUInt32LE(value, this.position);
1992
+ this.view.setUint32(this.position, value, true);
2203
1993
  this.position += 4;
2204
1994
  }
2205
1995
  writeInt64(value) {
2206
1996
  this.ensureCapacity(8);
2207
- this.buffer.writeBigInt64LE(value, this.position);
1997
+ this.view.setBigInt64(this.position, value, true);
2208
1998
  this.position += 8;
2209
1999
  }
2210
2000
  writeUInt64(value) {
2211
2001
  this.ensureCapacity(8);
2212
- this.buffer.writeBigUInt64LE(value, this.position);
2002
+ this.view.setBigUint64(this.position, value, true);
2213
2003
  this.position += 8;
2214
2004
  }
2215
2005
  writeFloat(value) {
2216
2006
  this.ensureCapacity(4);
2217
- this.buffer.writeFloatLE(value, this.position);
2007
+ this.view.setFloat32(this.position, value, true);
2218
2008
  this.position += 4;
2219
2009
  }
2220
2010
  writeDouble(value) {
2221
2011
  this.ensureCapacity(8);
2222
- this.buffer.writeDoubleLE(value, this.position);
2012
+ this.view.setFloat64(this.position, value, true);
2223
2013
  this.position += 8;
2224
2014
  }
2225
2015
  writeString(value) {
@@ -2252,14 +2042,14 @@ var BinaryWriter = class {
2252
2042
  }
2253
2043
  this.ensureCapacity(16);
2254
2044
  const data1 = parseInt(hex.substr(0, 8), 16);
2255
- this.buffer.writeUInt32LE(data1, this.position);
2045
+ this.view.setUint32(this.position, data1, true);
2256
2046
  const data2 = parseInt(hex.substr(8, 4), 16);
2257
- this.buffer.writeUInt16LE(data2, this.position + 4);
2047
+ this.view.setUint16(this.position + 4, data2, true);
2258
2048
  const data3 = parseInt(hex.substr(12, 4), 16);
2259
- this.buffer.writeUInt16LE(data3, this.position + 6);
2049
+ this.view.setUint16(this.position + 6, data3, true);
2260
2050
  for (let i = 0; i < 8; i++) {
2261
2051
  const byte = parseInt(hex.substr(16 + i * 2, 2), 16);
2262
- this.buffer.writeUInt8(byte, this.position + 8 + i);
2052
+ this.view.setUint8(this.position + 8 + i, byte);
2263
2053
  }
2264
2054
  this.position += 16;
2265
2055
  }
@@ -2430,20 +2220,22 @@ var BinaryWriter = class {
2430
2220
  switch (value.encoding) {
2431
2221
  case 0 /* None */:
2432
2222
  break;
2433
- case 1 /* Binary */:
2223
+ case 1 /* Binary */: {
2434
2224
  if (!value.data) {
2435
2225
  throw new CodecError("ExtensionObject with Binary encoding must have data");
2436
2226
  }
2437
2227
  const binaryData = encoder.encodeWithoutId(value.data, "binary");
2438
2228
  this.writeByteString(binaryData);
2439
2229
  break;
2440
- case 2 /* Xml */:
2230
+ }
2231
+ case 2 /* Xml */: {
2441
2232
  if (!value.data) {
2442
2233
  throw new CodecError("ExtensionObject with Xml encoding must have data");
2443
2234
  }
2444
2235
  const xmlString = encoder.encodeWithoutId(value.data, "xml");
2445
2236
  this.writeXmlElement(xmlString);
2446
2237
  break;
2238
+ }
2447
2239
  default:
2448
2240
  throw new CodecError(`Invalid ExtensionObject encoding: ${value.encoding}`);
2449
2241
  }
@@ -2661,11 +2453,227 @@ var BinaryWriter = class {
2661
2453
  }
2662
2454
  }
2663
2455
  constructor(initialSize = 1024) {
2664
- this.buffer = Buffer.allocUnsafe(initialSize);
2456
+ const data = Buffer.allocUnsafe(initialSize);
2457
+ this.buffer = data;
2458
+ this.view = new DataView(data.buffer, data.byteOffset, data.byteLength);
2665
2459
  this.position = 0;
2666
2460
  }
2667
2461
  };
2668
2462
 
2463
+ // src/types/xmlElement.ts
2464
+ var XmlElement = class _XmlElement {
2465
+ /**
2466
+ * The XML string content
2467
+ */
2468
+ content;
2469
+ /**
2470
+ * Create a new XmlElement
2471
+ *
2472
+ * @param content - The XML string content
2473
+ */
2474
+ constructor(content = "") {
2475
+ this.content = content;
2476
+ }
2477
+ /**
2478
+ * Get the XML string content
2479
+ *
2480
+ * @returns The XML string
2481
+ */
2482
+ toString() {
2483
+ return this.content;
2484
+ }
2485
+ /**
2486
+ * Get the length of the XML string
2487
+ *
2488
+ * @returns The number of characters
2489
+ */
2490
+ get length() {
2491
+ return this.content.length;
2492
+ }
2493
+ /**
2494
+ * Validate if this XmlElement contains valid XML
2495
+ *
2496
+ * Note: This is a simple check, not a full XML validator.
2497
+ * For production use, consider using a proper XML parser.
2498
+ *
2499
+ * @returns true if the string appears to be valid XML
2500
+ *
2501
+ * @example
2502
+ * ```typescript
2503
+ * const xml = new XmlElement("<root></root>");
2504
+ * xml.isValid(); // true
2505
+ * ```
2506
+ */
2507
+ isValid() {
2508
+ if (this.content.length === 0) {
2509
+ return false;
2510
+ }
2511
+ const trimmed = this.content.trim();
2512
+ if (!trimmed.startsWith("<") || !trimmed.endsWith(">")) {
2513
+ return false;
2514
+ }
2515
+ try {
2516
+ if (typeof globalThis !== "undefined" && "DOMParser" in globalThis) {
2517
+ const DOMParserConstructor = globalThis.DOMParser;
2518
+ const parser = new DOMParserConstructor();
2519
+ const doc = parser.parseFromString(this.content, "text/xml");
2520
+ const parserError = doc.querySelector("parsererror");
2521
+ return parserError === null;
2522
+ }
2523
+ } catch {
2524
+ }
2525
+ return _XmlElement.checkBasicXmlStructure(trimmed);
2526
+ }
2527
+ /**
2528
+ * Basic XML structure validation (for Node.js environment)
2529
+ * Checks for matching opening and closing tags
2530
+ */
2531
+ static checkBasicXmlStructure(xml) {
2532
+ const tagStack = [];
2533
+ const tagRegex = /<\/?([a-zA-Z][\w:-]*)[^>]*>/g;
2534
+ let match;
2535
+ while ((match = tagRegex.exec(xml)) !== null) {
2536
+ const fullTag = match[0];
2537
+ const tagName = match[1];
2538
+ if (fullTag.startsWith("</")) {
2539
+ if (tagStack.length === 0 || tagStack.pop() !== tagName) {
2540
+ return false;
2541
+ }
2542
+ } else if (!fullTag.endsWith("/>")) {
2543
+ tagStack.push(tagName);
2544
+ }
2545
+ }
2546
+ return tagStack.length === 0;
2547
+ }
2548
+ /**
2549
+ * Escape special XML characters in text content
2550
+ *
2551
+ * @param text - Text to escape
2552
+ * @returns Escaped text safe for use in XML
2553
+ *
2554
+ * @example
2555
+ * ```typescript
2556
+ * XmlElement.escape("Hello & <World>"); // "Hello &amp; &lt;World&gt;"
2557
+ * ```
2558
+ */
2559
+ static escape(text) {
2560
+ return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
2561
+ }
2562
+ /**
2563
+ * Unescape XML entities to plain text
2564
+ *
2565
+ * @param xml - XML text with entities
2566
+ * @returns Unescaped text
2567
+ *
2568
+ * @example
2569
+ * ```typescript
2570
+ * XmlElement.unescape("Hello &amp; &lt;World&gt;"); // "Hello & <World>"
2571
+ * ```
2572
+ */
2573
+ static unescape(xml) {
2574
+ return xml.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
2575
+ }
2576
+ /**
2577
+ * Create a simple XML element
2578
+ *
2579
+ * @param tagName - The XML tag name
2580
+ * @param content - The text content (will be escaped)
2581
+ * @param attributes - Optional attributes object
2582
+ * @returns XmlElement
2583
+ *
2584
+ * @example
2585
+ * ```typescript
2586
+ * const xml = XmlElement.create("Temperature", "25.5", { unit: "C" });
2587
+ * // "<Temperature unit=\"C\">25.5</Temperature>"
2588
+ * ```
2589
+ */
2590
+ static create(tagName, content = "", attributes) {
2591
+ let attrStr = "";
2592
+ if (attributes) {
2593
+ attrStr = Object.entries(attributes).map(([key, value]) => ` ${key}="${_XmlElement.escape(value)}"`).join("");
2594
+ }
2595
+ const escapedContent = _XmlElement.escape(content);
2596
+ const xmlString = `<${tagName}${attrStr}>${escapedContent}</${tagName}>`;
2597
+ return new _XmlElement(xmlString);
2598
+ }
2599
+ /**
2600
+ * Create an empty XmlElement
2601
+ *
2602
+ * @returns Empty XmlElement
2603
+ */
2604
+ static empty() {
2605
+ return new _XmlElement("");
2606
+ }
2607
+ /**
2608
+ * Check equality with another XmlElement
2609
+ *
2610
+ * @param other - The other XmlElement
2611
+ * @returns true if both contain the same XML string
2612
+ */
2613
+ equals(other) {
2614
+ return this.content === other.content;
2615
+ }
2616
+ };
2617
+
2618
+ // src/types/primitives.ts
2619
+ var BuiltinTypeId = {
2620
+ Boolean: 1,
2621
+ SByte: 2,
2622
+ Byte: 3,
2623
+ Int16: 4,
2624
+ UInt16: 5,
2625
+ Int32: 6,
2626
+ UInt32: 7,
2627
+ Int64: 8,
2628
+ UInt64: 9,
2629
+ Float: 10,
2630
+ Double: 11,
2631
+ String: 12,
2632
+ DateTime: 13,
2633
+ Guid: 14,
2634
+ ByteString: 15,
2635
+ XmlElement: 16,
2636
+ NodeId: 17,
2637
+ ExpandedNodeId: 18,
2638
+ StatusCode: 19,
2639
+ QualifiedName: 20,
2640
+ LocalizedText: 21,
2641
+ ExtensionObject: 22,
2642
+ DataValue: 23,
2643
+ Variant: 24,
2644
+ DiagnosticInfo: 25
2645
+ };
2646
+ function getPrimitiveTypeName(typeId) {
2647
+ const primitiveMap = {
2648
+ [BuiltinTypeId.Boolean]: "boolean",
2649
+ [BuiltinTypeId.SByte]: "number",
2650
+ [BuiltinTypeId.Byte]: "number",
2651
+ [BuiltinTypeId.Int16]: "number",
2652
+ [BuiltinTypeId.UInt16]: "number",
2653
+ [BuiltinTypeId.Int32]: "number",
2654
+ [BuiltinTypeId.UInt32]: "number",
2655
+ [BuiltinTypeId.Int64]: "bigint",
2656
+ [BuiltinTypeId.UInt64]: "bigint",
2657
+ [BuiltinTypeId.Float]: "number",
2658
+ [BuiltinTypeId.ByteString]: "Uint8Array | null",
2659
+ [BuiltinTypeId.Double]: "number",
2660
+ [BuiltinTypeId.String]: "string | null",
2661
+ [BuiltinTypeId.DateTime]: "Date",
2662
+ [BuiltinTypeId.Guid]: "string"
2663
+ };
2664
+ return primitiveMap[typeId];
2665
+ }
2666
+ function isPrimitive(typeId) {
2667
+ return getPrimitiveTypeName(typeId) !== void 0;
2668
+ }
2669
+
2670
+ // src/certificates/certificate.ts
2671
+ var Certificate = class {
2672
+ getBytes() {
2673
+ throw new Error("Method not implemented.");
2674
+ }
2675
+ };
2676
+
2669
2677
  // src/schema/enums.ts
2670
2678
  var ActionStateEnum = /* @__PURE__ */ ((ActionStateEnum2) => {
2671
2679
  ActionStateEnum2[ActionStateEnum2["Idle"] = 0] = "Idle";
@@ -17022,6 +17030,6 @@ function registerXmlDecoders(decoder) {
17022
17030
  decoder.registerEncodingId(892, writerId, 891);
17023
17031
  }
17024
17032
 
17025
- 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, BinaryReader, BitFieldDefinition, BrokerConnectionTransportDataType, BrokerDataSetReaderTransportDataType, BrokerDataSetWriterTransportDataType, BrokerTransportQualityOfServiceEnum, BrokerWriterGroupTransportDataType, BrowseDescription, BrowseDirectionEnum, BrowseNextRequest, BrowseNextResponse, BrowsePath, BrowsePathResult, BrowsePathTarget, BrowseRequest, BrowseResponse, BrowseResult, BrowseResultMaskEnum, BuildInfo, BuiltinTypeId, CallMethodRequest, CallMethodResult, CallRequest, CallResponse, CancelRequest, CancelResponse, CartesianCoordinates, CertificateGroupDataType, ChannelFactory, ChannelSecurityToken, ChassisIdSubtypeEnum, CloseSecureChannelRequest, CloseSecureChannelResponse, CloseSessionRequest, CloseSessionResponse, ComplexNumberType, Configuration, ConfigurationUpdateTargetType, ConfigurationUpdateTypeEnum, ConfigurationVersionDataType, ConnectionTransportDataType, 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, LogRecord, LogRecordsDataType, 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, SecureChannel, 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, StatusResult, Structure, StructureDefinition, StructureDescription, StructureField, StructureTypeEnum, SubscribedDataSetDataType, SubscribedDataSetMirrorDataType, SubscriptionAcknowledgement, SubscriptionDiagnosticsDataType, TargetVariablesDataType, 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, VariantType, Vector, ViewAttributes, ViewDescription, ViewNode, WriteRequest, WriteResponse, WriteValue, WriterGroupDataType, WriterGroupMessageDataType, WriterGroupTransportDataType, X509IdentityToken, XVType, XmlElement, _3DCartesianCoordinates, _3DFrame, _3DOrientation, _3DVector, getPrimitiveTypeName, isPrimitive, registerBinaryDecoders, registerEncoders, registerJsonDecoders, registerTypeDecoders, registerXmlDecoders };
17033
+ 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, BinaryReader, BinaryWriter, BitFieldDefinition, BrokerConnectionTransportDataType, BrokerDataSetReaderTransportDataType, BrokerDataSetWriterTransportDataType, BrokerTransportQualityOfServiceEnum, BrokerWriterGroupTransportDataType, BrowseDescription, BrowseDirectionEnum, BrowseNextRequest, BrowseNextResponse, BrowsePath, BrowsePathResult, BrowsePathTarget, BrowseRequest, BrowseResponse, BrowseResult, BrowseResultMaskEnum, BuildInfo, BuiltinTypeId, CallMethodRequest, CallMethodResult, CallRequest, CallResponse, CancelRequest, CancelResponse, CartesianCoordinates, CertificateGroupDataType, ChannelFactory, ChannelSecurityToken, ChassisIdSubtypeEnum, CloseSecureChannelRequest, CloseSecureChannelResponse, CloseSessionRequest, CloseSessionResponse, ComplexNumberType, Configuration, ConfigurationUpdateTargetType, ConfigurationUpdateTypeEnum, ConfigurationVersionDataType, ConnectionTransportDataType, 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, LogRecord, LogRecordsDataType, 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, SecureChannel, 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, StatusResult, Structure, StructureDefinition, StructureDescription, StructureField, StructureTypeEnum, SubscribedDataSetDataType, SubscribedDataSetMirrorDataType, SubscriptionAcknowledgement, SubscriptionDiagnosticsDataType, TargetVariablesDataType, 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, VariantType, Vector, ViewAttributes, ViewDescription, ViewNode, WriteRequest, WriteResponse, WriteValue, WriterGroupDataType, WriterGroupMessageDataType, WriterGroupTransportDataType, X509IdentityToken, XVType, XmlElement, _3DCartesianCoordinates, _3DFrame, _3DOrientation, _3DVector, getPrimitiveTypeName, isPrimitive, registerBinaryDecoders, registerEncoders, registerJsonDecoders, registerTypeDecoders, registerXmlDecoders };
17026
17034
  //# sourceMappingURL=index.js.map
17027
17035
  //# sourceMappingURL=index.js.map