crosshook 1.0.2 → 1.0.3
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 +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -6,7 +6,8 @@ type EventsFrom<T extends EventMap> = {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
declare function register<T = any>(event: string, handler: Handler<T>): () => void;
|
|
9
|
-
|
|
9
|
+
/** 🔥 GENERIC TYPED OVERLOAD */
|
|
10
|
+
declare function call<E, K extends keyof E>(event: K, payload: E[K]): void;
|
|
10
11
|
|
|
11
12
|
declare function useRegister<T = any>(event: string, handler: Handler<T>): void;
|
|
12
13
|
declare function useBridge(): {
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ type EventsFrom<T extends EventMap> = {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
declare function register<T = any>(event: string, handler: Handler<T>): () => void;
|
|
9
|
-
|
|
9
|
+
/** 🔥 GENERIC TYPED OVERLOAD */
|
|
10
|
+
declare function call<E, K extends keyof E>(event: K, payload: E[K]): void;
|
|
10
11
|
|
|
11
12
|
declare function useRegister<T = any>(event: string, handler: Handler<T>): void;
|
|
12
13
|
declare function useBridge(): {
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var f=Object.defineProperty;var
|
|
1
|
+
"use strict";var f=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var y=(e,r)=>{for(var o in r)f(e,o,{get:r[o],enumerable:!0})},E=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of g(r))!m.call(e,t)&&t!==o&&f(e,t,{get:()=>r[t],enumerable:!(s=u(r,t))||s.enumerable});return e};var x=e=>E(f({},"__esModule",{value:!0}),e);var H={};y(H,{call:()=>i,createCrosshook:()=>d,register:()=>a,useBridge:()=>c,useRegister:()=>p});module.exports=x(H);var n=new Map;function a(e,r){return n.has(e)||n.set(e,new Set),n.get(e).add(r),()=>{n.get(e)?.delete(r),n.get(e)?.size===0&&n.delete(e)}}function i(e,r){let o=n.get(e);if(!o){process.env.NODE_ENV!=="production"&&console.warn(`[crosshook] No listeners for "${e}"`);return}o.forEach(s=>{try{s(r)}catch(t){console.error(`[crosshook] Handler error in "${e}"`,t)}})}var l=require("react");function p(e,r){(0,l.useEffect)(()=>a(e,r),[e,r])}function c(){return{call:i}}function d(e){function r(){return{call(s,t){i(s,t)}}}function o(s,t){p(s,t)}return{useBridge:r,useRegister:o}}0&&(module.exports={call,createCrosshook,register,useBridge,useRegister});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/bridge.ts","../src/hooks.ts","../src/createCrossHook.ts"],"sourcesContent":["export { call, register } from \"./bridge\";\nexport { useBridge, useRegister } from \"./hooks\";\n\nexport { createCrosshook } from \"./createCrossHook\";\n\nexport type {\n Handler,\n EventMap,\n EventsFrom,\n InferPayload,\n} 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\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 } from \"./types\";\n\nexport function useRegister<T = any>(\n event: string,\n handler: Handler<T>\n) {\n useEffect(() => {\n const unregister = register(event, handler);\n return unregister;\n }, [event, handler]);\n}\n\nexport function useBridge() {\n return { call };\n}","import { call as baseCall } from \"./bridge\";\nimport { useRegister as baseRegister } from \"./hooks\";\nimport type { EventMap, EventsFrom } from \"./types\";\n\nexport function createCrosshook<T extends EventMap>(defs: T) {\n type Events = EventsFrom<T>;\n\n function useBridge() {\n return {\n call<K extends keyof Events>(\n event: K,\n payload: Events[K]\n ) {\n baseCall(event
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/bridge.ts","../src/hooks.ts","../src/createCrossHook.ts"],"sourcesContent":["export { call, register } from \"./bridge\";\nexport { useBridge, useRegister } from \"./hooks\";\n\nexport { createCrosshook } from \"./createCrossHook\";\n\nexport type {\n Handler,\n EventMap,\n EventsFrom,\n InferPayload,\n} from \"./types\";","import type { Handler } from \"./types\";\n\n/** INTERNAL STORE */\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\n/** 🔥 GENERIC TYPED OVERLOAD */\nexport function call<E, K extends keyof E>(\n event: K,\n payload: E[K]\n): void;\n\n/** DEFAULT 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 } from \"./types\";\n\nexport function useRegister<T = any>(\n event: string,\n handler: Handler<T>\n) {\n useEffect(() => {\n const unregister = register(event, handler);\n return unregister;\n }, [event, handler]);\n}\n\nexport function useBridge() {\n return { call };\n}","import { call as baseCall } from \"./bridge\";\nimport { useRegister as baseRegister } from \"./hooks\";\nimport type { EventMap, EventsFrom } from \"./types\";\n\nexport function createCrosshook<T extends EventMap>(defs: T) {\n type Events = EventsFrom<T>;\n\n function useBridge() {\n return {\n call<K extends keyof Events>(\n event: K,\n payload: Events[K]\n ) {\n baseCall(event, payload);\n },\n };\n }\n\n function useRegister<K extends keyof Events>(\n event: K,\n handler: (payload: Events[K]) => void\n ) {\n baseRegister(event as string, handler);\n }\n\n return {\n useBridge,\n useRegister,\n };\n}"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,oBAAAC,EAAA,aAAAC,EAAA,cAAAC,EAAA,gBAAAC,IAAA,eAAAC,EAAAP,GCGA,IAAMQ,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,CASO,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,CCnDA,IAAAC,EAA0B,iBAInB,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,CCZO,SAASC,EAAoCC,EAAS,CAGzD,SAASC,GAAY,CACjB,MAAO,CACH,KACIC,EACAC,EACF,CACEC,EAASF,EAAOC,CAAO,CAC3B,CACJ,CACJ,CAEA,SAASE,EACLH,EACAI,EACF,CACED,EAAaH,EAAiBI,CAAO,CACzC,CAEA,MAAO,CACH,UAAAL,EACA,YAAAI,CACJ,CACJ","names":["index_exports","__export","call","createCrosshook","register","useBridge","useRegister","__toCommonJS","listeners","register","event","handler","call","payload","handlers","err","import_react","useRegister","event","handler","register","useBridge","call","createCrosshook","defs","useBridge","event","payload","call","useRegister","handler"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=new Map;function a(e,r){return t.has(e)||t.set(e,new Set),t.get(e).add(r),()=>{t.get(e)?.delete(r),t.get(e)?.size===0&&t.delete(e)}}function i(e,r){let
|
|
1
|
+
var t=new Map;function a(e,r){return t.has(e)||t.set(e,new Set),t.get(e).add(r),()=>{t.get(e)?.delete(r),t.get(e)?.size===0&&t.delete(e)}}function i(e,r){let o=t.get(e);if(!o){process.env.NODE_ENV!=="production"&&console.warn(`[crosshook] No listeners for "${e}"`);return}o.forEach(s=>{try{s(r)}catch(n){console.error(`[crosshook] Handler error in "${e}"`,n)}})}import{useEffect as f}from"react";function p(e,r){f(()=>a(e,r),[e,r])}function l(){return{call:i}}function c(e){function r(){return{call(s,n){i(s,n)}}}function o(s,n){p(s,n)}return{useBridge:r,useRegister:o}}export{i as call,c as createCrosshook,a as register,l as useBridge,p as useRegister};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bridge.ts","../src/hooks.ts","../src/createCrossHook.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\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 } from \"./types\";\n\nexport function useRegister<T = any>(\n event: string,\n handler: Handler<T>\n) {\n useEffect(() => {\n const unregister = register(event, handler);\n return unregister;\n }, [event, handler]);\n}\n\nexport function useBridge() {\n return { call };\n}","import { call as baseCall } from \"./bridge\";\nimport { useRegister as baseRegister } from \"./hooks\";\nimport type { EventMap, EventsFrom } from \"./types\";\n\nexport function createCrosshook<T extends EventMap>(defs: T) {\n type Events = EventsFrom<T>;\n\n function useBridge() {\n return {\n call<K extends keyof Events>(\n event: K,\n payload: Events[K]\n ) {\n baseCall(event
|
|
1
|
+
{"version":3,"sources":["../src/bridge.ts","../src/hooks.ts","../src/createCrossHook.ts"],"sourcesContent":["import type { Handler } from \"./types\";\n\n/** INTERNAL STORE */\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\n/** 🔥 GENERIC TYPED OVERLOAD */\nexport function call<E, K extends keyof E>(\n event: K,\n payload: E[K]\n): void;\n\n/** DEFAULT 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 } from \"./types\";\n\nexport function useRegister<T = any>(\n event: string,\n handler: Handler<T>\n) {\n useEffect(() => {\n const unregister = register(event, handler);\n return unregister;\n }, [event, handler]);\n}\n\nexport function useBridge() {\n return { call };\n}","import { call as baseCall } from \"./bridge\";\nimport { useRegister as baseRegister } from \"./hooks\";\nimport type { EventMap, EventsFrom } from \"./types\";\n\nexport function createCrosshook<T extends EventMap>(defs: T) {\n type Events = EventsFrom<T>;\n\n function useBridge() {\n return {\n call<K extends keyof Events>(\n event: K,\n payload: Events[K]\n ) {\n baseCall(event, payload);\n },\n };\n }\n\n function useRegister<K extends keyof Events>(\n event: K,\n handler: (payload: Events[K]) => void\n ) {\n baseRegister(event as string, handler);\n }\n\n return {\n useBridge,\n useRegister,\n };\n}"],"mappings":"AAGA,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,CASO,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,CCnDA,OAAS,aAAAC,MAAiB,QAInB,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,CCZO,SAASC,EAAoCC,EAAS,CAGzD,SAASC,GAAY,CACjB,MAAO,CACH,KACIC,EACAC,EACF,CACEC,EAASF,EAAOC,CAAO,CAC3B,CACJ,CACJ,CAEA,SAASE,EACLH,EACAI,EACF,CACED,EAAaH,EAAiBI,CAAO,CACzC,CAEA,MAAO,CACH,UAAAL,EACA,YAAAI,CACJ,CACJ","names":["listeners","register","event","handler","call","payload","handlers","err","useEffect","useRegister","event","handler","useEffect","register","useBridge","call","createCrosshook","defs","useBridge","event","payload","call","useRegister","handler"]}
|