@naylence/runtime 0.3.5-test.907 → 0.3.5-test.908

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 (39) hide show
  1. package/dist/browser/index.cjs +28 -2
  2. package/dist/browser/index.cjs.map +1 -1
  3. package/dist/browser/index.mjs +28 -3
  4. package/dist/browser/index.mjs.map +1 -1
  5. package/dist/cjs/naylence/fame/node/node.js +1 -0
  6. package/dist/cjs/naylence/fame/node/node.js.map +1 -1
  7. package/dist/cjs/naylence/fame/service/default-service-manager.js +8 -0
  8. package/dist/cjs/naylence/fame/service/default-service-manager.js.map +1 -1
  9. package/dist/cjs/naylence/fame/service/registerable.js +20 -0
  10. package/dist/cjs/naylence/fame/service/registerable.js.map +1 -0
  11. package/dist/cjs/runtime-isomorphic.js +3 -1
  12. package/dist/cjs/runtime-isomorphic.js.map +1 -1
  13. package/dist/cjs/version.js +2 -2
  14. package/dist/esm/naylence/fame/node/node.js +1 -0
  15. package/dist/esm/naylence/fame/node/node.js.map +1 -1
  16. package/dist/esm/naylence/fame/service/default-service-manager.js +8 -0
  17. package/dist/esm/naylence/fame/service/default-service-manager.js.map +1 -1
  18. package/dist/esm/naylence/fame/service/registerable.js +17 -0
  19. package/dist/esm/naylence/fame/service/registerable.js.map +1 -0
  20. package/dist/esm/runtime-isomorphic.js +1 -0
  21. package/dist/esm/runtime-isomorphic.js.map +1 -1
  22. package/dist/esm/version.js +2 -2
  23. package/dist/node/index.cjs +28 -2
  24. package/dist/node/index.cjs.map +1 -1
  25. package/dist/node/index.mjs +28 -3
  26. package/dist/node/index.mjs.map +1 -1
  27. package/dist/node/node.cjs +28 -2
  28. package/dist/node/node.cjs.map +1 -1
  29. package/dist/node/node.mjs +28 -3
  30. package/dist/node/node.mjs.map +1 -1
  31. package/dist/types/naylence/fame/node/node.d.ts.map +1 -1
  32. package/dist/types/naylence/fame/service/default-service-manager.d.ts +3 -0
  33. package/dist/types/naylence/fame/service/default-service-manager.d.ts.map +1 -1
  34. package/dist/types/naylence/fame/service/registerable.d.ts +7 -0
  35. package/dist/types/naylence/fame/service/registerable.d.ts.map +1 -0
  36. package/dist/types/runtime-isomorphic.d.ts +2 -0
  37. package/dist/types/runtime-isomorphic.d.ts.map +1 -1
  38. package/dist/types/version.d.ts +1 -1
  39. package/package.json +1 -1
@@ -16,12 +16,12 @@ var asn1Csr = require('@peculiar/asn1-csr');
16
16
  var api = require('@opentelemetry/api');
17
17
 
18
18
  // This file is auto-generated during build - do not edit manually
19
- // Generated from package.json version: 0.3.5-test.907
19
+ // Generated from package.json version: 0.3.5-test.908
20
20
  /**
21
21
  * The package version, injected at build time.
22
22
  * @internal
23
23
  */
24
- const VERSION = '0.3.5-test.907';
24
+ const VERSION = '0.3.5-test.908';
25
25
 
26
26
  /**
27
27
  * Fame protocol specific error classes with WebSocket close codes and proper inheritance.
@@ -9503,6 +9503,23 @@ class NodeMetaRecord {
9503
9503
  }
9504
9504
  }
9505
9505
 
9506
+ function isRegisterable(value) {
9507
+ if (!value || typeof value !== 'object') {
9508
+ return false;
9509
+ }
9510
+ const candidate = value;
9511
+ if (candidate.onRegister !== undefined &&
9512
+ typeof candidate.onRegister !== 'function') {
9513
+ return false;
9514
+ }
9515
+ if (candidate.onUnregister !== undefined &&
9516
+ typeof candidate.onUnregister !== 'function') {
9517
+ return false;
9518
+ }
9519
+ return (typeof candidate.onRegister === 'function' ||
9520
+ typeof candidate.onUnregister === 'function');
9521
+ }
9522
+
9506
9523
  class DefaultServiceManager {
9507
9524
  constructor(options) {
9508
9525
  this.services = new Map();
@@ -9516,6 +9533,7 @@ class DefaultServiceManager {
9516
9533
  this.defaultServiceConfigs = options.defaultServiceConfigs
9517
9534
  ? [...options.defaultServiceConfigs]
9518
9535
  : [];
9536
+ this.node = options.node ?? null;
9519
9537
  }
9520
9538
  async start() {
9521
9539
  if (this.started) {
@@ -9533,6 +9551,9 @@ class DefaultServiceManager {
9533
9551
  return;
9534
9552
  }
9535
9553
  await Promise.all(Array.from(this.services.values()).map(async ({ service }) => {
9554
+ if (isRegisterable(service) && service.onUnregister) {
9555
+ await this.resolveMaybePromise(service.onUnregister());
9556
+ }
9536
9557
  const stopFn = service?.stop;
9537
9558
  if (typeof stopFn === 'function') {
9538
9559
  await this.resolveMaybePromise(stopFn.call(service));
@@ -9548,6 +9569,9 @@ class DefaultServiceManager {
9548
9569
  if (typeof startFn === 'function') {
9549
9570
  await this.resolveMaybePromise(startFn.call(service));
9550
9571
  }
9572
+ if (this.node && isRegisterable(service) && service.onRegister) {
9573
+ await this.resolveMaybePromise(service.onRegister(this.node));
9574
+ }
9551
9575
  let address;
9552
9576
  if (core.isFameMessageService(service)) {
9553
9577
  const options = this.buildServeOptions(service.capabilities);
@@ -9874,6 +9898,7 @@ class FameNode extends TaskSpawner {
9874
9898
  capabilityMap: serviceCapabilityMapOption ?? undefined,
9875
9899
  pollTimeoutMs: servicePollTimeoutOption ?? null,
9876
9900
  defaultServiceConfigs,
9901
+ node: this,
9877
9902
  });
9878
9903
  this._serviceManager = serviceManager;
9879
9904
  this._defaultBindingPath = this._physicalPath;
@@ -27441,6 +27466,7 @@ exports.isNodeLike = isNodeLike;
27441
27466
  exports.isPlainObject = isPlainObject$3;
27442
27467
  exports.isPoolAddress = isPoolAddress;
27443
27468
  exports.isPoolLogical = isPoolLogical;
27469
+ exports.isRegisterable = isRegisterable;
27444
27470
  exports.isTokenExpired = isTokenExpired;
27445
27471
  exports.isTokenProvider = isTokenProvider;
27446
27472
  exports.isTokenValid = isTokenValid;