@unyt/datex 0.0.11 → 0.0.12

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 (68) hide show
  1. package/README.md +10 -14
  2. package/esm/datex-web/datex_web.d.ts +2 -0
  3. package/esm/datex-web/datex_web.d.ts.map +1 -0
  4. package/esm/datex-web/datex_web.internal.d.ts +383 -0
  5. package/esm/datex-web/datex_web.internal.d.ts.map +1 -0
  6. package/esm/{datex-core/datex_core_js.internal.js → datex-web/datex_web.internal.js} +737 -1121
  7. package/esm/datex-web/datex_web.js +18 -0
  8. package/esm/datex-web/datex_web.wasm +0 -0
  9. package/esm/datex-web/wasm_url.node.js +1 -0
  10. package/esm/{datex-core.d.ts → datex.d.ts} +3 -3
  11. package/esm/datex.d.ts.map +1 -0
  12. package/esm/{datex-core.js → datex.js} +3 -3
  13. package/esm/default.d.ts.map +1 -1
  14. package/esm/default.js +2 -3
  15. package/esm/deno.json +27 -21
  16. package/esm/dif/core.d.ts.map +1 -1
  17. package/esm/dif/definitions.d.ts.map +1 -1
  18. package/esm/dif/dif-handler.d.ts +10 -1
  19. package/esm/dif/dif-handler.d.ts.map +1 -1
  20. package/esm/dif/dif-handler.js +14 -2
  21. package/esm/dif/display.d.ts.map +1 -1
  22. package/esm/dif/display.js +1 -3
  23. package/esm/dif/js-lib.d.ts.map +1 -1
  24. package/esm/dif/type-registry.d.ts.map +1 -1
  25. package/esm/dif/type-registry.js +2 -2
  26. package/esm/lib/special-core-types/endpoint.d.ts +2 -0
  27. package/esm/lib/special-core-types/endpoint.d.ts.map +1 -1
  28. package/esm/lib/special-core-types/endpoint.js +6 -1
  29. package/esm/mod.d.ts +3 -1
  30. package/esm/mod.d.ts.map +1 -1
  31. package/esm/mod.js +3 -1
  32. package/esm/network/com-hub.d.ts +20 -22
  33. package/esm/network/com-hub.d.ts.map +1 -1
  34. package/esm/network/com-hub.js +30 -49
  35. package/esm/network/interfaces/websocket-server-base.d.ts +8 -0
  36. package/esm/network/interfaces/websocket-server-base.d.ts.map +1 -0
  37. package/esm/network/interfaces/websocket-server-base.js +93 -0
  38. package/esm/network/interfaces/websocket-server-deno.d.ts +4 -0
  39. package/esm/network/interfaces/websocket-server-deno.d.ts.map +1 -0
  40. package/esm/network/interfaces/websocket-server-deno.js +22 -0
  41. package/esm/network/mod.d.ts +0 -1
  42. package/esm/network/mod.d.ts.map +1 -1
  43. package/esm/network/mod.js +0 -1
  44. package/esm/runtime/runtime.d.ts +7 -14
  45. package/esm/runtime/runtime.d.ts.map +1 -1
  46. package/esm/runtime/runtime.js +11 -20
  47. package/esm/utils/devtools-formatter.d.ts +2 -0
  48. package/esm/utils/devtools-formatter.d.ts.map +1 -0
  49. package/esm/utils/devtools-formatter.js +40 -0
  50. package/esm/utils/js-runtime-compat/js-runtime.d.ts.map +1 -1
  51. package/package.json +7 -7
  52. package/esm/datex-core/datex_core_js.d.ts +0 -2
  53. package/esm/datex-core/datex_core_js.d.ts.map +0 -1
  54. package/esm/datex-core/datex_core_js.internal.d.ts +0 -496
  55. package/esm/datex-core/datex_core_js.internal.d.ts.map +0 -1
  56. package/esm/datex-core/datex_core_js.js +0 -21
  57. package/esm/datex-core/datex_core_js.wasm +0 -0
  58. package/esm/datex-core/wasm_url.node.js +0 -1
  59. package/esm/datex-core.d.ts.map +0 -1
  60. package/esm/network/com-interface.d.ts +0 -35
  61. package/esm/network/com-interface.d.ts.map +0 -1
  62. package/esm/network/com-interface.js +0 -75
  63. package/esm/network/interface-impls/base.d.ts +0 -46
  64. package/esm/network/interface-impls/base.d.ts.map +0 -1
  65. package/esm/network/interface-impls/base.js +0 -47
  66. package/esm/network/interface-impls/websocket-client.d.ts +0 -8
  67. package/esm/network/interface-impls/websocket-client.d.ts.map +0 -1
  68. package/esm/network/interface-impls/websocket-client.js +0 -8
