@unyt/datex 0.0.8 → 0.0.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.
Files changed (85) hide show
  1. package/esm/_dnt.shims.d.ts +1 -27
  2. package/esm/_dnt.shims.d.ts.map +1 -1
  3. package/esm/_dnt.shims.js +1 -31
  4. package/esm/datex-core/datex_core_js.internal.d.ts +47 -38
  5. package/esm/datex-core/datex_core_js.internal.d.ts.map +1 -1
  6. package/esm/datex-core/datex_core_js.internal.js +151 -133
  7. package/esm/datex-core/datex_core_js.js +13 -16
  8. package/esm/datex-core/datex_core_js.wasm +0 -0
  9. package/esm/datex-core/wasm_url.node.js +1 -0
  10. package/esm/datex-core.d.ts +6 -0
  11. package/esm/datex-core.d.ts.map +1 -1
  12. package/esm/datex-core.js +6 -0
  13. package/esm/default.d.ts +0 -1
  14. package/esm/default.js +0 -1
  15. package/esm/deno.json +3 -2
  16. package/esm/dif/builders.d.ts +5 -0
  17. package/esm/dif/builders.d.ts.map +1 -1
  18. package/esm/dif/builders.js +5 -0
  19. package/esm/dif/core.d.ts +9 -0
  20. package/esm/dif/core.d.ts.map +1 -1
  21. package/esm/dif/core.js +6 -0
  22. package/esm/dif/definitions.d.ts +43 -1
  23. package/esm/dif/definitions.d.ts.map +1 -1
  24. package/esm/dif/definitions.js +14 -0
  25. package/esm/dif/dif-handler.d.ts +17 -0
  26. package/esm/dif/dif-handler.d.ts.map +1 -1
  27. package/esm/dif/dif-handler.js +18 -2
  28. package/esm/dif/display.d.ts +23 -0
  29. package/esm/dif/display.d.ts.map +1 -1
  30. package/esm/dif/display.js +23 -0
  31. package/esm/mod.d.ts +10 -1
  32. package/esm/mod.d.ts.map +1 -1
  33. package/esm/mod.js +10 -1
  34. package/esm/network/com-hub.d.ts +30 -0
  35. package/esm/network/com-hub.d.ts.map +1 -1
  36. package/esm/network/com-hub.js +32 -0
  37. package/esm/network/com-interface.d.ts +18 -0
  38. package/esm/network/com-interface.d.ts.map +1 -1
  39. package/esm/network/com-interface.js +13 -0
  40. package/esm/network/interface-impls/base.d.ts +28 -1
  41. package/esm/network/interface-impls/base.d.ts.map +1 -1
  42. package/esm/network/interface-impls/base.js +27 -1
  43. package/esm/network/interface-impls/websocket-client.d.ts +3 -1
  44. package/esm/network/interface-impls/websocket-client.d.ts.map +1 -1
  45. package/esm/network/interface-impls/websocket-client.js +3 -1
  46. package/esm/network/mod.d.ts +6 -0
  47. package/esm/network/mod.d.ts.map +1 -1
  48. package/esm/network/mod.js +6 -0
  49. package/esm/refs/ref.d.ts +3 -0
  50. package/esm/refs/ref.d.ts.map +1 -1
  51. package/esm/refs/ref.js +3 -0
  52. package/esm/runtime/runtime.d.ts +52 -2
  53. package/esm/runtime/runtime.d.ts.map +1 -1
  54. package/esm/runtime/runtime.js +49 -3
  55. package/esm/runtime/special-core-types.d.ts +18 -2
  56. package/esm/runtime/special-core-types.d.ts.map +1 -1
  57. package/esm/runtime/special-core-types.js +19 -3
  58. package/esm/utils/js-runtime-compat/js-runtime-interface.d.ts +10 -0
  59. package/esm/utils/js-runtime-compat/js-runtime-interface.d.ts.map +1 -0
  60. package/esm/utils/js-runtime-compat/js-runtime-interface.js +1 -0
  61. package/esm/utils/js-runtime-compat/js-runtime.d.ts +18 -0
  62. package/esm/utils/js-runtime-compat/js-runtime.d.ts.map +1 -0
  63. package/esm/utils/js-runtime-compat/js-runtime.js +43 -0
  64. package/esm/utils/js-runtime-compat/runtimes/browser.d.ts +8 -0
  65. package/esm/utils/js-runtime-compat/runtimes/browser.d.ts.map +1 -0
  66. package/esm/utils/js-runtime-compat/runtimes/browser.js +22 -0
  67. package/esm/utils/js-runtime-compat/runtimes/deno.d.ts +8 -0
  68. package/esm/utils/js-runtime-compat/runtimes/deno.d.ts.map +1 -0
  69. package/esm/utils/js-runtime-compat/runtimes/deno.js +19 -0
  70. package/esm/utils/js-runtime-compat/runtimes/node.d.ts +8 -0
  71. package/esm/utils/js-runtime-compat/runtimes/node.d.ts.map +1 -0
  72. package/esm/utils/js-runtime-compat/runtimes/node.js +21 -0
  73. package/package.json +1 -22
  74. package/esm/_dnt.polyfills.d.ts +0 -101
  75. package/esm/_dnt.polyfills.d.ts.map +0 -1
  76. package/esm/_dnt.polyfills.js +0 -127
  77. package/esm/network/interface-impls/serial.d.ts +0 -6
  78. package/esm/network/interface-impls/serial.d.ts.map +0 -1
  79. package/esm/network/interface-impls/serial.js +0 -6
  80. package/esm/network/interface-impls/webrtc.d.ts +0 -12
  81. package/esm/network/interface-impls/webrtc.d.ts.map +0 -1
  82. package/esm/network/interface-impls/webrtc.js +0 -24
  83. package/esm/network/interface-impls/websocket-server-deno.d.ts +0 -9
  84. package/esm/network/interface-impls/websocket-server-deno.d.ts.map +0 -1
  85. package/esm/network/interface-impls/websocket-server-deno.js +0 -45
