@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
@@ -5286,12 +5286,12 @@ for (const [name, config] of Object.entries(SQLITE_PROFILES)) {
5286
5286
  }
5287
5287
 
5288
5288
  // This file is auto-generated during build - do not edit manually
5289
- // Generated from package.json version: 0.3.5-test.907
5289
+ // Generated from package.json version: 0.3.5-test.908
5290
5290
  /**
5291
5291
  * The package version, injected at build time.
5292
5292
  * @internal
5293
5293
  */
5294
- const VERSION = '0.3.5-test.907';
5294
+ const VERSION = '0.3.5-test.908';
5295
5295
 
5296
5296
  /**
5297
5297
  * Fame errors module - Fame protocol specific error classes
@@ -11835,6 +11835,23 @@ class NodeMetaRecord {
11835
11835
  }
11836
11836
  }
11837
11837
 
11838
+ function isRegisterable(value) {
11839
+ if (!value || typeof value !== 'object') {
11840
+ return false;
11841
+ }
11842
+ const candidate = value;
11843
+ if (candidate.onRegister !== undefined &&
11844
+ typeof candidate.onRegister !== 'function') {
11845
+ return false;
11846
+ }
11847
+ if (candidate.onUnregister !== undefined &&
11848
+ typeof candidate.onUnregister !== 'function') {
11849
+ return false;
11850
+ }
11851
+ return (typeof candidate.onRegister === 'function' ||
11852
+ typeof candidate.onUnregister === 'function');
11853
+ }
11854
+
11838
11855
  class DefaultServiceManager {
11839
11856
  constructor(options) {
11840
11857
  this.services = new Map();
@@ -11848,6 +11865,7 @@ class DefaultServiceManager {
11848
11865
  this.defaultServiceConfigs = options.defaultServiceConfigs
11849
11866
  ? [...options.defaultServiceConfigs]
11850
11867
  : [];
11868
+ this.node = options.node ?? null;
11851
11869
  }
11852
11870
  async start() {
11853
11871
  if (this.started) {
@@ -11865,6 +11883,9 @@ class DefaultServiceManager {
11865
11883
  return;
11866
11884
  }
11867
11885
  await Promise.all(Array.from(this.services.values()).map(async ({ service }) => {
11886
+ if (isRegisterable(service) && service.onUnregister) {
11887
+ await this.resolveMaybePromise(service.onUnregister());
11888
+ }
11868
11889
  const stopFn = service?.stop;
11869
11890
  if (typeof stopFn === 'function') {
11870
11891
  await this.resolveMaybePromise(stopFn.call(service));
@@ -11880,6 +11901,9 @@ class DefaultServiceManager {
11880
11901
  if (typeof startFn === 'function') {
11881
11902
  await this.resolveMaybePromise(startFn.call(service));
11882
11903
  }
11904
+ if (this.node && isRegisterable(service) && service.onRegister) {
11905
+ await this.resolveMaybePromise(service.onRegister(this.node));
11906
+ }
11883
11907
  let address;
11884
11908
  if (core.isFameMessageService(service)) {
11885
11909
  const options = this.buildServeOptions(service.capabilities);
@@ -12206,6 +12230,7 @@ class FameNode extends TaskSpawner {
12206
12230
  capabilityMap: serviceCapabilityMapOption ?? undefined,
12207
12231
  pollTimeoutMs: servicePollTimeoutOption ?? null,
12208
12232
  defaultServiceConfigs,
12233
+ node: this,
12209
12234
  });
12210
12235
  this._serviceManager = serviceManager;
12211
12236
  this._defaultBindingPath = this._physicalPath;
@@ -32025,6 +32050,7 @@ exports.isNodeLike = isNodeLike;
32025
32050
  exports.isPlainObject = isPlainObject$3;
32026
32051
  exports.isPoolAddress = isPoolAddress;
32027
32052
  exports.isPoolLogical = isPoolLogical;
32053
+ exports.isRegisterable = isRegisterable;
32028
32054
  exports.isTokenExpired = isTokenExpired;
32029
32055
  exports.isTokenProvider = isTokenProvider;
32030
32056
  exports.isTokenValid = isTokenValid;