@@ -0,0 +1,18 @@
1
+ import * as imports from "./datex_web.internal.js";
2
+ import { detectRuntime, runtimeInterface } from "../utils/js-runtime-compat/js-runtime.js";
3
+
4
+ let wasmUrl;
5
+ const isVite = !!import.meta.env?.MODE;
6
+ if (detectRuntime() == "browser" && isVite) {
7
+ wasmUrl = (await import("./wasm_url.node.js")).default;
8
+ } else {
9
+ wasmUrl = new URL("datex_web.wasm", import.meta.url);
10
+ }
11
+
12
+ const wasm = (await runtimeInterface.instantiateWebAssembly(wasmUrl, {
13
+ "./datex_web_bg.js": imports,
14
+ })).instance;
15
+ export * from "./datex_web.internal.js";
16
+ import { __wbg_set_wasm } from "./datex_web.internal.js";
17
+ __wbg_set_wasm(wasm.exports);
18
+ wasm.exports.__wbindgen_start();
Binary file
@@ -0,0 +1 @@
1
+ export { default } from "./datex_web.wasm?url";
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @module datex-core.ts
2
+ * @module datex.ts
3
3
  * @description
4
4
  * This module serves as the core of the Datex library, re-exporting
5
5
  * essential types and functionalities from the Datex core JavaScript implementation.
6
6
  */
7
- export * from "./datex-core/datex_core_js.js";
8
- //# sourceMappingURL=datex-core.d.ts.map
7
+ export * from "./datex-web/datex_web.js";
8
+ //# sourceMappingURL=datex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datex.d.ts","sourceRoot":"","sources":["../src/datex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,0BAA0B,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @module datex-core.ts
2
+ * @module datex.ts
3
3
  * @description
4
4
  * This module serves as the core of the Datex library, re-exporting
5
5
  * essential types and functionalities from the Datex core JavaScript implementation.
6
6
  */
7
- /* @ts-types="./datex-core/datex_core_js.d.ts" */
8
- export * from "./datex-core/datex_core_js.js";
7
+ /* @ts-types="./datex-web/datex_web.d.ts" */
8
+ export * from "./datex-web/datex_web.js";
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../src/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,qBAAqB,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAa/C;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAElB,CAAC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../src/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,qBAAqB,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAsB,MAAM,sBAAsB,CAAC;AAYnE;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,OAElB,CAAC"}
package/esm/default.js CHANGED
@@ -18,13 +18,12 @@ import { Runtime } from "./runtime/runtime.js";
18
18
  const defaultConfig = {
19
19
  interfaces: [{
20
20
  type: "websocket-client",
21
- config: { address: "wss://example.unyt.land" },
21
+ config: { url: "wss://example.unyt.land" },
22
22
  }],
23
- debug: false, // set to true to show info/debug messages
24
23
  };
25
24
  /**
26
25
  * The default instance of the Datex runtime.
27
26
  */
28
27
  export const Datex = await Runtime.create(defaultConfig, {
29
- allow_unsigned_blocks: true,
28
+ log_level: "warn",
30
29
  });
package/esm/deno.json CHANGED
@@ -1,15 +1,12 @@
1
1
  {
2
2
  "name": "@unyt/datex",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": "./src/mod.ts",
7
7
  "./default": "./src/default.ts",
8
- "./interface-impls/base": "./src/network/interface-impls/base.ts",
9
- "./interface-impls/serial": "./src/network/interface-impls/serial.ts",
10
- "./interface-impls/webrtc": "./src/network/interface-impls/webrtc.ts",
11
- "./interface-impls/websocket-client": "./src/network/interface-impls/websocket-client.ts",
12
- "./interface-impls/websocket-server-deno": "./src/network/interface-impls/websocket-server-deno.ts"
8
+ "./interfaces/websocket-server-base": "./src/network/interfaces/websocket-server-base.ts",
9
+ "./interfaces/websocket-server-deno": "./src/network/interfaces/websocket-server-deno.ts"
13
10
  },
