moost 0.6.17 → 0.6.20

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.
package/dist/index.cjs CHANGED
@@ -215,12 +215,27 @@ const scopeVarsMap = /* @__PURE__ */ new Map();
215
215
  });
216
216
  }
217
217
 
218
+ //#endregion
219
+ //#region packages/moost/src/composables/global-key.ts
220
+ var _g;
221
+ const registry = (_g = globalThis).__moost_keys ?? (_g.__moost_keys = /* @__PURE__ */ new Map());
222
+ /**
223
+ * Creates a typed event-context key that stays a single instance across duplicate
224
+ * moost loads (dual ESM/CJS, or duplicate installs). Use this for every
225
+ * moost-owned context key instead of `key()` directly.
226
+ *
227
+ * @param name - Debug label AND the registry lookup key; must be unique per slot.
228
+ */ function globalKey(name) {
229
+ if (!registry.has(name)) registry.set(name, (0, _wooksjs_event_core.key)(name));
230
+ return registry.get(name);
231
+ }
232
+
218
233
  //#endregion
219
234
  //#region packages/moost/src/composables/controller.composable.ts
220
- const controllerInstanceKey = (0, _wooksjs_event_core.key)("controller.instance");
221
- const controllerMethodKey = (0, _wooksjs_event_core.key)("controller.method");
222
- const controllerRouteKey = (0, _wooksjs_event_core.key)("controller.route");
223
- const controllerPrefixKey = (0, _wooksjs_event_core.key)("controller.prefix");
235
+ const controllerInstanceKey = globalKey("controller.instance");
236
+ const controllerMethodKey = globalKey("controller.method");
237
+ const controllerRouteKey = globalKey("controller.route");
238
+ const controllerPrefixKey = globalKey("controller.prefix");
224
239
  /**
225
240
  * Sets the controller context for the current event scope.
226
241
  * Called internally by adapters when dispatching events to handlers.
@@ -262,10 +277,8 @@ const controllerPrefixKey = (0, _wooksjs_event_core.key)("controller.prefix");
262
277
 
263
278
  //#endregion
264
279
  //#region packages/moost/src/composables/interceptor.composable.ts
265
- var _g, _g1;
266
- const g = globalThis;
267
- const overtakeKey = (_g = g).__moost_overtakeKey ?? (_g.__moost_overtakeKey = (0, _wooksjs_event_core.key)("interceptor.overtake"));
268
- const interceptResultKey = (_g1 = g).__moost_interceptResultKey ?? (_g1.__moost_interceptResultKey = (0, _wooksjs_event_core.key)("interceptor.result"));
280
+ const overtakeKey = globalKey("interceptor.overtake");
281
+ const interceptResultKey = globalKey("interceptor.result");
269
282
  /** Stores the overtake (reply) function in the current event context. */ function setOvertake(fn, ctx) {
270
283
  (ctx || (0, _wooksjs_event_core.current)()).set(overtakeKey, fn);
271
284
  }
@@ -1741,6 +1754,7 @@ exports.getInstanceOwnProps = getInstanceOwnProps;
1741
1754
  exports.getMoostInfact = getMoostInfact;
1742
1755
  exports.getMoostMate = getMoostMate;
1743
1756
  exports.getNewMoostInfact = getNewMoostInfact;
