crosshook 1.0.5 → 1.0.6
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.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -2,7 +2,7 @@ interface CrosshookEvents {
|
|
|
2
2
|
}
|
|
3
3
|
type EventKey = keyof CrosshookEvents;
|
|
4
4
|
type EventPayload<K extends EventKey> = CrosshookEvents[K];
|
|
5
|
-
type Handler<T =
|
|
5
|
+
type Handler<T = unknown> = (payload: T) => void;
|
|
6
6
|
|
|
7
7
|
declare function register<T = any>(event: string, handler: Handler<T>): () => void;
|
|
8
8
|
|
|
@@ -11,8 +11,8 @@ declare function call<K extends EventKey>(event: K, payload: EventPayload<K>): v
|
|
|
11
11
|
/** ✅ Void payload overload */
|
|
12
12
|
declare function call<K extends EventKey>(event: K): void;
|
|
13
13
|
|
|
14
|
-
/** ✅
|
|
15
|
-
declare function useRegister<K extends EventKey>(event: K, handler:
|
|
14
|
+
/** ✅ STRICT typed overload */
|
|
15
|
+
declare function useRegister<K extends EventKey>(event: K, handler: Handler<EventPayload<K>>): void;
|
|
16
16
|
declare function useBridge(): {
|
|
17
17
|
call: typeof call;
|
|
18
18
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ interface CrosshookEvents {
|
|
|
2
2
|
}
|
|
3
3
|
type EventKey = keyof CrosshookEvents;
|
|
4
4
|
type EventPayload<K extends EventKey> = CrosshookEvents[K];
|
|
5
|
-
type Handler<T =
|
|
5
|
+
type Handler<T = unknown> = (payload: T) => void;
|
|
6
6
|
|
|
7
7
|
declare function register<T = any>(event: string, handler: Handler<T>): () => void;
|
|
8
8
|
|
|
@@ -11,8 +11,8 @@ declare function call<K extends EventKey>(event: K, payload: EventPayload<K>): v
|
|
|
11
11
|
/** ✅ Void payload overload */
|
|
12
12
|
declare function call<K extends EventKey>(event: K): void;
|
|
13
13
|
|
|
14
|
-
/** ✅
|
|
15
|
-
declare function useRegister<K extends EventKey>(event: K, handler:
|
|
14
|
+
/** ✅ STRICT typed overload */
|
|
15
|
+
declare function useRegister<K extends EventKey>(event: K, handler: Handler<EventPayload<K>>): void;
|
|
16
16
|
declare function useBridge(): {
|
|
17
17
|
call: typeof call;
|
|
18
18
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/bridge.ts","../src/hooks.ts"],"sourcesContent":["export { call, register } from \"./bridge\";\nexport { useBridge, useRegister } from \"./hooks\";\n\nexport type { Handler } from \"./types\";\n\n/** 🔥 MUST export for augmentation */\nexport type { CrosshookEvents } from \"./types\";","import type { Handler } from \"./types\";\n\nconst listeners = new Map<string, Set<Handler>>();\n\nexport function register<T = any>(\n event: string,\n handler: Handler<T>\n) {\n if (!listeners.has(event)) {\n listeners.set(event, new Set());\n }\n\n listeners.get(event)!.add(handler as Handler);\n\n return () => {\n listeners.get(event)?.delete(handler as Handler);\n\n if (listeners.get(event)?.size === 0) {\n listeners.delete(event);\n }\n };\n}\n\nimport type { EventKey, EventPayload } from \"./types\";\n\n/** ✅ Typed overload */\nexport function call<K extends EventKey>(\n event: K,\n payload: EventPayload<K>\n): void;\n\n/** ✅ Void payload overload */\nexport function call<K extends EventKey>(\n event: K\n): void;\n\n/** ✅ Fallback */\nexport function call(event: string, payload?: any) {\n const handlers = listeners.get(event);\n\n if (!handlers) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(`[crosshook] No listeners for \"${event}\"`);\n }\n return;\n }\n\n handlers.forEach((handler) => {\n try {\n handler(payload);\n } catch (err) {\n console.error(\n `[crosshook] Handler error in \"${event}\"`,\n err\n );\n }\n });\n}","import { useEffect } from \"react\";\nimport { register, call } from \"./bridge\";\nimport type { Handler, EventKey, EventPayload } from \"./types\";\n\n/** ✅
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/bridge.ts","../src/hooks.ts"],"sourcesContent":["export { call, register } from \"./bridge\";\nexport { useBridge, useRegister } from \"./hooks\";\n\nexport type { Handler } from \"./types\";\n\n/** 🔥 MUST export for augmentation */\nexport type { CrosshookEvents } from \"./types\";","import type { Handler } from \"./types\";\n\nconst listeners = new Map<string, Set<Handler>>();\n\nexport function register<T = any>(\n event: string,\n handler: Handler<T>\n) {\n if (!listeners.has(event)) {\n listeners.set(event, new Set());\n }\n\n listeners.get(event)!.add(handler as Handler);\n\n return () => {\n listeners.get(event)?.delete(handler as Handler);\n\n if (listeners.get(event)?.size === 0) {\n listeners.delete(event);\n }\n };\n}\n\nimport type { EventKey, EventPayload } from \"./types\";\n\n/** ✅ Typed overload */\nexport function call<K extends EventKey>(\n event: K,\n payload: EventPayload<K>\n): void;\n\n/** ✅ Void payload overload */\nexport function call<K extends EventKey>(\n event: K\n): void;\n\n/** ✅ Fallback */\nexport function call(event: string, payload?: any) {\n const handlers = listeners.get(event);\n\n if (!handlers) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(`[crosshook] No listeners for \"${event}\"`);\n }\n return;\n }\n\n handlers.forEach((handler) => {\n try {\n handler(payload);\n } catch (err) {\n console.error(\n `[crosshook] Handler error in \"${event}\"`,\n err\n );\n }\n });\n}","import { useEffect } from \"react\";\nimport { register, call } from \"./bridge\";\nimport type { Handler, EventKey, EventPayload } from \"./types\";\n\n/** ✅ STRICT typed overload */\nexport function useRegister<K extends EventKey>(\n event: K,\n handler: Handler<EventPayload<K>>\n): void;\n\n/** ✅ fallback */\nexport function useRegister(\n event: string,\n handler: Handler\n) {\n useEffect(() => {\n const unregister = register(event, handler);\n return unregister;\n }, [event, handler]);\n}\n\nexport function useBridge() {\n return { call };\n}"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,aAAAC,EAAA,cAAAC,EAAA,gBAAAC,IAAA,eAAAC,EAAAN,GCEA,IAAMO,EAAY,IAAI,IAEf,SAASC,EACZC,EACAC,EACF,CACE,OAAKH,EAAU,IAAIE,CAAK,GACpBF,EAAU,IAAIE,EAAO,IAAI,GAAK,EAGlCF,EAAU,IAAIE,CAAK,EAAG,IAAIC,CAAkB,EAErC,IAAM,CACTH,EAAU,IAAIE,CAAK,GAAG,OAAOC,CAAkB,EAE3CH,EAAU,IAAIE,CAAK,GAAG,OAAS,GAC/BF,EAAU,OAAOE,CAAK,CAE9B,CACJ,CAgBO,SAASE,EAAKF,EAAeG,EAAe,CAC/C,IAAMC,EAAWN,EAAU,IAAIE,CAAK,EAEpC,GAAI,CAACI,EAAU,CACP,QAAQ,IAAI,WAAa,cACzB,QAAQ,KAAK,iCAAiCJ,CAAK,GAAG,EAE1D,MACJ,CAEAI,EAAS,QAASH,GAAY,CAC1B,GAAI,CACAA,EAAQE,CAAO,CACnB,OAASE,EAAK,CACV,QAAQ,MACJ,iCAAiCL,CAAK,IACtCK,CACJ,CACJ,CACJ,CAAC,CACL,CCzDA,IAAAC,EAA0B,iBAWnB,SAASC,EACZC,EACAC,EACF,IACE,aAAU,IACaC,EAASF,EAAOC,CAAO,EAE3C,CAACD,EAAOC,CAAO,CAAC,CACvB,CAEO,SAASE,GAAY,CACxB,MAAO,CAAE,KAAAC,CAAK,CAClB","names":["index_exports","__export","call","register","useBridge","useRegister","__toCommonJS","listeners","register","event","handler","call","payload","handlers","err","import_react","useRegister","event","handler","register","useBridge","call"]}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bridge.ts","../src/hooks.ts"],"sourcesContent":["import type { Handler } from \"./types\";\n\nconst listeners = new Map<string, Set<Handler>>();\n\nexport function register<T = any>(\n event: string,\n handler: Handler<T>\n) {\n if (!listeners.has(event)) {\n listeners.set(event, new Set());\n }\n\n listeners.get(event)!.add(handler as Handler);\n\n return () => {\n listeners.get(event)?.delete(handler as Handler);\n\n if (listeners.get(event)?.size === 0) {\n listeners.delete(event);\n }\n };\n}\n\nimport type { EventKey, EventPayload } from \"./types\";\n\n/** ✅ Typed overload */\nexport function call<K extends EventKey>(\n event: K,\n payload: EventPayload<K>\n): void;\n\n/** ✅ Void payload overload */\nexport function call<K extends EventKey>(\n event: K\n): void;\n\n/** ✅ Fallback */\nexport function call(event: string, payload?: any) {\n const handlers = listeners.get(event);\n\n if (!handlers) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(`[crosshook] No listeners for \"${event}\"`);\n }\n return;\n }\n\n handlers.forEach((handler) => {\n try {\n handler(payload);\n } catch (err) {\n console.error(\n `[crosshook] Handler error in \"${event}\"`,\n err\n );\n }\n });\n}","import { useEffect } from \"react\";\nimport { register, call } from \"./bridge\";\nimport type { Handler, EventKey, EventPayload } from \"./types\";\n\n/** ✅
|
|
1
|
+
{"version":3,"sources":["../src/bridge.ts","../src/hooks.ts"],"sourcesContent":["import type { Handler } from \"./types\";\n\nconst listeners = new Map<string, Set<Handler>>();\n\nexport function register<T = any>(\n event: string,\n handler: Handler<T>\n) {\n if (!listeners.has(event)) {\n listeners.set(event, new Set());\n }\n\n listeners.get(event)!.add(handler as Handler);\n\n return () => {\n listeners.get(event)?.delete(handler as Handler);\n\n if (listeners.get(event)?.size === 0) {\n listeners.delete(event);\n }\n };\n}\n\nimport type { EventKey, EventPayload } from \"./types\";\n\n/** ✅ Typed overload */\nexport function call<K extends EventKey>(\n event: K,\n payload: EventPayload<K>\n): void;\n\n/** ✅ Void payload overload */\nexport function call<K extends EventKey>(\n event: K\n): void;\n\n/** ✅ Fallback */\nexport function call(event: string, payload?: any) {\n const handlers = listeners.get(event);\n\n if (!handlers) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(`[crosshook] No listeners for \"${event}\"`);\n }\n return;\n }\n\n handlers.forEach((handler) => {\n try {\n handler(payload);\n } catch (err) {\n console.error(\n `[crosshook] Handler error in \"${event}\"`,\n err\n );\n }\n });\n}","import { useEffect } from \"react\";\nimport { register, call } from \"./bridge\";\nimport type { Handler, EventKey, EventPayload } from \"./types\";\n\n/** ✅ STRICT typed overload */\nexport function useRegister<K extends EventKey>(\n event: K,\n handler: Handler<EventPayload<K>>\n): void;\n\n/** ✅ fallback */\nexport function useRegister(\n event: string,\n handler: Handler\n) {\n useEffect(() => {\n const unregister = register(event, handler);\n return unregister;\n }, [event, handler]);\n}\n\nexport function useBridge() {\n return { call };\n}"],"mappings":"AAEA,IAAMA,EAAY,IAAI,IAEf,SAASC,EACZC,EACAC,EACF,CACE,OAAKH,EAAU,IAAIE,CAAK,GACpBF,EAAU,IAAIE,EAAO,IAAI,GAAK,EAGlCF,EAAU,IAAIE,CAAK,EAAG,IAAIC,CAAkB,EAErC,IAAM,CACTH,EAAU,IAAIE,CAAK,GAAG,OAAOC,CAAkB,EAE3CH,EAAU,IAAIE,CAAK,GAAG,OAAS,GAC/BF,EAAU,OAAOE,CAAK,CAE9B,CACJ,CAgBO,SAASE,EAAKF,EAAeG,EAAe,CAC/C,IAAMC,EAAWN,EAAU,IAAIE,CAAK,EAEpC,GAAI,CAACI,EAAU,CACP,QAAQ,IAAI,WAAa,cACzB,QAAQ,KAAK,iCAAiCJ,CAAK,GAAG,EAE1D,MACJ,CAEAI,EAAS,QAASH,GAAY,CAC1B,GAAI,CACAA,EAAQE,CAAO,CACnB,OAASE,EAAK,CACV,QAAQ,MACJ,iCAAiCL,CAAK,IACtCK,CACJ,CACJ,CACJ,CAAC,CACL,CCzDA,OAAS,aAAAC,MAAiB,QAWnB,SAASC,EACZC,EACAC,EACF,CACEC,EAAU,IACaC,EAASH,EAAOC,CAAO,EAE3C,CAACD,EAAOC,CAAO,CAAC,CACvB,CAEO,SAASG,GAAY,CACxB,MAAO,CAAE,KAAAC,CAAK,CAClB","names":["listeners","register","event","handler","call","payload","handlers","err","useEffect","useRegister","event","handler","useEffect","register","useBridge","call"]}
|