14
11
  "compilerOptions": {
15
12
  "noImplicitOverride": true,
@@ -19,40 +16,49 @@
19
16
  ]
20
17
  },
21
18
  "tasks": {
22
- "build": "deno run -A scripts/build-wasm.ts --profile debug",
19
+ "debug": "deno run -A scripts/build-wasm.ts --profile debug --features debug",
23
20
  "release": "deno run -A scripts/build-wasm.ts --profile release",
24
- "debug-no-opt": "deno task build --no-opt",
25
- "test": "deno task build && deno test -A",
21
+ "debug-unsecure": "deno run -A scripts/build-wasm.ts --profile debug --features debug,allow_unsigned_blocks",
22
+
23
+ "debug-no-opt": "deno task debug --no-opt",
24
+ "test": "deno task debug-no-opt && deno test -A",
26
25
  "test-no-build": "deno test -A",
26
+
27
27
  "build-npm": "deno run -A scripts/build-npm.ts",
28
28
  "build-bundle": "deno run -A scripts/build-bundle.ts",
29
- "serve": "deno run -A https://raw.githubusercontent.com/unyt-org/ts-file-server/main/src/run.ts -w --minify=false --port 8042",
29
+
30
+ "browser-demo": "deno task debug-no-opt && deno task build-npm && cd datex-browser-demo && npm install && npm run dev",
31
+ "browser-demo-no-build": "deno task build-npm && cd datex-browser-demo && npm install && npm run dev",
32
+
30
33
  "fmt": "deno fmt && cargo fmt",
31
34
  "lint": "deno lint --fix && cargo clippy --fix --features debug"
32
35
  },
33
36
  "fmt": {
34
37
  "indentWidth": 4,
38
+ "lineWidth": 120,
35
39
  "exclude": [
36
40
  "./npm"
37
41
  ]
38
42
  },
39
43
  "imports": {
40
44
  "@david/path": "jsr:@david/path@^0.2.0",
41
- "@deno/dnt": "jsr:@deno/dnt@^0.42.1",
42
- "@deno/wasmbuild": "https://jsr.io/@deno/wasmbuild/0.20.0/lib/commands/build_command.ts",
45
+ "@david/temp": "jsr:@david/temp@^0.1.1",
46
+ "@deno/dnt": "jsr:@deno/dnt@^0.42.3",
43
47
  "@qnighy/dedent": "jsr:@qnighy/dedent@^0.1.2",
44
- "@std/assert": "jsr:@std/assert@^1.0.15",
45
- "@std/cli": "jsr:@std/cli@^1.0.23",
48
+ "@std/assert": "jsr:@std/assert@^1.0.19",
49
+ "@std/cli": "jsr:@std/cli@^1.0.28",
46
50
  "@std/encoding": "jsr:@std/encoding@^1.0.10",
47
- "@std/fmt": "jsr:@std/fmt@^1.0.8",
48
- "@std/fs": "jsr:@std/fs@^1.0.19",
49
- "@std/uuid": "jsr:@std/uuid@^1.0.9",
51
+ "@std/fmt": "jsr:@std/fmt@^1.0.9",
52
+ "@std/fs": "jsr:@std/fs@^1.0.23",
53
+ "@std/tar": "jsr:@std/tar@^0.1.10",
54
+ "@std/uuid": "jsr:@std/uuid@^1.1.0",
50
55
  "@unyt/speck": "jsr:@unyt/speck@^0.0.10",
51
- "datex-core-js/": "./src/"
56
+ "datex/": "./src/"
52
57
  },
53
58
  "test": {
54
59
  "exclude": [
55
- "./npm"
60
+ "./npm",
61
+ "./datex-browser-demo"
56
62
  ]
57
63
  },