1757
+ exports.globalKey = globalKey;
1744
1758
  Object.defineProperty(exports, 'isConstructor', {
1745
1759
  enumerable: true,
1746
1760
  get: function () {
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _wooksjs_event_core from '@wooksjs/event-core';
2
- import { EventContext, Logger } from '@wooksjs/event-core';
2
+ import { EventContext, Logger, Key } from '@wooksjs/event-core';
3
3
  export { Cached, ContextInjector, EventContext, EventContextOptions, Key, Logger, cached, createEventContext, current, eventTypeKey, getContextInjector, key, replaceContextInjector, resetContextInjector, run, useLogger } from '@wooksjs/event-core';
4
4
  import { TProvideRegistry, Infact, TReplaceRegistry, TProvideFn } from '@prostojs/infact';
5
5
  export { TProvideRegistry, createProvideRegistry, createReplaceRegistry } from '@prostojs/infact';
@@ -811,6 +811,15 @@ declare function useControllerContext<T extends object>(ctx?: EventContext): {
811
811
  } & _prostojs_mate.TMateClassMeta<_prostojs_mate.TMateParamMeta & TMoostParamsMetadata & object> & _prostojs_mate.TMatePropMeta<_prostojs_mate.TMateParamMeta & TMoostParamsMetadata & object>) | undefined;
812
812
  };
813
813
 
814
+ /**
815
+ * Creates a typed event-context key that stays a single instance across duplicate
816
+ * moost loads (dual ESM/CJS, or duplicate installs). Use this for every
817
+ * moost-owned context key instead of `key()` directly.
818
+ *
819
+ * @param name - Debug label AND the registry lookup key; must be unique per slot.
820
+ */
821
+ declare function globalKey<T>(name: string): Key<T>;
822
+
814
823
  /**
815
824
  * Define a before-phase interceptor.
816
825
  *
@@ -889,5 +898,5 @@ declare function createLogger(opts?: Partial<TProstoLoggerOptions>): ProstoLogge
889
898
  /** Default colored console transport used by Moost loggers. */
890
899
  declare const loggerConsoleTransport: _prostojs_logger.TProstoLoggerTransportFn<any>;
891
900
 
892
- export { After, ApplyDecorators, Before, Circular, Const, ConstFactory, Controller, Description, Id, ImportController, Inherit, Inject, InjectEventLogger, InjectFromScope, InjectMoostLogger, InjectScopeVars, Injectable, Intercept, Interceptor, InterceptorHandler, Label, LoggerTopic, Moost, OnError, Optional, Overtake, Param, Params, Pipe, Provide, Replace, Required, Resolve, Response, TInterceptorPriority, TPipePriority, Value, createLogger, defineAfterInterceptor, defineBeforeInterceptor, defineErrorInterceptor, defineInfactScope, defineInterceptor, defineMoostEventHandler, definePipeFn, getInfactScopeVars, getInstanceOwnMethods, getInstanceOwnProps, getMoostInfact, getMoostMate, getNewMoostInfact, isThenable, loggerConsoleTransport, mergeSorted, registerEventScope, resolvePipe, setControllerContext, setInfactLoggingOptions, setInterceptResult, setOvertake, useControllerContext, useInterceptResult, useOvertake, useScopeId };
901
+ export { After, ApplyDecorators, Before, Circular, Const, ConstFactory, Controller, Description, Id, ImportController, Inherit, Inject, InjectEventLogger, InjectFromScope, InjectMoostLogger, InjectScopeVars, Injectable, Intercept, Interceptor, InterceptorHandler, Label, LoggerTopic, Moost, OnError, Optional, Overtake, Param, Params, Pipe, Provide, Replace, Required, Resolve, Response, TInterceptorPriority, TPipePriority, Value, createLogger, defineAfterInterceptor, defineBeforeInterceptor, defineErrorInterceptor, defineInfactScope, defineInterceptor, defineMoostEventHandler, definePipeFn, getInfactScopeVars, getInstanceOwnMethods, getInstanceOwnProps, getMoostInfact, getMoostMate, getNewMoostInfact, globalKey, isThenable, loggerConsoleTransport, mergeSorted, registerEventScope, resolvePipe, setControllerContext, setInfactLoggingOptions, setInterceptResult, setOvertake, useControllerContext, useInterceptResult, useOvertake, useScopeId };
893
902
  export type { TAny, TAnyFn, TClassConstructor, TContextInjectorHook, TControllerOverview, TEmpty, TFunction, TInjectableScope, TInterceptorAfterFn, TInterceptorBeforeFn, TInterceptorData, TInterceptorDef, TInterceptorDefFactory, TInterceptorEntry, TInterceptorErrorFn, TLogger, TMoostAdapter, TMoostAdapterOptions, TMoostEventHandlerHookOptions, TMoostEventHandlerOptions, TMoostHandler, TMoostMetadata, TMoostOptions, TMoostParamsMetadata, TObject, TOvertakeFn, TPipeData, TPipeFn, TPipeMetas, TPrimitives };
package/dist/index.mjs CHANGED
@@ -214,12 +214,27 @@ const scopeVarsMap = /* @__PURE__ */ new Map();
214
214
  });
215
215
  }
216
216
 
217
+ //#endregion
218
+ //#region packages/moost/src/composables/global-key.ts
219
+ var _g;
220
+ const registry = (_g = globalThis).__moost_keys ?? (_g.__moost_keys = /* @__PURE__ */ new Map());
221
+ /**
222
+ * Creates a typed event-context key that stays a single instance across duplicate
223
+ * moost loads (dual ESM/CJS, or duplicate installs). Use this for every
224
+ * moost-owned context key instead of `key()` directly.
225
+ *
226
+ * @param name - Debug label AND the registry lookup key; must be unique per slot.
227
+ */ function globalKey(name) {
228
+ if (!registry.has(name)) registry.set(name, key$1(name));
229
+ return registry.get(name);
230
+ }
231
+
217
232
  //#endregion
218
233
  //#region packages/moost/src/composables/controller.composable.ts
