@tilia/react
Version:
🍃 React State Management with Tilia.
8 lines (7 loc) • 2.15 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../src/index.js"],
"sourcesContent": ["import { _ctx, _done, _ready, _clear, computed } from \"tilia\";\nimport { useMemo, useState, useEffect } from \"react\";\n\nexport function make({ _observe, tilia }) {\n function useTilia() {\n const [_, setCount] = useState(0);\n const o = _observe(() => setCount((i) => i + 1));\n useEffect(() => {\n _ready(o, true);\n return () => _clear(o);\n });\n }\n function useComputed(fn) {\n return useMemo(() => tilia({ value: computed(fn) }), []).value;\n }\n\n function leaf(fn) {\n return (p) => {\n const [_, setCount] = useState(0);\n const o = _observe(() => setCount((i) => i + 1));\n\n useEffect(() => {\n _ready(o, true);\n return () => _clear(o);\n });\n\n const node = fn(p);\n _done(o);\n return node;\n };\n }\n return { useTilia, useComputed, leaf };\n}\n\nconst lib = make(_ctx);\nexport const useTilia = lib.useTilia;\nexport const useComputed = lib.useComputed;\nexport const leaf = lib.leaf;\n"],
"mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,EAAO,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,MAAgB,QACtD,OAAS,WAAAC,EAAS,YAAAC,EAAU,aAAAC,MAAiB,QAEtC,SAASC,EAAK,CAAE,SAAAC,EAAU,MAAAC,CAAM,EAAG,CACxC,SAASC,GAAW,CAClB,GAAM,CAACC,EAAGC,CAAQ,EAAIP,EAAS,CAAC,EAC1B,EAAIG,EAAS,IAAMI,EAAUC,GAAMA,EAAI,CAAC,CAAC,EAC/CP,EAAU,KACRL,EAAO,EAAG,EAAI,EACP,IAAMC,EAAO,CAAC,EACtB,CACH,CACA,SAASY,EAAYC,EAAI,CACvB,OAAOX,EAAQ,IAAMK,EAAM,CAAE,MAAON,EAASY,CAAE,CAAE,CAAC,EAAG,CAAC,CAAC,EAAE,KAC3D,CAEA,SAASC,EAAKD,EAAI,CAChB,OAAQE,GAAM,CACZ,GAAM,CAACN,EAAGC,CAAQ,EAAIP,EAAS,CAAC,EAC1Ba,EAAIV,EAAS,IAAMI,EAAUC,GAAMA,EAAI,CAAC,CAAC,EAE/CP,EAAU,KACRL,EAAOiB,EAAG,EAAI,EACP,IAAMhB,EAAOgB,CAAC,EACtB,EAED,IAAMC,EAAOJ,EAAGE,CAAC,EACjB,OAAAjB,EAAMkB,CAAC,EACAC,CACT,CACF,CACA,MAAO,CAAE,SAAAT,EAAU,YAAAI,EAAa,KAAAE,CAAK,CACvC,CAEA,IAAMI,EAAMb,EAAKR,CAAI,EACRW,EAAWU,EAAI,SACfN,EAAcM,EAAI,YAClBJ,EAAOI,EAAI",
"names": ["_ctx", "_done", "_ready", "_clear", "computed", "useMemo", "useState", "useEffect", "make", "_observe", "tilia", "useTilia", "_", "setCount", "i", "useComputed", "fn", "leaf", "p", "o", "node", "lib"]
}