@equinor/fusion-framework-module-signalr 13.0.0 → 13.0.1

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 (38) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/esm/{SignalRModuleConfigurator.js → SignalRConfigurator.js} +3 -23
  3. package/dist/esm/SignalRConfigurator.js.map +1 -0
  4. package/dist/esm/SignalRModule.js +3 -1
  5. package/dist/esm/SignalRModule.js.map +1 -1
  6. package/dist/esm/SignalRModuleConfigBuilder.js +23 -0
  7. package/dist/esm/SignalRModuleConfigBuilder.js.map +1 -0
  8. package/dist/esm/SignalRModuleProvider.js +6 -1
  9. package/dist/esm/SignalRModuleProvider.js.map +1 -1
  10. package/dist/esm/index.js +2 -1
  11. package/dist/esm/index.js.map +1 -1
  12. package/dist/esm/lib/Topic.js +2 -2
  13. package/dist/esm/lib/Topic.js.map +1 -1
  14. package/dist/esm/lib/utils/configure-from-framework.js +2 -0
  15. package/dist/esm/lib/utils/configure-from-framework.js.map +1 -1
  16. package/dist/esm/lib/utils/enable-signalr.js +2 -1
  17. package/dist/esm/lib/utils/enable-signalr.js.map +1 -1
  18. package/dist/esm/version.js +1 -1
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/dist/types/SignalRConfigurator.d.ts +37 -0
  21. package/dist/types/SignalRModule.d.ts +1 -1
  22. package/dist/types/{SignalRModuleConfigurator.d.ts → SignalRModuleConfigBuilder.d.ts} +1 -35
  23. package/dist/types/SignalRModuleProvider.d.ts +1 -1
  24. package/dist/types/index.d.ts +2 -1
  25. package/dist/types/lib/Topic.d.ts +2 -2
  26. package/dist/types/lib/utils/enable-signalr.d.ts +1 -1
  27. package/dist/types/version.d.ts +1 -1
  28. package/package.json +8 -8
  29. package/src/SignalRConfigurator.ts +66 -0
  30. package/src/SignalRModule.ts +4 -1
  31. package/src/{SignalRModuleConfigurator.ts → SignalRModuleConfigBuilder.ts} +2 -61
  32. package/src/SignalRModuleProvider.ts +14 -9
  33. package/src/index.ts +3 -2
  34. package/src/lib/Topic.ts +4 -4
  35. package/src/lib/utils/configure-from-framework.ts +3 -1
  36. package/src/lib/utils/enable-signalr.ts +5 -4
  37. package/src/version.ts +1 -1
  38. package/dist/esm/SignalRModuleConfigurator.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## 13.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 80c3e4a: Internal: resolve `noExplicitAny` Biome warnings in `enableSignalR`'s `IModulesConfigurator<any, any>` overloads (via `biome-ignore`), and safely tighten `Topic`'s `send`/`invoke` rest parameters from `any[]` to `unknown[]` since they are only forwarded to the underlying hub connection call. No public API or behavior change.
8
+ - 80c3e4a: Internal: resolve `fusion-lint` warnings (`require-intent-comment`, `require-tsdoc`, `single-export-per-file`, `no-todo-without-issue`). Split `SignalRConfigurator` into its own file, removed stale `eslint-disable` comments (repo uses Biome), and referenced tracking issue #5096 for a `BaseConfigBuilder` migration TODO.
9
+ - 80c3e4a: Internal: renamed 45 source files across these packages to comply with the `filename-convention` lint rule (e.g. `AIConfigurator.ts` → `AiConfigurator.ts`, `BookmarkProvider.actions.ts` → `bookmark-actions.ts`, `errors/app-build-error.ts` → `errors/AppBuildError.ts`, `plugins/api/plugin.ts` → `plugins/api/ApiPlugin.ts`, `errors.ts` → `UnsupportedApiVersion.ts`, etc.). Also added `enable-signalr.ts` to the `filename-convention` exclude list since the suggested rename would incorrectly split the "SignalR" brand name. No public API changes.
10
+
3
11
  ## 13.0.0
4
12
 
5
13
  ### Patch Changes
