[{"data":1,"prerenderedAt":180},["ShallowReactive",2],{"navigation":3,"-frameworks":65,"-frameworks-surround":177},[4,15,29,47],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Omni Async","\u002Fguide","1.guide\u002F1.index",[9,11],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-book-open",{"title":12,"path":13,"stem":14,"icon":10},"Quick start","\u002Fguide\u002Fquick-start","1.guide\u002F2.quick-start",{"title":16,"path":17,"stem":18,"children":19},"Async state","\u002Fconcepts","2.concepts\u002F1.index",[20,21,25],{"title":16,"path":17,"stem":18},{"title":22,"path":23,"stem":24},"Concurrency and cancellation","\u002Fconcepts\u002Fconcurrency-and-cancellation","2.concepts\u002F2.concurrency-and-cancellation",{"title":26,"path":27,"stem":28},"Notifications and equality","\u002Fconcepts\u002Fnotifications","2.concepts\u002F3.notifications",{"title":30,"path":31,"stem":32,"children":33},"Framework adapters","\u002Fframeworks","3.frameworks\u002F1.index",[34,35,39,43],{"title":30,"path":31,"stem":32},{"title":36,"path":37,"stem":38},"React","\u002Fframeworks\u002Freact","3.frameworks\u002F2.react",{"title":40,"path":41,"stem":42},"Vue","\u002Fframeworks\u002Fvue","3.frameworks\u002F3.vue",{"title":44,"path":45,"stem":46},"Svelte","\u002Fframeworks\u002Fsvelte","3.frameworks\u002F4.svelte",{"title":48,"path":49,"stem":50,"children":51},"Core API","\u002Fapi","4.api\u002F1.index",[52,53,57,61],{"title":48,"path":49,"stem":50},{"title":54,"path":55,"stem":56},"React API","\u002Fapi\u002Freact","4.api\u002F2.react",{"title":58,"path":59,"stem":60},"Vue API","\u002Fapi\u002Fvue","4.api\u002F3.vue",{"title":62,"path":63,"stem":64},"Svelte API","\u002Fapi\u002Fsvelte","4.api\u002F4.svelte",{"id":66,"title":30,"body":67,"description":169,"extension":172,"meta":173,"navigation":174,"path":31,"seo":175,"stem":32,"__hash__":176},"content\u002F3.frameworks\u002F1.index.md",{"type":68,"value":69,"toc":168},"minimark",[70,79,139,146],[71,72,73,74,78],"p",{},"Every adapter delegates async state transitions to ",[75,76,77],"code",{},"@omni-async\u002Fcore",". Choose the package matching the component runtime; use core directly in framework-independent services.",[80,81,82,95],"table",{},[83,84,85],"thead",{},[86,87,88,92],"tr",{},[89,90,91],"th",{},"API",[89,93,94],{},"Purpose",[96,97,98,109,119,129],"tbody",{},[86,99,100,106],{},[101,102,103],"td",{},[75,104,105],{},"useAsync",[101,107,108],{},"Configurable operation with concurrency, fallback data, callbacks, and equality",[86,110,111,116],{},[101,112,113],{},[75,114,115],{},"useQuery",[101,117,118],{},"Latest-request query with optional initial data",[86,120,121,126],{},[101,122,123],{},[75,124,125],{},"useAction",[101,127,128],{},"Manually triggered action",[86,130,131,136],{},[101,132,133],{},[75,134,135],{},"useFetch",[101,137,138],{},"Mount-triggered, abortable fetch helper",[71,140,141,142,145],{},"The React and Vue adapters expose ",[75,143,144],{},"{ data, error, loading, trigger }",". Svelte exposes the state fields as readable stores.",[147,148,149,156,162],"card-group",{},[150,151,153],"card",{"icon":152,"title":36,"to":37},"i-simple-icons-react",[71,154,155],{},"Hooks using React's external-store subscription API.",[150,157,159],{"icon":158,"title":40,"to":41},"i-simple-icons-vuedotjs",[71,160,161],{},"Composables returning refs and automatic scope cleanup.",[150,163,165],{"icon":164,"title":44,"to":45},"i-simple-icons-svelte",[71,166,167],{},"Readable stores with component lifecycle cleanup.",{"title":169,"searchDepth":170,"depth":170,"links":171},"",2,[],"md",{},{},{"title":30,"description":169},"81dNTgyv_IUzdCuCVY0yRDw2SSPTcDUcyKaiMxZ6swU",[178,179],{"title":26,"path":27,"stem":28,"description":169,"children":-1},{"title":36,"path":37,"stem":38,"description":169,"children":-1},1786006625353]