@@ -1,20 +1,17 @@
1
- import * as dntShim from "../_dnt.shims.js";
2
1
  import * as imports from "./datex_core_js.internal.js";
3
- // for deno-to-node builds, fetch does not support streaming webassembly instantiation
4
- // FIXME const isDntBuild = !!globalThis[Symbol.for("import-meta-ponyfill-commonjs")];
5
- const isBrowser = !globalThis.navigator?.userAgent.startsWith("Deno") &&
6
- !globalThis.navigator?.userAgent.startsWith("Node.js") &&
7
- !globalThis.navigator?.userAgent.startsWith("Bun");
8
- const wasm = (isBrowser // TODO: Deno should also do instantiateStreaming (globalThis.Deno && !isDntBuild)
9
- ? await WebAssembly.instantiateStreaming(
10
- // dnt-shim-ignore
11
- fetch(new URL("datex_core_js.wasm", import.meta.url)), {
12
- "./datex_core_js.internal.js": imports,
13
- })
14
- : await WebAssembly.instantiate(await dntShim.Deno.readFile(new URL("datex_core_js.wasm", globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).url)), {
15
- "./datex_core_js.internal.js": imports,
16
- })).instance;
2
+ import { runtimeInterface, detectRuntime } from "../utils/js-runtime-compat/js-runtime.js";
3
+
4
+ let wasmUrl;
5
+ if (detectRuntime() == "browser") {
6
+ wasmUrl = (await import("./wasm_url.node.js")).default;
7
+ } else {
8
+ wasmUrl = new URL("datex_core_js.wasm", import.meta.url);
9
+ }
10
+
11
+ const wasm = (await runtimeInterface.instantiateWebAssembly(wasmUrl, {
12
+ "./datex_core_js.internal.js": imports,
13
+ })).instance;
17
14
  export * from "./datex_core_js.internal.js";
18
15
  import { __wbg_set_wasm } from "./datex_core_js.internal.js";
19
16
  __wbg_set_wasm(wasm.exports);
20
- wasm.exports.__wbindgen_start();
17
+ wasm.exports.__wbindgen_start();
Binary file
@@ -0,0 +1 @@
1
+ export { default } from "./datex_core_js.wasm?url";
@@ -1,2 +1,8 @@
1
+ /**
2
+ * @module datex-core.ts
3
+ * @description
4
+ * This module serves as the core of the Datex library, re-exporting
5
+ * essential types and functionalities from the Datex core JavaScript implementation.
6
+ */
1
7
  export * from "./datex-core/datex_core_js.js";
2
8
  //# sourceMappingURL=datex-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datex-core.d.ts","sourceRoot":"","sources":["../src/datex-core.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"datex-core.d.ts","sourceRoot":"","sources":["../src/datex-core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,+BAA+B,CAAC"}