@@ -1,25 +1,4 @@
1
- import { ModuleConfigBuilder, } from '@equinor/fusion-framework-module';
2
- /**
3
- * Builder utility for registering SignalR hub configurations during
4
- * module initialization.
5
- *
6
- * Extends {@link ModuleConfigBuilder} to provide access to resolved
7
- * module dependencies (e.g., service-discovery, authentication) so that
8
- * hub URLs and access-token factories can be built dynamically.
9
- *
10
- * @template TDeps - Tuple of module dependencies available through the builder
11
- */
12
- export class SignalRModuleConfigBuilder extends ModuleConfigBuilder {
13
- /**
14
- * Register a named hub connection through the underlying configurator.
15
- *
16
- * @param name - Unique hub identifier
17
- * @param config - Hub connection configuration
18
- */
19
- async addHub(name, config) {
20
- this._config.addHub(name, config);
21
- }
22
- }
1
+ import { SignalRModuleConfigBuilder, } from './SignalRModuleConfigBuilder';
23
2
  /**
24
3
  * Default {@link ISignalRConfigurator} implementation.
25
4
  *
@@ -43,6 +22,7 @@ export class SignalRConfigurator {
43
22
  * {@link SignalRConfigurator.createConfig}.
44
23
  *
45
24
  * @param cb - Callback receiving a {@link SignalRModuleConfigBuilder}
25
+ * @template T - Type of module dependencies made available to the builder callback
46
26
  */
