UNPKG

@qundus/qstate

Version:
1 lines 2.97 kB
{"version":3,"sources":["../../../src/core/hooks/const.ts","../../../src/core/hooks/hooks-in-use.ts"],"names":["HOOKS_NAMES","HOOK_NAME_KEY","hooksInUse","store","hooks","result","key","hookName","name","names","arr"],"mappings":"aACO,IAAMA,CAAAA,CAAc,CAC1B,MAAA,CAAQ,QAAA,CACR,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,OAAA,CACP,eAAA,CAAiB,iBAAA,CACjB,UAAA,CAAY,YAAA,CACZ,oBAAA,CAAsB,uBACtB,MAAA,CAAQ,QAAA,CACR,OAAA,CAAS,SAAA,CACT,GAAA,CAAK,KACN,CAAA,CACaC,CAAAA,CAAgB,UAAA,CCRtB,SAASC,CAAAA,CAAwCC,CAAAA,CAAU,CAEjE,IAAMC,EAAQD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAO,KAAA,CACjBE,CAAAA,CAAS,IAAA,CACb,GAAID,CAAAA,EAAS,IAAA,CAAM,CAClBC,CAAAA,CAAS,EAAC,CACV,IAAA,IAAWC,KAAOF,CAAAA,CAAO,CAExB,IAAMG,CAAAA,CADOH,CAAAA,CAAME,CAAG,CAAA,CACAL,CAAa,CAAA,CACnCI,CAAAA,CAAOE,CAAQ,CAAA,CAAI,CAAE,GAAA,CAAAD,CAAI,EAC1B,CACD,CACA,OAAO,CACN,SAAA,CAAWN,CAAAA,CACX,SAAA,CAAWK,CAAAA,CACX,QAAA,CAAUA,CAAAA,EAAU,IAAA,CACpB,OAAA,CAAUG,CAAAA,EACLH,GAAU,IAAA,CACN,KAAA,CAEJG,CAAAA,IAAQH,CAAAA,CACJA,CAAAA,CAAOG,CAAI,CAAA,CAAE,GAAA,CAEd,KAAA,CAER,QAAA,CAAU,CAAA,GAAIC,CAAAA,GAAU,CACvB,GAAIJ,GAAU,IAAA,CACb,OAAO,MAAA,CAER,IAAIK,CAAAA,CAAM,EAAC,CACX,IAAA,IAAWF,CAAAA,IAAQC,CAAAA,CACdD,CAAAA,IAAQH,CAAAA,EACXK,CAAAA,CAAI,IAAA,CAAKL,CAAAA,CAAOG,CAAI,CAAA,CAAE,GAAG,CAAA,CAG3B,OAAIE,CAAAA,CAAI,MAAA,CAAS,CAAA,CACTA,CAAAA,EAGRA,CAAAA,CAAM,IAAA,CACC,KAAA,CACR,CACD,CACD","file":"index.cjs","sourcesContent":["// DON'T CHANGE KEY NAMES, ONLY ADD ON THEM\nexport const HOOKS_NAMES = {\n\tpreact: \"PREACT\",\n\treact: \"REACT\",\n\tsolid: \"SOLID\",\n\tsolid_unwrapped: \"SOLID-UNWRAPPED\",\n\tsolid_from: \"SOLID-FROM\",\n\tsolid_from_unwrapped: \"SOLID-FROM-UNWRAPPED\",\n\tsvelte: \"SVELTE\",\n\tvanilla: \"VANILLA\",\n\tvue: \"VUE\",\n} as const;\nexport const HOOK_NAME_KEY = \"hookName\" as const;\n","import type { NanoStoreAbstract } from \"../../_model\";\nimport type { HooksInUse } from \"./_model\";\nimport { HOOK_NAME_KEY, HOOKS_NAMES } from \"./const\";\n\nexport function hooksInUse<S extends NanoStoreAbstract>(store: S) {\n\t// @ts-ignore\n\tconst hooks = store?.hooks as any;\n\tlet result = null as any;\n\tif (hooks != null) {\n\t\tresult = {};\n\t\tfor (const key in hooks) {\n\t\t\tconst func = hooks[key];\n\t\t\tconst hookName = func[HOOK_NAME_KEY];\n\t\t\tresult[hookName] = { key };\n\t\t}\n\t}\n\treturn {\n\t\thookNames: HOOKS_NAMES,\n\t\thooksUsed: result,\n\t\thasHooks: result != null,\n\t\tgetHook: (name) => {\n\t\t\tif (result == null) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (name in result) {\n\t\t\t\treturn result[name].key;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tgetHooks: (...names) => {\n\t\t\tif (result == null) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tlet arr = [] as string[];\n\t\t\tfor (const name of names) {\n\t\t\t\tif (name in result) {\n\t\t\t\t\tarr.push(result[name].key);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (arr.length > 0) {\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\t// @ts-ignore\n\t\t\tarr = null;\n\t\t\treturn false;\n\t\t},\n\t} as HooksInUse;\n}\n"]}