package/esm/datex-core.js CHANGED
@@ -1,2 +1,8 @@
1
+ /**
2
+ * @module datex-core.ts
3
+ * @description
4
+ * This module serves as the core of the Datex library, re-exporting
5
+ * essential types and functionalities from the Datex core JavaScript implementation.
6
+ */
1
7
  /* @ts-types="./datex-core/datex_core_js.d.ts" */
2
8
  export * from "./datex-core/datex_core_js.js";
package/esm/default.d.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  * @description
4
4
  * This module exports an instance of the DATEX runtime.
5
5
  */
6
- import "./_dnt.polyfills.js";
7
6
  import { Runtime } from "./runtime/runtime.js";
8
7
  /**
9
8
  * The default instance of the Datex runtime.
package/esm/default.js CHANGED
@@ -3,7 +3,6 @@
3
3
  * @description
4
4
  * This module exports an instance of the DATEX runtime.
5
5
  */
6
- import "./_dnt.polyfills.js";
7
6
  import { Runtime } from "./runtime/runtime.js";
8
7
  /**
9
8
  * The default configuration for the Datex runtime.
package/esm/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unyt/datex",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": "./src/mod.ts",
@@ -45,7 +45,8 @@
45
45
  "@std/cli": "jsr:@std/cli@^1.0.23",
46
46
  "@std/encoding": "jsr:@std/encoding@^1.0.10",
47
47
  "@std/fmt": "jsr:@std/fmt@^1.0.8",
48
- "@std/uuid": "jsr:@std/uuid@^1.0.9"
48
+ "@std/uuid": "jsr:@std/uuid@^1.0.9",
49
+ "@unyt/speck": "jsr:@unyt/speck@^0.0.10"
49
50
  },
50
51
  "test": {
51
52
  "exclude": [
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @module
3
+ * @description
4
+ * This module contains helper functions to create DIFUpdate objects.
5
+ */
1
6
  import { type DIFUpdateData } from "./definitions.js";
2
7
  import type { DIFHandler } from "./dif-handler.js";
3
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/dif/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EACzB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,CAAC,GACT,aAAa,CAMf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EACnC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,CAAC,GACT,aAAa,CAQf"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/dif/builders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EACzB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,CAAC,GACT,aAAa,CAMf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EACnC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,CAAC,GACT,aAAa,CAQf"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @module
3
+ * @description
4
+ * This module contains helper functions to create DIFUpdate objects.
5
+ */
1
6
  import { DIFUpdateKind } from "./definitions.js";
