@pasosdejesus/m 0.18.5 → 0.19.0

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.
@@ -6,11 +6,12 @@
6
6
  *
7
7
  * "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23)
8
8
  */
9
+ type Hook = (ctx: any) => Promise<void>;
9
10
  /**
10
11
  * Register a hook callback for a named extension point.
11
12
  * Safe to call multiple times — callbacks are appended.
12
13
  */
13
- export declare function registerHook(name: string, callback: (ctx: any) => Promise<void>): void;
14
+ export declare function registerHook(name: string, callback: Hook): void;
14
15
  /**
15
16
  * Run all registered hooks for a named extension point.
16
17
  * Callbacks are executed in series (order of registration).
@@ -25,4 +26,5 @@ export declare function clearHooks(): void;
25
26
  * Get hook names and callback counts (for debugging/testing).
26
27
  */
27
28
  export declare function debugHooks(): Record<string, number>;
29
+ export {};
28
30
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/util/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAKtF;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMnD"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/util/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAKvC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,CAI/D;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMnD"}
@@ -6,19 +6,17 @@
6
6
  *
7
7
  * "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23)
8
8
  */
9
- // Backed by globalThis so every copy of this module shares a single hook
10
- // registry, avoiding the dual package hazard (see plugin.ts).
11
- const globalState = globalThis;
12
- const hooks = (globalState.__mHooks ??= new Map());
9
+ import { createRegistry } from '../engine.js';
10
+ // Hooks registry, backed by the generic globalThis registry (engine.ts).
11
+ const hooks = createRegistry('m:hooks');
13
12
  /**
14
13
  * Register a hook callback for a named extension point.
15
14
  * Safe to call multiple times — callbacks are appended.
16
15
  */
17
16
  export function registerHook(name, callback) {
18
- if (!hooks.has(name)) {
19
- hooks.set(name, []);
20
- }
21
- hooks.get(name).push(callback);
17
+ const list = hooks.get(name) ?? [];
18
+ list.push(callback);
19
+ hooks.register(name, list);
22
20
  }
23
21
  /**
24
22
  * Run all registered hooks for a named extension point.
@@ -49,7 +47,7 @@ export function clearHooks() {
49
47
  */
50
48
  export function debugHooks() {
51
49
  const out = {};
52
- for (const [name, cbs] of hooks) {
50
+ for (const [name, cbs] of Object.entries(hooks.entries())) {
53
51
  out[name] = cbs.length;
54
52
  }
55
53
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/util/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,yEAAyE;AACzE,8DAA8D;AAC9D,MAAM,WAAW,GAAG,UAEnB,CAAA;AACD,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,QAAQ,KAAK,IAAI,GAAG,EAA8C,CAAC,CAAA;AAE9F;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAqC;IAC9E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACrB,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAEhD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,aAAa,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,KAAK,CAAC,KAAK,EAAE,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;IACxB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/util/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C,yEAAyE;AACzE,MAAM,KAAK,GAAG,cAAc,CAAS,SAAS,CAAC,CAAA;AAE/C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAc;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnB,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAEhD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,aAAa,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,KAAK,CAAC,KAAK,EAAE,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;IACxB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pasosdejesus/m",
3
- "version": "0.18.5",
3
+ "version": "0.19.0",
4
4
  "description": "Motor para crear y gestionar proyectos al estilo Pasos de Jesus.",
5
5
  "author": "",
6
6
  "license": "ISC",
@@ -24,6 +24,10 @@
24
24
  "import": "./dist/plugin.js",
25
25
  "types": "./dist/plugin.d.ts"
26
26
  },
27
+ "./engine": {
28
+ "import": "./dist/engine.js",
29
+ "types": "./dist/engine.d.ts"
30
+ },
27
31
  "./test-utils": {
28
32
  "import": "./dist/test-utils/index.js",
29
33
  "types": "./dist/test-utils/index.d.ts"