219
- const controllerInstanceKey = key$1("controller.instance");
220
- const controllerMethodKey = key$1("controller.method");
221
- const controllerRouteKey = key$1("controller.route");
222
- const controllerPrefixKey = key$1("controller.prefix");
234
+ const controllerInstanceKey = globalKey("controller.instance");
235
+ const controllerMethodKey = globalKey("controller.method");
236
+ const controllerRouteKey = globalKey("controller.route");
237
+ const controllerPrefixKey = globalKey("controller.prefix");
223
238
  /**
224
239
  * Sets the controller context for the current event scope.
225
240
  * Called internally by adapters when dispatching events to handlers.
@@ -261,10 +276,8 @@ const controllerPrefixKey = key$1("controller.prefix");
261
276
 
262
277
  //#endregion
263
278
  //#region packages/moost/src/composables/interceptor.composable.ts
264
- var _g, _g1;
265
- const g = globalThis;
266
- const overtakeKey = (_g = g).__moost_overtakeKey ?? (_g.__moost_overtakeKey = key$1("interceptor.overtake"));
267
- const interceptResultKey = (_g1 = g).__moost_interceptResultKey ?? (_g1.__moost_interceptResultKey = key$1("interceptor.result"));
279
+ const overtakeKey = globalKey("interceptor.overtake");
280
+ const interceptResultKey = globalKey("interceptor.result");
268
281
  /** Stores the overtake (reply) function in the current event context. */ function setOvertake(fn, ctx) {
269
282
  (ctx || current$1()).set(overtakeKey, fn);
270
283
  }
@@ -1617,4 +1630,4 @@ function _define_property(obj, key, value) {
1617
1630
  };
1618
1631
 
1619
1632
  //#endregion
1620
- export { After, ApplyDecorators, Before, Circular, Const, ConstFactory, ContextInjector, Controller, Description, Id, ImportController, Inherit, Inject, InjectEventLogger, InjectFromScope, InjectMoostLogger, InjectScopeVars, Injectable, Intercept, Interceptor, InterceptorHandler, Label, LoggerTopic, Moost, OnError, Optional, Overtake, Param, Params, Pipe, ProstoLogger, Provide, Replace, Required, Resolve, Response, TInterceptorPriority, TPipePriority, Value, cached, clearGlobalWooks, createEventContext, createLogger, createProvideRegistry, createReplaceRegistry, current, defineAfterInterceptor, defineBeforeInterceptor, defineErrorInterceptor, defineInfactScope, defineInterceptor, defineMoostEventHandler, definePipeFn, eventTypeKey, getConstructor, getContextInjector, getGlobalWooks, getInfactScopeVars, getInstanceOwnMethods, getInstanceOwnProps, getMoostInfact, getMoostMate, getNewMoostInfact, isConstructor, isThenable, key, loggerConsoleTransport, mergeSorted, registerEventScope, replaceContextInjector, resetContextInjector, resolvePipe, run, setControllerContext, setInfactLoggingOptions, setInterceptResult, setOvertake, useControllerContext, useInterceptResult, useLogger, useOvertake, useScopeId };
1633
+ export { After, ApplyDecorators, Before, Circular, Const, ConstFactory, ContextInjector, Controller, Description, Id, ImportController, Inherit, Inject, InjectEventLogger, InjectFromScope, InjectMoostLogger, InjectScopeVars, Injectable, Intercept, Interceptor, InterceptorHandler, Label, LoggerTopic, Moost, OnError, Optional, Overtake, Param, Params, Pipe, ProstoLogger, Provide, Replace, Required, Resolve, Response, TInterceptorPriority, TPipePriority, Value, cached, clearGlobalWooks, createEventContext, createLogger, createProvideRegistry, createReplaceRegistry, current, defineAfterInterceptor, defineBeforeInterceptor, defineErrorInterceptor, defineInfactScope, defineInterceptor, defineMoostEventHandler, definePipeFn, eventTypeKey, getConstructor, getContextInjector, getGlobalWooks, getInfactScopeVars, getInstanceOwnMethods, getInstanceOwnProps, getMoostInfact, getMoostMate, getNewMoostInfact, globalKey, isConstructor, isThenable, key, loggerConsoleTransport, mergeSorted, registerEventScope, replaceContextInjector, resetContextInjector, resolvePipe, run, setControllerContext, setInfactLoggingOptions, setInterceptResult, setOvertake, useControllerContext, useInterceptResult, useLogger, useOvertake, useScopeId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moost",
3
- "version": "0.6.17",
3
+ "version": "0.6.20",
4
4
  "description": "moost",
5
5
  "keywords": [
6
6
  "composables",
@@ -41,15 +41,15 @@
41
41
  "@prostojs/infact": "^0.4.1",
42
42
  "@prostojs/logger": "^0.4.3",
43
43
  "@prostojs/mate": "^0.4.0",
44
- "@wooksjs/event-core": "^0.7.15",
44
+ "@wooksjs/event-core": "^0.7.16",
45
45
  "hookable": "^5.5.3",
46
- "wooks": "^0.7.15"
46
+ "wooks": "^0.7.16"
47
47
  },
48
48
  "devDependencies": {
49
- "@wooksjs/event-http": "^0.7.15",
50
- "@wooksjs/http-body": "^0.7.15",
49
+ "@wooksjs/event-http": "^0.7.16",
50
+ "@wooksjs/http-body": "^0.7.16",
51
51
  "vitest": "3.2.4",
52
- "@moostjs/event-http": "^0.6.17"
52
+ "@moostjs/event-http": "^0.6.20"
53
53
  },
54
54
  "scripts": {
55
55
  "pub": "pnpm publish --access public",