2
7
  /**
3
8
  * Creates a DIFUpdate object that describes replacing a pointer's value.
package/esm/dif/core.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Mapping of core type names to their unique pointer addresses.
3
+ */
1
4
  export declare const CoreTypeAddress: {
2
5
  readonly null: "010000";
3
6
  readonly type: "020000";
@@ -24,7 +27,13 @@ export declare const CoreTypeAddress: {
24
27
  readonly integer_i128: "6e0000";
25
28
  readonly integer_big: "6f0000";
26
29
  };
30
+ /**
31
+ * Type representing the unique pointer addresses of core types.
32
+ */
27
33
  export type CoreTypeAddress = typeof CoreTypeAddress[keyof typeof CoreTypeAddress];
34
+ /**
35
+ * Mapping of core type address ranges for categorization.
36
+ */
28
37
  export declare const CoreTypeAddressRanges: {
29
38
  readonly small_unsigned_integers: Set<"650000" | "660000" | "670000" | "680000" | "690000">;
30
39
  readonly big_unsigned_integers: Set<"6f0000">;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/dif/core.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AACX,MAAM,MAAM,eAAe,GACvB,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD,eAAO,MAAM,qBAAqB;;;;;;CAuBxB,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/dif/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AACX;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;CAuBxB,CAAC"}
package/esm/dif/core.js CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Mapping of core type names to their unique pointer addresses.
3
+ */
1
4
  export const CoreTypeAddress = {
2
5
  null: "010000",
3
6
  type: "020000",
@@ -24,6 +27,9 @@ export const CoreTypeAddress = {
24
27
  integer_i128: "6e0000",
25
28
  integer_big: "6f0000",
26
29
  };
30
+ /**
31
+ * Mapping of core type address ranges for categorization.
32
+ */
27
33
  export const CoreTypeAddressRanges = {
28
34
  small_unsigned_integers: new Set([
29
35
  CoreTypeAddress.integer_u8,
@@ -1,10 +1,28 @@
1
- /** 3, 5, or 26 byte hex string */
1
+ /**
2
+ * @module
3
+ * @description
4
+ * This module contains all definitions related to the DIF (DATEX Interchange Format) interfaces of the DATEX runtime.
5
+ */
6
+ /**
7
+ * A DATEX pointer address representation in the DIF format.
8
+ * (3, 5, or 26 byte hex string)
9
+ */
2
10
  export type DIFPointerAddress = string;
11
+ /**
12
+ * A DATEX value representation in the DIF format,
13
+ * which may optionally include type information.
14
+ */
3
15
  export type DIFValue = {
4
16
  type?: DIFTypeContainer;
5
17
  value: DIFRepresentationValue;
6
18
  };
19
+ /**
20
+ * A DATEX value or pointer address representation in the DIF format.
21
+ */
7
22
  export type DIFContainer = DIFValue | DIFPointerAddress;
23
+ /**
24
+ * Mapping of DIF type kinds.
25
+ */
8
26
  export declare const DIFTypeKinds: {
9
27
  readonly Structural: 0;
10
28
  readonly Reference: 1;
@@ -13,30 +31,47 @@ export declare const DIFTypeKinds: {
13
31
  readonly Unit: 4;
14
32
  readonly Function: 5;
15
33
  };
34
+ /** A DIF type kind. */
16
35
  export type DIFTypeKind = typeof DIFTypeKinds[keyof typeof DIFTypeKinds];
36
+ /**
37
+ * Representation of reference mutability (mutable or immutable) in DIF.
38
+ */
17
39
  export declare const DIFReferenceMutability: {
18
40
  readonly Mutable: 0;
19
41
  readonly Immutable: 1;
20
42
  };
43
+ /** A DIF reference mutability. */
21
44
  export type DIFReferenceMutability = typeof DIFReferenceMutability[keyof typeof DIFReferenceMutability];
45
+ /** A DIF type definition based on its kind. */
22
46
  export type DIFTypeDefinition<Kind extends DIFTypeKind = DIFTypeKind> = Kind extends typeof DIFTypeKinds.Structural ? DIFValue : Kind extends typeof DIFTypeKinds.Reference ? DIFPointerAddress : Kind extends typeof DIFTypeKinds.Intersection ? Array<DIFTypeContainer> : Kind extends typeof DIFTypeKinds.Union ? Array<DIFTypeContainer> : Kind extends typeof DIFTypeKinds.Unit ? null : Kind extends typeof DIFTypeKinds.Function ? unknown : never;
47
+ /** A DIF type representation. */
23
48
  export type DIFType<Kind extends DIFTypeKind = DIFTypeKind> = {
24
49
  name?: string;
25
50
  kind: Kind;
26
51
  def: DIFTypeDefinition<Kind>;
27
52
  mut?: DIFReferenceMutability;
28
53
  };
54
+ /** A representation of a reference in DIF. */
29
55
  export type DIFReference = {
30
56
  value: DIFValueContainer;
31
57
  allowed_type: DIFTypeContainer;
32
58
  mut: DIFReferenceMutability;
33
59
  };
60
+ /** A representation of a value or pointer address in DIF. */
34
61
  export type DIFValueContainer = DIFValue | DIFPointerAddress;
62
+ /** A representation of a type or type pointer address in DIF. */
35
63
  export type DIFTypeContainer = DIFType | DIFPointerAddress;
64
+ /** A DIF object, mapping string keys to DIF value containers. */
36
65
  export type DIFObject = Record<string, DIFValueContainer>;
66
+ /** A DIF array, containing DIF value containers. */
37
67
  export type DIFArray = DIFValueContainer[];
68
+ /** A DIF map, containing key-value pairs of DIF value containers. */
38
69
  export type DIFMap = [DIFValueContainer, DIFValueContainer][];
70
+ /** Any DIF representation value (JSON-compatible values). */
39
71
  export type DIFRepresentationValue = string | number | boolean | null | DIFObject | DIFMap | DIFArray;
72
+ /**
73
+ * Representation of a property in DIF, which can be a text key, an index, or a generic value.
74
+ */
40
75
  export type DIFProperty = {
41
76
  kind: "text";
42
77
  value: string;
@@ -47,6 +82,9 @@ export type DIFProperty = {
47
82
  kind: "value";
48
83
  value: DIFValueContainer;
49
84
  };
85
+ /**
86
+ * Kinds of updates that can be applied to a DIF value.
87
+ */
50
88
  export declare const DIFUpdateKind: {
51
89
  readonly Replace: "replace";
52
90
  readonly Push: "push";
@@ -54,7 +92,9 @@ export declare const DIFUpdateKind: {
54
92
  readonly Remove: "remove";
55
93
  readonly Clear: "clear";
56
94
  };
95
+ /** A DIF update kind. */
57
96
  export type DIFUpdateKind = typeof DIFUpdateKind[keyof typeof DIFUpdateKind];
97
+ /** Different kinds of updates that can be applied to a DIF value. */
58
98
  export type DIFUpdateData = {
59
99
  kind: typeof DIFUpdateKind.Replace;
60
100
  value: DIFValueContainer;
@@ -71,10 +111,12 @@ export type DIFUpdateData = {
71
111
  } | {
72
112
  kind: typeof DIFUpdateKind.Clear;
73
113
  };
114
+ /** A DIF update struct, associating a source ID with update data. */
74
115
  export type DIFUpdate = {
75
116
  source_id: number;
76
117
  data: DIFUpdateData;
77
118
  };
119
+ /** Options for observing DIF pointers. */
78
120
  export type ObserveOptions = {
79
121
  relay_own_updates: boolean;
80
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/dif/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/dif/definitions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * @module
3
+ * @description
4
+ * This module contains all definitions related to the DIF (DATEX Interchange Format) interfaces of the DATEX runtime.
5
+ */
6
+ /**
7
+ * Mapping of DIF type kinds.
8
+ */
1
9
  export const DIFTypeKinds = {
2
10
  Structural: 0,
3
11
  Reference: 1,
@@ -6,10 +14,16 @@ export const DIFTypeKinds = {
6
14
  Unit: 4,
7
15
  Function: 5,
8
16
  };
17
+ /**
18
+ * Representation of reference mutability (mutable or immutable) in DIF.
19
+ */
9
20
  export const DIFReferenceMutability = {
10
21
  Mutable: 0,
11
22
  Immutable: 1,
12
23
  };
24
+ /**
25
+ * Kinds of updates that can be applied to a DIF value.
26
+ */
13
27
  export const DIFUpdateKind = {
14
28
  Replace: "replace",
15
29
  Push: "push",
@@ -1,10 +1,27 @@
1
1
  import type { JSRuntime, RuntimeDIFHandle } from "../datex-core.js";
2
2
  import { Ref } from "../refs/ref.js";
3
3
  import { type DIFContainer, type DIFPointerAddress, DIFReferenceMutability, type DIFTypeContainer, type DIFUpdate, type DIFUpdateData, type DIFValue, type DIFValueContainer, type ObserveOptions } from "./definitions.js";
4
+ /**
5
+ * The DIFHandler class provides methods to interact with the DATEX Core DIF runtime,
6
+ * including executing Datex scripts, creating and managing pointers, and observing changes.
7
+ * It includes a local pointer cache to optimize performance and reduce cross-language calls.
8
+ */
4
9
  export declare class DIFHandler {
5
10
  #private;
11
+ /**
12
+ * Internal property
13
+ * @returns The map of observers for each pointer address.
14
+ */
6
15
  get _observers(): Map<string, Map<number, (value: DIFUpdateData) => void>>;
16
+ /**
17
+ * Internal property
18
+ * @returns The RuntimeDIFHandle instance.
19
+ */
7
20
  get _handle(): RuntimeDIFHandle;
21
+ /**
22
+ * Internal property
23
+ * @returns The transceiver ID of the DIF client.
24
+ */
8
25
  get _transceiver_id(): number;
9
26
  /**
10
27
  * Creates a new DIFHandler instance.
@@ -1 +1 @@
1
- {"version":3,"file":"dif-handler.d.ts","sourceRoot":"","sources":["../../src/dif/dif-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dif-handler.d.ts","sourceRoot":"","sources":["../../src/dif/dif-handler.ts"],"names":[],"mappings":"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"}
@@ -10,19 +10,35 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
10
10
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
11
  };
12
12
  var _DIFHandler_runtime, _DIFHandler_handle, _DIFHandler_transceiver_id, _DIFHandler_cache, _DIFHandler_observers;
13
- import * as dntShim from "../_dnt.shims.js";
14
13
  import { Ref } from "../refs/ref.js";
15
14
  import { Endpoint } from "../runtime/special-core-types.js";
16
15
  import { DIFReferenceMutability, DIFUpdateKind, } from "./definitions.js";
17
16
  import { CoreTypeAddress, CoreTypeAddressRanges } from "./core.js";
18
17
  import { difValueContainerToDisplayString } from "./display.js";
18
+ /**
19
+ * The DIFHandler class provides methods to interact with the DATEX Core DIF runtime,
20
+ * including executing Datex scripts, creating and managing pointers, and observing changes.
21
+ * It includes a local pointer cache to optimize performance and reduce cross-language calls.
22
+ */
19
23
  export class DIFHandler {
24
+ /**
25
+ * Internal property
26
+ * @returns The map of observers for each pointer address.
27
+ */
20
28
  get _observers() {
21
29
  return __classPrivateFieldGet(this, _DIFHandler_observers, "f");
22
30
  }
31
+ /**
32
+ * Internal property
33
+ * @returns The RuntimeDIFHandle instance.
34
+ */
23
35
  get _handle() {
24
36
  return __classPrivateFieldGet(this, _DIFHandler_handle, "f");
25
37
  }
38
+ /**
39
+ * Internal property
40
+ * @returns The transceiver ID of the DIF client.
41
+ */
26
42
  get _transceiver_id() {
27
43
  return __classPrivateFieldGet(this, _DIFHandler_transceiver_id, "f");
28
44
  }
@@ -468,7 +484,7 @@ export class DIFHandler {
468
484
  */
469
485
  cacheWrappedPointerValue(address, value, observerId) {
470
486
  __classPrivateFieldGet(this, _DIFHandler_cache, "f").set(address, {
471
- val: new dntShim.WeakRef(value),
487
+ val: new WeakRef(value),
472
488
  observerId,
473
489
  });
474
490
  // register finalizer to clean up the cache and free the pointer in the runtime
@@ -1,8 +1,31 @@
1
+ /**
2
+ * @module
3
+ * @description
4
+ * This module contains helper functions to convert DIF structures to display strings.
5
+ */
1
6
  import { type DIFReference, DIFReferenceMutability, type DIFRepresentationValue, type DIFTypeContainer, type DIFValueContainer } from "./definitions.js";
7
+ /**
8
+ * Converts a DIF reference mutability to a display string.
9
+ */
2
10
  export declare function mutabilityToDisplayString(mut: DIFReferenceMutability): string;
11
+ /**
12
+ * Converts a DIF reference to a display string.
13
+ */
3
14
  export declare function difReferenceToDisplayString(reference: DIFReference): string;
15
+ /**
16
+ * Converts a DIF value container to a display string.
17
+ */
4
18
  export declare function difValueContainerToDisplayString(container: DIFValueContainer): string;
19
+ /**
20
+ * Converts a DIF representation value to a display string.
21
+ */
5
22
  export declare function difRepresentationValueToDisplayString(difRepValue: DIFRepresentationValue): string;
23
+ /**
24
+ * Converts a DIF type container to a display string.
25
+ */
6
26
  export declare function difTypeContainerToDisplayString(difType: DIFTypeContainer): string;
27
+ /**
28
+ * Converts a core type address to a display string.
29
+ */
7
30
  export declare function addressToDisplayString(address: string): string;
8
31
  //# sourceMappingURL=display.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/dif/display.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,YAAY,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACzB,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAO7E;AAED,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,YAAY,GACxB,MAAM,CAKR;AAED,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,iBAAiB,GAC7B,MAAM,CAgBR;AAED,wBAAgB,qCAAqC,CACjD,WAAW,EAAE,sBAAsB,GACpC,MAAM,CAyBR;AAED,wBAAgB,+BAA+B,CAC3C,OAAO,EAAE,gBAAgB,GAC1B,MAAM,CAQR;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS9D"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/dif/display.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACH,KAAK,YAAY,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACzB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAO7E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,YAAY,GACxB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,iBAAiB,GAC7B,MAAM,CAgBR;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACjD,WAAW,EAAE,sBAAsB,GACpC,MAAM,CAyBR;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,OAAO,EAAE,gBAAgB,GAC1B,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS9D"}
@@ -1,5 +1,13 @@
1
+ /**
2
+ * @module
3
+ * @description
4
+ * This module contains helper functions to convert DIF structures to display strings.
5
+ */
1
6
  import { DIFReferenceMutability, } from "./definitions.js";
2
7
  import { CoreTypeAddress } from "./core.js";
8
+ /**
9
+ * Converts a DIF reference mutability to a display string.
10
+ */
3
11
  export function mutabilityToDisplayString(mut) {
4
12
  if (mut === DIFReferenceMutability.Mutable) {
5
13
  return "&mut ";
@@ -9,12 +17,18 @@ export function mutabilityToDisplayString(mut) {
9
17
  }
10
18
  throw new Error("Unknown mutability: " + mut);
11
19
  }
20
+ /**
21
+ * Converts a DIF reference to a display string.
22
+ */
12
23
  export function difReferenceToDisplayString(reference) {
13
24
  const typeString = difTypeContainerToDisplayString(reference.allowed_type);
14
25
  const valueString = difValueContainerToDisplayString(reference.value);
15
26
  const mutString = mutabilityToDisplayString(reference.mut);
16
27
  return `${mutString}${valueString} (allowed: ${typeString})`;
17
28
  }
29
+ /**
30
+ * Converts a DIF value container to a display string.
31
+ */
18
32
  export function difValueContainerToDisplayString(container) {
19
33
  if (typeof container === "string") {
20
34
  return addressToDisplayString(container);
@@ -32,6 +46,9 @@ export function difValueContainerToDisplayString(container) {
32
46
  }
33
47
  }
34
48
  }
49
+ /**
50
+ * Converts a DIF representation value to a display string.
51
+ */
35
52
  export function difRepresentationValueToDisplayString(difRepValue) {
36
53
  if (Array.isArray(difRepValue)) {
37
54
  return `[${difRepValue.map((v) => {
@@ -51,6 +68,9 @@ export function difRepresentationValueToDisplayString(difRepValue) {
51
68
  return JSON.stringify(difRepValue);
52
69
  }
53
70
  }
71
+ /**
72
+ * Converts a DIF type container to a display string.
73
+ */
54
74
  export function difTypeContainerToDisplayString(difType) {
55
75
  if (typeof difType === "string") {
56
76
  return addressToDisplayString(difType);
@@ -59,6 +79,9 @@ export function difTypeContainerToDisplayString(difType) {
59
79
  return `{ name: ${difType.name}, kind: ${difType.kind}, def: ${JSON.stringify(difType.def)}, mut: ${difType.mut} }`;
60
80
  }
61
81
  }
82
+ /**
83
+ * Converts a core type address to a display string.
84
+ */
62
85
  export function addressToDisplayString(address) {
63
86
  const found = Object.entries(CoreTypeAddress).find(([_, addr]) => {
64
87
  return addr === address;
package/esm/mod.d.ts CHANGED
@@ -3,8 +3,17 @@
3
3
  * @description
4
4
  * This module exports all public APIs of the DATEX runtime.
5
5
  */
6
- import "./_dnt.polyfills.js";
7
6
  export * from "./runtime/runtime.js";
7
+ /**
8
+ * @namespace DIF
9
+ * @description
10
+ * This namespace contains all modules related to the DIF (DATEX Interchange Format) interfaces of the DATEX runtime.
11
+ */
8
12
  export * as DIF from "./dif/mod.js";
13
+ /**
14
+ * @namespace Network
15
+ * @description
16
+ * This namespace contains all modules related to the network interfaces of the DATEX runtime.
17
+ */
9
18
  export * as Network from "./network/mod.js";
10
19
  //# sourceMappingURL=mod.d.ts.map
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,qBAAqB,CAAC;AAG7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,qBAAqB,CAAC;AAG7B,cAAc,sBAAsB,CAAC;AACrC;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC;;;;GAIG;AACH,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC"}
package/esm/mod.js CHANGED
@@ -3,7 +3,16 @@
3
3
  * @description
4
4
  * This module exports all public APIs of the DATEX runtime.
5
5
  */
6
- import "./_dnt.polyfills.js";
7
6
  export * from "./runtime/runtime.js";
7
+ /**
8
+ * @namespace DIF
9
+ * @description
10
+ * This namespace contains all modules related to the DIF (DATEX Interchange Format) interfaces of the DATEX runtime.
11
+ */
8
12
  export * as DIF from "./dif/mod.js";
13
+ /**
14
+ * @namespace Network
15
+ * @description
16
+ * This namespace contains all modules related to the network interfaces of the DATEX runtime.
17
+ */
9
18
  export * as Network from "./network/mod.js";
@@ -1,9 +1,22 @@
1
1
  import type { JSComHub } from "../datex-core/datex_core_js";
2
2
  import { ComInterface, type ComInterfaceImpl } from "./com-interface.js";
3
+ /**
4
+ * Communication hub for managing communication interfaces.
5
+ */
3
6
  export declare class ComHub {
4
7
  #private;
5
8
  constructor(jsComHub: JSComHub);
9
+ /**
10
+ * Registers a communication interface implementation.
11
+ * @param interfaceType The type of the interface.
12
+ * @param impl The implementation class of the interface.
13
+ */
6
14
  static registerInterfaceImpl<N extends string>(interfaceType: N, impl: typeof ComInterfaceImpl<unknown>): void;
15
+ /**
16
+ * Creates a new communication interface.
17
+ * @param interfaceType The type of the interface to create.
18
+ * @param setupData The setup data for the interface.
19
+ */
7
20
  createInterface<T extends typeof ComInterfaceImpl<unknown>>(interfaceType: T, setupData: T extends typeof ComInterfaceImpl<infer P> ? P : never): Promise<ComInterface<InstanceType<T>>>;
8
21
  createInterface<T extends ComInterfaceImpl<unknown>>(interfaceType: string, setupData: T extends ComInterfaceImpl<infer P> ? P : never): Promise<ComInterface<T>>;
9
22
  _update(): Promise<void>;
@@ -17,6 +30,23 @@ export declare class ComHub {
17
30
  * @param endpoint The endpoint for which to print the trace.
18
31
  */
19
32
  printTrace(endpoint: string): Promise<void>;
33
+ /**
34
+ * Sends a block of data to a specific interface and socket.
35
+ * @param block The data block to send.
36
+ * @param interface_uuid The UUID of the interface to send the block to.
37
+ * @param socket_uuid The UUID of the socket to send the block to.
38
+ * @returns A promise that resolves to true if the block was sent successfully, false otherwise.
39
+ */
20
40
  sendBlock(block: Uint8Array, interface_uuid: string, socket_uuid: string): Promise<boolean>;
41
+ /**
42
+ * Registers a callback to intercept incoming blocks.
43
+ * @param callback The callback to be invoked for each incoming block.
44
+ */
45
+ registerIncomingBlockInterceptor(callback: (block: Uint8Array, socket_uuid: string) => void): void;
46
+ /**
47
+ * Registers a callback to intercept outgoing blocks.
48
+ * @param callback The callback to be invoked for each outgoing block.
49
+ */
50
+ registerOutgoingBlockInterceptor(callback: (block: Uint8Array, socket_uuid: string, endpoints: string[]) => void): void;
21
51
  }
22
52
  //# sourceMappingURL=com-hub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"com-hub.d.ts","sourceRoot":"","sources":["../../src/network/com-hub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,qBAAa,MAAM;;gBAYH,QAAQ,EAAE,QAAQ;IAI9B,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACzC,aAAa,EAAE,CAAC,EAChB,IAAI,EAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAWpC,eAAe,CAAC,CAAC,SAAS,OAAO,gBAAgB,CAAC,OAAO,CAAC,EAC5D,aAAa,EAAE,CAAC,EAChB,SAAS,EAAE,CAAC,SAAS,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAClE,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,eAAe,CACjB,CAAC,SAAS,gBAAgB,CAAC,OAAO,CAAC,EAEnC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAC3D,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAkCpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,sBAAsB,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE;IAI9D;;OAEG;IACI,aAAa,IAAI,IAAI;IAO5B;;;OAGG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjD,SAAS,CACZ,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;CAGtB"}
1
+ {"version":3,"file":"com-hub.d.ts","sourceRoot":"","sources":["../../src/network/com-hub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE;;GAEG;AACH,qBAAa,MAAM;;gBAgBH,QAAQ,EAAE,QAAQ;IAI9B;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACzC,aAAa,EAAE,CAAC,EAChB,IAAI,EAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAW1C;;;;OAIG;IACG,eAAe,CAAC,CAAC,SAAS,OAAO,gBAAgB,CAAC,OAAO,CAAC,EAC5D,aAAa,EAAE,CAAC,EAChB,SAAS,EAAE,CAAC,SAAS,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAClE,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,eAAe,CACjB,CAAC,SAAS,gBAAgB,CAAC,OAAO,CAAC,EAEnC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAC3D,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAkCpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,sBAAsB,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE;IAI9D;;OAEG;IACI,aAAa,IAAI,IAAI;IAO5B;;;OAGG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxD;;;;;;OAMG;IACI,SAAS,CACZ,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;IAInB;;;OAGG;IACI,gCAAgC,CACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,GAC3D,IAAI;IAIP;;;OAGG;IACI,gCAAgC,CACnC,QAAQ,EAAE,CACN,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,KAClB,IAAI,GACV,IAAI;CAGV"}