58
64
  "publish": {
@@ -68,8 +74,8 @@
68
74
  "scripts",
69
75
  "test",
70
76
  "rs-lib",
71
- "!src/datex-core/datex_core_js.wasm",
72
- "!src/datex-core/datex_core_js.internal.js"
77
+ "!src/datex-web/datex_web.wasm",
78
+ "!src/datex-web/datex_web.internal.js"
73
79
  ]
74
80
  }
75
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/dif/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BlB,CAAC;AACX;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;CAsBxB,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/dif/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BlB,CAAC;AACX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;CAsBxB,CAAC"}
@@ -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,4 +1,4 @@
1
- import type { JSRuntime, RuntimeDIFHandle } from "../datex-core.js";
1
+ import type { JSRuntime, RuntimeDIFHandle } from "../datex.js";
2
2
  import { Ref } from "../refs/ref.js";
3
3
  import { type DIFPointerAddress, type DIFProperty, DIFReferenceMutability, type DIFTypeDefinition, type DIFUpdate, type DIFUpdateData, type DIFValue, type DIFValueContainer, type ObserveOptions } from "./definitions.js";
4
4
  import { type TypeBinding, TypeRegistry } from "./type-registry.js";
@@ -276,6 +276,15 @@ export declare class DIFHandler {
276
276
  getReferenceProxy<T extends WeakKey>(value: T): T | null;
277
277
  /**
278
278
  * Converts a given JS value to its DIFValueContainer representation.
279
+ * This method can be called statically or with an instance to use the instance's DIFHandler context.
280
+ * NOTE: When called statically, there is no cache for already registered references, meaning that new references will be created
281
+ * for the same object each time this method is called.
282
+ */
283
+ static convertJSValueToDIFValueContainer<T extends unknown>(value: T, difHandlerInstance?: DIFHandler): DIFValueContainer;
284
+ /**
285
+ * Instance method wrapper for static convertJSValueToDIFValueContainer
286
+ * Converts a given JS value to its DIFValueContainer representation.
287
+ * @param value
279
288
  */
280
289
  convertJSValueToDIFValueContainer<T extends unknown>(value: T): DIFValueContainer;
281
290
  /** DIF update handler utilities */
@@ -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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"}
@@ -737,10 +737,14 @@ export class DIFHandler {
737
737
  }
738
738
  /**
739
739
  * Converts a given JS value to its DIFValueContainer representation.
740
+ * This method can be called statically or with an instance to use the instance's DIFHandler context.
741
+ * NOTE: When called statically, there is no cache for already registered references, meaning that new references will be created
742
+ * for the same object each time this method is called.
740
743
  */
741
- convertJSValueToDIFValueContainer(value) {
744
+ static convertJSValueToDIFValueContainer(value, difHandlerInstance) {
742
745
  // if the value is a registered reference, return its address
743
- const existingReference = this.tryGetReferenceMetadata(value);
746
+ const existingReference = difHandlerInstance &&
747
+ difHandlerInstance.tryGetReferenceMetadata(value);
744
748
  if (existingReference) {
745
749
  return existingReference.address;
746
750
  }
@@ -817,6 +821,14 @@ export class DIFHandler {
817
821
  }
818
822
  throw new Error("Unsupported type for conversion to DIFValue");
819
823
  }
824
+ /**
825
+ * Instance method wrapper for static convertJSValueToDIFValueContainer
826
+ * Converts a given JS value to its DIFValueContainer representation.
827
+ * @param value
828
+ */
829
+ convertJSValueToDIFValueContainer(value) {
830
+ return DIFHandler.convertJSValueToDIFValueContainer(value, this);
831
+ }
820
832
  /** DIF update handler utilities */
821
833
  /**
822
834
  * Triggers a 'set' update for the given pointer address, key and value.
@@ -1 +1 @@
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,iBAAiB,EACtB,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,gCAAgC,CAC5C,OAAO,EAAE,iBAAiB,GAC3B,MAAM,CAMR;AAED;;GAEG;AACH,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,iBAAiB,EACtB,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,CAcR;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACjD,WAAW,EAAE,sBAAsB,GACpC,MAAM,CAuBR;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC5C,OAAO,EAAE,iBAAiB,GAC3B,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS9D"}
@@ -34,9 +34,7 @@ export function difValueContainerToDisplayString(container) {
34
34
  return addressToDisplayString(container);
35
35
  }
36
36
  else {
37
- const typeString = container.type
38
- ? difTypeDefinitionToDisplayString(container.type)
39
- : null;
37
+ const typeString = container.type ? difTypeDefinitionToDisplayString(container.type) : null;
40
38
  const valueString = difRepresentationValueToDisplayString(container.value);
41
39
  if (typeString) {
42
40
  return `{ type: ${typeString}, value: ${valueString} }`;
@@ -1 +1 @@
1
- {"version":3,"file":"js-lib.d.ts","sourceRoot":"","sources":["../../src/dif/js-lib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;CAEnB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"js-lib.d.ts","sourceRoot":"","sources":["../../src/dif/js-lib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;CAEnB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-registry.d.ts","sourceRoot":"","sources":["../../src/dif/type-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-registry.d.ts","sourceRoot":"","sources":["../../src/dif/type-registry.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _TypeRegistry_difHandler, _TypeRegistry_typeBindings, _TypeBinding_difHandler, _TypeBinding_definition;
13
13
  import { DEBUG_MODE } from "../global.js";
14
- import { DIFUpdateKind, } from "./definitions.js";
15
- import { IS_PROXY_ACCESS, } from "./dif-handler.js";
14
+ import { DIFUpdateKind } from "./definitions.js";
15
+ import { IS_PROXY_ACCESS } from "./dif-handler.js";
16
16
  // interface GetProperty<K,V> = {
17
17
  // function getProperty<K>(self: Type, key: K) -> X;
18
18
  // }
@@ -22,5 +22,7 @@ export declare class Endpoint {
22
22
  * @returns The string representation of the endpoint.
23
23
  */
24
24
  toString(): string;
25
+ get [Symbol.toStringTag](): string;
26
+ get [Symbol.toPrimitive](): string;
25
27
  }
26
28
  //# sourceMappingURL=endpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/lib/special-core-types/endpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,QAAQ;;IAIjB,oFAAoF;IACpF,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAa;IAE7D,OAAO;IAKP;;;OAGG;WACW,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IASjD;;;;OAIG;WACW,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAa7C;;;OAGG;IACI,QAAQ,IAAI,MAAM;CAG5B"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/lib/special-core-types/endpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,QAAQ;;IAIjB,oFAAoF;IACpF,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAa;IAE7D,OAAO;IAKP;;;OAGG;WACW,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IASjD;;;;OAIG;WACW,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAa7C;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;CACJ"}
@@ -56,8 +56,13 @@ export class Endpoint {
56
56
  toString() {
57
57
  return __classPrivateFieldGet(this, _Endpoint_endpoint, "f");
58
58
  }
59
+ get [(_Endpoint_endpoint = new WeakMap(), Symbol.toStringTag)]() {
60
+ return __classPrivateFieldGet(this, _Endpoint_endpoint, "f");
61
+ }
62
+ get [Symbol.toPrimitive]() {
63
+ return __classPrivateFieldGet(this, _Endpoint_endpoint, "f");
64
+ }
59
65
  }
60
- _Endpoint_endpoint = new WeakMap();
61
66
  /** map with weak values that keeps track of all currently instantiated endpoints */
62
67
  Object.defineProperty(Endpoint, "endpoints", {
63
68
  enumerable: true,
package/esm/mod.d.ts CHANGED
@@ -11,7 +11,7 @@
11
11
  * export const runtime: Runtime = await Runtime.create({
12
12
  * interfaces: [{
13
13
  * type: "websocket-client",
14
- * config: { address: "wss://example.unyt.land" },
14
+ * config: { url: "wss://example.unyt.land" },
15
15
  * }],
16
16
  * });
17
17
  *
@@ -22,4 +22,6 @@
22
22
  export * from "./runtime/runtime.js";
23
23
  export * as DIF from "./dif/mod.js";
24
24
  export * as Network from "./network/mod.js";
25
+ export * from "./refs/ref.js";
26
+ import "./utils/devtools-formatter.js";
25
27
  //# 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;;;;;;;;;;;;;;;;;;;;GAoBG;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;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,qBAAqB,CAAC;AAG7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,OAAO,+BAA+B,CAAC"}
package/esm/mod.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * export const runtime: Runtime = await Runtime.create({
12
12
  * interfaces: [{
13
13
  * type: "websocket-client",
14
- * config: { address: "wss://example.unyt.land" },
14
+ * config: { url: "wss://example.unyt.land" },
15
15
  * }],
16
16
  * });
17
17
  *
@@ -22,3 +22,5 @@
22
22
  export * from "./runtime/runtime.js";
23
23
  export * as DIF from "./dif/mod.js";
24
24
  export * as Network from "./network/mod.js";
25
+ export * from "./refs/ref.js";
26
+ import "./utils/devtools-formatter.js";
@@ -1,43 +1,41 @@
1
- import type { JSComHub } from "../datex-core/datex_core_js";
2
- import { ComInterface, type ComInterfaceImpl } from "./com-interface.js";
1
+ import type { ComHubMetadata, ComInterfaceConfiguration, JSComHub, NetworkTraceResult } from "../datex-web/datex_web";
2
+ import type { Runtime } from "../runtime/runtime.js";
3
+ export type ComInterfaceFactory<SetupData = unknown> = {
4
+ interfaceType: string;
5
+ factory: ComInterfaceFactoryFn<SetupData>;
6
+ };
7
+ export type ComInterfaceFactoryFn<SetupData = unknown> = (setup_data: SetupData) => ComInterfaceConfiguration | Promise<ComInterfaceConfiguration>;
8
+ export type ComInterfaceUUID = `com_interface::${string}`;
9
+ export type ComInterfaceSocketUUID = `socket::${string}`;
3
10
  /**
4
11
  * Communication hub for managing communication interfaces.
5
12
  */
6
13
  export declare class ComHub {
7
14
  #private;
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
- */
14
- static registerInterfaceImpl<N extends string>(interfaceType: N, impl: typeof ComInterfaceImpl<unknown>): void;
15
+ constructor(jsComHub: JSComHub, runtime: Runtime);
16
+ registerInterfaceFactory<SetupData>(factoryDefinition: ComInterfaceFactory<SetupData>): void;
15
17
  /**
16
18
  * Creates a new communication interface.
17
- * @param interfaceType The type of the interface to create.
19
+ * @param type The type of the interface to create.
18
20
  * @param setupData The setup data for the interface.
21
+ * @param priority The priority of the interface (optional).
22
+ * @returns A promise that resolves to the UUID of the created interface.
19
23
  */
20
- createInterface<T extends typeof ComInterfaceImpl<unknown>>(interfaceType: T, setupData: T extends typeof ComInterfaceImpl<infer P> ? P : never): Promise<ComInterface<InstanceType<T>>>;
21
- createInterface<T extends ComInterfaceImpl<unknown>>(interfaceType: string, setupData: T extends ComInterfaceImpl<infer P> ? P : never): Promise<ComInterface<T>>;
22
- _update(): Promise<void>;
23
- _drain_incoming_blocks(): Uint8Array<ArrayBufferLike>[];
24
+ createInterface<SetupData>(type: string, setupData: SetupData, priority?: number): Promise<ComInterfaceUUID>;
25
+ removeInterface(interface_uuid: ComInterfaceUUID): Promise<void>;
26
+ removeSocket(socket_uuid: ComInterfaceSocketUUID): Promise<void>;
24
27
  /**
25
28
  * Prints the metadata of the ComHub. Only available in debug builds.
29
+ * Only exists in debug builds
26
30
  */
27
31
  printMetadata(): void;
32
+ getMetadata(): ComHubMetadata;
28
33
  /**
29
34
  * Prints the trace for a specific endpoint. Only available in debug builds.
30
35
  * @param endpoint The endpoint for which to print the trace.
31
36
  */
32
37
  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
- */
40
- sendBlock(block: Uint8Array, interface_uuid: string, socket_uuid: string): Promise<boolean>;
38
+ getTrace(endpoint: string): Promise<NetworkTraceResult | undefined>;
41
39
  /**
42
40
  * Registers a callback to intercept incoming blocks.
43
41
  * @param callback The callback to be invoked for each incoming block.
@@ -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;;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"}
1
+ {"version":3,"file":"com-hub.d.ts","sourceRoot":"","sources":["../../src/network/com-hub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EACd,yBAAyB,EACzB,QAAQ,EACR,kBAAkB,EACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,mBAAmB,CAAC,SAAS,GAAG,OAAO,IAAI;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,SAAS,GAAG,OAAO,IAAI,CACrD,UAAU,EAAE,SAAS,KACpB,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,MAAM,EAAE,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,WAAW,MAAM,EAAE,CAAC;AAEzD;;GAEG;AACH,qBAAa,MAAM;;gBAKH,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO;IAKzC,wBAAwB,CAAC,SAAS,EACrC,iBAAiB,EAAE,mBAAmB,CAAC,SAAS,CAAC;IAWrD;;;;;;OAMG;IACU,eAAe,CAAC,SAAS,EAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC;IAQrB,eAAe,CAClB,cAAc,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC;IAIT,YAAY,CACf,WAAW,EAAE,sBAAsB,GACpC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;OAGG;IACI,aAAa,IAAI,IAAI;IAKrB,WAAW,IAAI,cAAc;IAKpC;;;OAGG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAK1E;;;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"}
@@ -9,67 +9,58 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _a, _ComHub_interfaceImpls, _ComHub_interfaceImplsByClass, _ComHub_jsComHub;
13
- import { ComInterface } from "./com-interface.js";
12
+ var _ComHub_jsComHub, _ComHub_runtime;
14
13
  /**
15
14
  * Communication hub for managing communication interfaces.
16
15
  */
17
16
  export class ComHub {
18
- constructor(jsComHub) {
17
+ constructor(jsComHub, runtime) {
19
18
  /** The JS communication hub. */
20
19
  _ComHub_jsComHub.set(this, void 0);
20
+ _ComHub_runtime.set(this, void 0);
21
21
  __classPrivateFieldSet(this, _ComHub_jsComHub, jsComHub, "f");
22
+ __classPrivateFieldSet(this, _ComHub_runtime, runtime, "f");
23
+ }
24
+ registerInterfaceFactory(factoryDefinition) {
25
+ __classPrivateFieldGet(this, _ComHub_jsComHub, "f").register_interface_factory(factoryDefinition.interfaceType, async (setupData) => {
26
+ const setupDataJS = await __classPrivateFieldGet(this, _ComHub_runtime, "f").dif.resolveDIFValueContainer(setupData);
27
+ return factoryDefinition.factory(setupDataJS);
28
+ });
22
29
  }
23
30
  /**
24
- * Registers a communication interface implementation.
25
- * @param interfaceType The type of the interface.
26
- * @param impl The implementation class of the interface.
31
+ * Creates a new communication interface.
32
+ * @param type The type of the interface to create.
33
+ * @param setupData The setup data for the interface.
34
+ * @param priority The priority of the interface (optional).
35
+ * @returns A promise that resolves to the UUID of the created interface.
27
36
  */
28
- static registerInterfaceImpl(interfaceType, impl) {
29
- if (__classPrivateFieldGet(this, _a, "f", _ComHub_interfaceImpls).has(interfaceType)) {
30
- throw new Error(`Interface implementation for ${interfaceType} already registered.`);
31
- }
32
- __classPrivateFieldGet(this, _a, "f", _ComHub_interfaceImpls).set(interfaceType, impl);
33
- __classPrivateFieldGet(this, _a, "f", _ComHub_interfaceImplsByClass).set(impl, interfaceType);
34
- }
35
- async createInterface(interfaceType, setupData) {
36
- const type = typeof interfaceType === "string"
37
- ? interfaceType
38
- : __classPrivateFieldGet(_a, _a, "f", _ComHub_interfaceImplsByClass).get(interfaceType);
39
- if (type === undefined) {
40
- throw new Error(`Interface implementation for ${interfaceType.name} not registered.`);
41
- }
42
- const implClass = __classPrivateFieldGet(_a, _a, "f", _ComHub_interfaceImpls).get(type);
43
- if (implClass === undefined) {
44
- throw new Error(`Interface implementation for ${type} not registered.`);
45
- }
46
- const uuid = await __classPrivateFieldGet(this, _ComHub_jsComHub, "f").create_interface(type, JSON.stringify(setupData));
47
- const impl = new implClass(uuid, setupData, __classPrivateFieldGet(this, _ComHub_jsComHub, "f"));
48
- await impl.init?.();
49
- return new ComInterface(uuid, impl, __classPrivateFieldGet(this, _ComHub_jsComHub, "f"));
37
+ async createInterface(type, setupData, priority) {
38
+ return await __classPrivateFieldGet(this, _ComHub_jsComHub, "f").create_interface(type, __classPrivateFieldGet(this, _ComHub_runtime, "f").dif.convertJSValueToDIFValueContainer(setupData), priority);
50
39
  }
51
- _update() {
52
- return __classPrivateFieldGet(this, _ComHub_jsComHub, "f").update();
40
+ removeInterface(interface_uuid) {
41
+ return __classPrivateFieldGet(this, _ComHub_jsComHub, "f").remove_interface(interface_uuid);
53
42
  }
54
- _drain_incoming_blocks() {
55
- return __classPrivateFieldGet(this, _ComHub_jsComHub, "f")._drain_incoming_blocks();
43
+ removeSocket(socket_uuid) {
44
+ return __classPrivateFieldGet(this, _ComHub_jsComHub, "f").remove_socket(socket_uuid);
56
45
  }
57
46
  /**
58
47
  * Prints the metadata of the ComHub. Only available in debug builds.
48
+ * Only exists in debug builds
59
49
  */
60
50
  printMetadata() {
61
- // as any required because get_metadata_string only exists in debug builds
62
- // deno-lint-ignore no-explicit-any
63
51
  const metadata = __classPrivateFieldGet(this, _ComHub_jsComHub, "f").get_metadata_string();
64
52
  console.log(metadata);
65
53
  }
54
+ getMetadata() {
55
+ // as any required because get_metadata only exists in debug builds
56
+ return __classPrivateFieldGet(this, _ComHub_jsComHub, "f").get_metadata();
57
+ }
66
58
  /**
67
59
  * Prints the trace for a specific endpoint. Only available in debug builds.
68
60
  * @param endpoint The endpoint for which to print the trace.
69
61
  */
70
62
  async printTrace(endpoint) {
71
63
  // as any required because get_trace_string only exists in debug builds
72
- // deno-lint-ignore no-explicit-any
73
64
  const trace = await __classPrivateFieldGet(this, _ComHub_jsComHub, "f").get_trace_string(endpoint);
74
65
  if (trace === undefined) {
75
66
  console.warn(`No trace available for endpoint: ${endpoint}`);
@@ -77,15 +68,9 @@ export class ComHub {
77
68
  }
78
69
  console.log(trace);
79
70
  }
80
- /**
81
- * Sends a block of data to a specific interface and socket.
82
- * @param block The data block to send.
83
- * @param interface_uuid The UUID of the interface to send the block to.
84
- * @param socket_uuid The UUID of the socket to send the block to.
85
- * @returns A promise that resolves to true if the block was sent successfully, false otherwise.
86
- */
87
- sendBlock(block, interface_uuid, socket_uuid) {
88
- return __classPrivateFieldGet(this, _ComHub_jsComHub, "f").send_block(block, interface_uuid, socket_uuid);
71
+ getTrace(endpoint) {
72
+ // as any required because get_trace_string only exists in debug builds
73
+ return __classPrivateFieldGet(this, _ComHub_jsComHub, "f").get_trace(endpoint);
89
74
  }
90
75
  /**
91
76
  * Registers a callback to intercept incoming blocks.
@@ -102,8 +87,4 @@ export class ComHub {
102
87
  __classPrivateFieldGet(this, _ComHub_jsComHub, "f").register_outgoing_block_interceptor(callback);
103
88
  }
104
89
  }
105
- _a = ComHub, _ComHub_jsComHub = new WeakMap();
106
- /** Static map of registered interface implementations. */
107
- _ComHub_interfaceImpls = { value: new Map() };
108
- /** Static map of interface implementations by class. */
109
- _ComHub_interfaceImplsByClass = { value: new Map() };
90
+ _ComHub_jsComHub = new WeakMap(), _ComHub_runtime = new WeakMap();