47
27
  onCreateConfig(cb) {
48
28
  this.#builderCallbacks.push(cb);
@@ -66,4 +46,4 @@ export class SignalRConfigurator {
66
46
  return { hubs: this.#hubs };
67
47
  }
68
48
  }
69
- //# sourceMappingURL=SignalRModuleConfigurator.js.map
49
+ //# sourceMappingURL=SignalRConfigurator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalRConfigurator.js","sourceRoot":"","sources":["../../src/SignalRConfigurator.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,0BAA0B,GAI3B,MAAM,8BAA8B,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAC9B,iBAAiB,GAA8C,EAAE,CAAC;IAElE,KAAK,GAAqC,EAAE,CAAC;IAE7C;;;;;OAKG;IACI,MAAM,CAAC,IAAY,EAAE,MAAwB;QAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAI,EAAyC;QAChE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,YAAY,CACvB,IAA2E;QAE3E,oCAAoC;QACpC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,8DAA8D;YAC9D,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAA2B,IAAI,EAAE,IAAI,CAAC,CAAC;YACrF,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { SignalRConfigurator } from './SignalRModuleConfigurator';
1
+ import { SignalRConfigurator } from './SignalRConfigurator';
2
2
  import { SignalRModuleProvider } from './SignalRModuleProvider';
3
3
  /** Module registration key for the SignalR module (`'signalR'`). */
4
4
  export const moduleKey = 'signalR';
@@ -17,6 +17,8 @@ export const moduleKey = 'signalR';
17
17
  * configurator.addConfig({ module: signalR });
18
18
  * ```
19
19
  */
20
+ // Deliberately co-located with the `moduleKey` constant it references
21
+ // fusion-lint-disable-next-line single-export-per-file
20
22
  export const module = {
21
23
  name: moduleKey,
22
24
  configure: () => new SignalRConfigurator(),
@@ -1 +1 @@
1
- {"version":3,"file":"SignalRModule.js","sourceRoot":"","sources":["../../src/SignalRModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE7F,OAAO,EAAyB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKvF,oEAAoE;AACpE,MAAM,CAAC,MAAM,SAAS,GAAqB,SAAS,CAAC;AAWrD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE;IAC1C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,MAA8B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"SignalRModule.js","sourceRoot":"","sources":["../../src/SignalRModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAyB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKvF,oEAAoE;AACpE,MAAM,CAAC,MAAM,SAAS,GAAqB,SAAS,CAAC;AAWrD;;;;;;;;;;;;;;GAcG;AACH,sEAAsE;AACtE,uDAAuD;AACvD,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE;IAC1C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,MAA8B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { ModuleConfigBuilder } from '@equinor/fusion-framework-module';
2
+ /**
3
+ * Builder utility for registering SignalR hub configurations during
4
+ * module initialization.
5
+ *
6
+ * Extends {@link ModuleConfigBuilder} to provide access to resolved
7
+ * module dependencies (e.g., service-discovery, authentication) so that
8
+ * hub URLs and access-token factories can be built dynamically.
9
+ *
10
+ * @template TDeps - Tuple of module dependencies available through the builder
11
+ */
12
+ export class SignalRModuleConfigBuilder extends ModuleConfigBuilder {
13
+ /**
14
+ * Register a named hub connection through the underlying configurator.
15
+ *
16
+ * @param name - Unique hub identifier
17
+ * @param config - Hub connection configuration
18
+ */
19
+ async addHub(name, config) {
20
+ this._config.addHub(name, config);
21
+ }
22
+ }
23
+ //# sourceMappingURL=SignalRModuleConfigBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalRModuleConfigBuilder.js","sourceRoot":"","sources":["../../src/SignalRModuleConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAwFvF;;;;;;;;;GASG;AACH,MAAM,OAAO,0BAGX,SAAQ,mBAAgD;IACxD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,MAAwB;QACjD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -43,10 +43,12 @@ export class SignalRModuleProvider {
43
43
  */
44
44
  _createHubConnection(hubId) {
45
45
  const LOG_LEVEL_CRITICAL = 5;
46
+ // Reuse an already-established connection observable for this hub
46
47
  if (hubId in this.#hubConnections) {
47
48
  return this.#hubConnections[hubId];
48
49
  }
49
50
  const config = this.#config.hubs[hubId];
51
+ // Fail loudly when the hub was never registered with the configurator
50
52
  if (!config) {
51
53
  throw Error(`could not find any configuration for hub [${hubId}]`);
52
54
  }
@@ -63,6 +65,7 @@ export class SignalRModuleProvider {
63
65
  observer.next(connection);
64
66
  })
65
67
  .catch((error) => {
68
+ // Swallow expected teardown aborts; re-throw anything else
66
69
  if (error instanceof AbortError) {
67
70
  // AbortError is expected during teardown — safe to ignore
68
71
  }
@@ -77,7 +80,9 @@ export class SignalRModuleProvider {
77
80
  delete this.#hubConnections[hubId];
78
81
  };
79
82
  return teardown;
80
- }).pipe(shareReplay({
83
+ })
84
+ // Share a single connection across subscribers and tear it down when unused
85
+ .pipe(shareReplay({
81
86
  /** only emit last connection when new subscriber connects */
82
87
  bufferSize: 1,
83
88
  /** when no subscribers, teardown observable */
@@ -1 +1 @@
1
- {"version":3,"file":"SignalRModuleProvider.js","sourceRoot":"","sources":["../../src/SignalRModuleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAI/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgCpC;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAChC,OAAO,CAAgB;IACvB,eAAe,GAA8C,EAAE,CAAC;IAEhE;;OAEG;IACH,YAAY,MAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACI,OAAO,CAAI,KAAa,EAAE,UAAkB;QACjD,OAAO,IAAI,KAAK,CAAI,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;OAWG;IACO,oBAAoB,CAAC,KAAa;QAC1C,MAAM,kBAAkB,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,KAAK,CAAC,6CAA6C,KAAK,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,UAAU,CAAgB,CAAC,QAAQ,EAAE,EAAE;YACvE,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC7D,GAAG,MAAM,CAAC,OAAO;aAClB,CAAC,CAAC;YAEH,MAAM,CAAC,kBAAkB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAE9D,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAC;YAEhE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAEnC,UAAU;iBACP,KAAK,EAAE;iBACP,IAAI,CAAC,GAAG,EAAE;gBACT,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;oBAChC,0DAA0D;gBAC5D,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YAEL,kEAAkE;YAClE,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC,IAAI,CACL,WAAW,CAAC;YACV,6DAA6D;YAC7D,UAAU,EAAE,CAAC;YACb,+CAA+C;YAC/C,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"SignalRModuleProvider.js","sourceRoot":"","sources":["../../src/SignalRModuleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAI/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgCpC;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAChC,OAAO,CAAgB;IACvB,eAAe,GAA8C,EAAE,CAAC;IAEhE;;OAEG;IACH,YAAY,MAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACI,OAAO,CAAI,KAAa,EAAE,UAAkB;QACjD,OAAO,IAAI,KAAK,CAAI,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;OAWG;IACO,oBAAoB,CAAC,KAAa;QAC1C,MAAM,kBAAkB,GAAG,CAAC,CAAC;QAE7B,kEAAkE;QAClE,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,sEAAsE;QACtE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,KAAK,CAAC,6CAA6C,KAAK,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,UAAU,CAAgB,CAAC,QAAQ,EAAE,EAAE;YACvE,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC7D,GAAG,MAAM,CAAC,OAAO;aAClB,CAAC,CAAC;YAEH,MAAM,CAAC,kBAAkB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAE9D,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAC;YAEhE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAEnC,UAAU;iBACP,KAAK,EAAE;iBACP,IAAI,CAAC,GAAG,EAAE;gBACT,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxB,2DAA2D;gBAC3D,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;oBAChC,0DAA0D;gBAC5D,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YAEL,kEAAkE;YAClE,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;YACA,4EAA4E;aAC3E,IAAI,CACH,WAAW,CAAC;YACV,6DAA6D;YAC7D,UAAU,EAAE,CAAC;YACb,+CAA+C;YAC/C,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;QAEJ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF;AAED,eAAe,qBAAqB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -11,7 +11,8 @@
11
11
  * @see {@link enableSignalR} for the quickest way to register the module.
12
12
  * @see {@link ISignalRProvider.connect} for subscribing to hub methods at runtime.
13
13
  */
14
- export { SignalRConfigurator, SignalRModuleConfigBuilder, } from './SignalRModuleConfigurator';
14
+ export { SignalRModuleConfigBuilder, } from './SignalRModuleConfigBuilder';
15
+ export { SignalRConfigurator } from './SignalRConfigurator';
15
16
  export { SignalRModuleProvider } from './SignalRModuleProvider';
16
17
  export { Topic } from './lib/Topic';
17
18
  export { enableSignalR } from './lib/utils/enable-signalr';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAEL,mBAAmB,EAGnB,0BAA0B,GAE3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAoB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAElF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAmC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAIL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAoB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAElF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAmC,MAAM,iBAAiB,CAAC"}
@@ -50,8 +50,8 @@ export class Topic extends Observable {
50
50
  * @param args - Arguments forwarded to `HubConnection.send()`
51
51
  * @throws {Error} When the hub connection has not been established yet
52
52
  */
53
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
53
  send(...args) {
54
+ // A connection must have been established before sending is possible
55
55
  if (!this.connection) {
56
56
  throw new Error('No hub connection awaitable');
57
57
  }
@@ -65,8 +65,8 @@ export class Topic extends Observable {
65
65
  * @returns Promise resolving with the server's response
66
66
  * @throws {Error} When the hub connection has not been established yet
67
67
  */
68
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
68
  invoke(...args) {
69
+ // A connection must have been established before invoking is possible
70
70
  if (!this.connection) {
71
71
  throw new Error('No hub connection awaitable');
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Topic.js","sourceRoot":"","sources":["../../../src/lib/Topic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,KAAS,SAAQ,UAAa;IAShC;IACA;IATT,2EAA2E;IAC3E,UAAU,CAA4B;IAEtC;;;OAGG;IACH,YACS,KAAa,EACb,aAAwC;QAE/C,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,MAAM,yBAAyB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;gBACvE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClB,yBAAyB,CAAC,WAAW,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAbI,UAAK,GAAL,KAAK,CAAQ;QACb,kBAAa,GAAb,aAAa,CAA2B;IAajD,CAAC;IAED;;;;;OAKG;IACH,8DAA8D;IACvD,IAAI,CAAC,GAAG,IAAW;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,8DAA8D;IACvD,MAAM,CAAI,GAAG,IAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"Topic.js","sourceRoot":"","sources":["../../../src/lib/Topic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,KAAS,SAAQ,UAAa;IAShC,KAAK;IACL,aAAa;IATtB,2EAA2E;IAC3E,UAAU,CAA4B;IAEtC;;;OAGG;IACH,YACS,KAAa,EACb,aAAwC;QAE/C,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,MAAM,yBAAyB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;gBACvE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClB,yBAAyB,CAAC,WAAW,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;qBAbI,KAAK;6BACL,aAAa;IAatB,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,GAAG,IAAe;QAC5B,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAI,GAAG,IAAe;QACjC,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -18,12 +18,14 @@ export const configureFromFramework = async (args, builder) => {
18
18
  url: new URL(args.path, service.uri).toString(),
19
19
  options: {
20
20
  accessTokenFactory: async () => {
21
+ // Scopes are required to acquire a token for this service
21
22
  if (!service.scopes) {
22
23
  throw Error(`service [${service.name}] does not have authentication scopes, please configure an endpoint with scopes`);
23
24
  }
24
25
  const token = await authProvider.acquireAccessToken({
25
26
  request: { scopes: service.scopes ?? service.defaultScopes },
26
27
  });
28
+ // Fail loudly rather than connecting the hub without a valid token
27
29
  if (!token) {
28
30
  throw Error('failed to acquire access token');
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configure-from-framework.js","sourceRoot":"","sources":["../../../../src/lib/utils/configure-from-framework.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAqD,EACrD,OAAyE,EACzE,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QACxB,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC/C,OAAO,EAAE;YACP,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,KAAK,CACT,YAAY,OAAO,CAAC,IAAI,iFAAiF,CAC1G,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC;oBAClD,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE;iBAC7D,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;SACF;QACD,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"configure-from-framework.js","sourceRoot":"","sources":["../../../../src/lib/utils/configure-from-framework.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAqD,EACrD,OAAyE,EACzE,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QACxB,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC/C,OAAO,EAAE;YACP,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC7B,0DAA0D;gBAC1D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,KAAK,CACT,YAAY,OAAO,CAAC,IAAI,iFAAiF,CAC1G,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC;oBAClD,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE;iBAC7D,CAAC,CAAC;gBACH,mEAAmE;gBACnE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;SACF;QACD,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -33,8 +33,9 @@ import { configureFromFramework } from './configure-from-framework';
33
33
  * ```
34
34
  */
35
35
  export function enableSignalR(
36
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ // biome-ignore lint/suspicious/noExplicitAny: IModulesConfigurator<any, any> widens to accept a configurator for any concrete module set
37
37
  configurator, name, optionsOrCallback) {
38
+ // Callback form configures the hub directly against the resolved builder
38
39
  if (typeof optionsOrCallback === 'function') {
39
40
  configurator.addConfig({
40
41
  module,
@@ -1 +1 @@
1
- {"version":3,"file":"enable-signalr.js","sourceRoot":"","sources":["../../../../src/lib/utils/enable-signalr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAmCpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,aAAa;AAC3B,8DAA8D;AAC9D,YAA4C,EAC5C,IAAY,EACZ,iBAAyF;IAEzF,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC5C,YAAY,CAAC,SAAS,CAAC;YACrB,MAAM;YACN,SAAS,EAAE,CAAC,mBAAmB,EAAE,EAAE;gBACjC,mBAAmB,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,SAAS,CAAC;YACrB,MAAM;YACN,SAAS,EAAE,CAAC,mBAAmB,EAAE,EAAE;gBACjC,mBAAmB,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7C,sBAAsB,CAAC,EAAE,IAAI,EAAE,GAAG,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAChE,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"enable-signalr.js","sourceRoot":"","sources":["../../../../src/lib/utils/enable-signalr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAmCpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,aAAa;AAC3B,yIAAyI;AACzI,YAA4C,EAC5C,IAAY,EACZ,iBAAyF;IAEzF,yEAAyE;IACzE,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC5C,YAAY,CAAC,SAAS,CAAC;YACrB,MAAM;YACN,SAAS,EAAE,CAAC,mBAAmB,EAAE,EAAE;gBACjC,mBAAmB,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,SAAS,CAAC;YACrB,MAAM;YACN,SAAS,EAAE,CAAC,mBAAmB,EAAE,EAAE;gBACjC,mBAAmB,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7C,sBAAsB,CAAC,EAAE,IAAI,EAAE,GAAG,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAChE,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '13.0.0';
2
+ export const version = '13.0.1';
3
3
  //# sourceMappingURL=version.js.map