{"_id":"@asyncflowstate/core","_rev":"5-9cd596214a6de677c61a0dba2a0ff55b","name":"@asyncflowstate/core","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.1":{"name":"@asyncflowstate/core","version":"1.0.1","keywords":["async","state","flow","loading","error-handling","retry","optimistic-ui","ux","typescript","vanilla-js","state-machine","fsm","middleware","broadcast-channel","sync","logic","promise","orchestration"],"author":{"name":"AsyncFlowState Contributors"},"license":"MIT","_id":"@asyncflowstate/core@1.0.1","maintainers":[{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"}],"homepage":"https://github.com/devhimanshuu/asyncflowstate#readme","bugs":{"url":"https://github.com/devhimanshuu/asyncflowstate/issues"},"dist":{"shasum":"7939415a05b6114a08d9a07c6064d99039cbe317","tarball":"https://registry.npmjs.org/@asyncflowstate/core/-/core-1.0.1.tgz","fileCount":9,"integrity":"sha512-1O7gT4Kxsk3w1TvnAuWyH+74jBStBNbZ2q0RZIr7MohYARn5U0seqK120L8+ZTNz9ZQUaL51e6v2/o+iHPJfkw==","signatures":[{"sig":"MEYCIQDUBN4gEoSIP4sUpwtnpQocNBNvTalFSbLWQIPXstdn6gIhAPnqssqj35zB4m1CTilIvn2vZ6kzdpmmERiEPhOgZw5C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":426807},"main":"./dist/index.js","_from":"file:asyncflowstate-core-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"private":false,"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"},"_resolved":"C:\\Users\\pc\\AppData\\Local\\Temp\\688afb37abb5289273dd5d2facdea5aa\\asyncflowstate-core-1.0.1.tgz","_integrity":"sha512-1O7gT4Kxsk3w1TvnAuWyH+74jBStBNbZ2q0RZIr7MohYARn5U0seqK120L8+ZTNz9ZQUaL51e6v2/o+iHPJfkw==","repository":{"url":"git+https://github.com/devhimanshuu/asyncflowstate.git","type":"git","directory":"packages/core"},"_npmVersion":"11.4.2","description":"Framework-agnostic core for AsyncFlowState. A tiny, powerful engine to orchestrate complex async UI behaviors, retries, and optimistic updates.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_1.0.1_1774805191472_0.5531852643070885","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@asyncflowstate/core","version":"2.0.0","keywords":["async","state","flow","loading","error-handling","retry","optimistic-ui","ux","typescript","vanilla-js","state-machine","fsm","middleware","broadcast-channel","sync","logic","promise","orchestration"],"author":{"name":"AsyncFlowState Contributors"},"license":"MIT","_id":"@asyncflowstate/core@2.0.0","maintainers":[{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"}],"homepage":"https://github.com/devhimanshuu/asyncflowstate#readme","bugs":{"url":"https://github.com/devhimanshuu/asyncflowstate/issues"},"dist":{"shasum":"7ee7eb8739462b49fe0da3b2d645eb01892b7391","tarball":"https://registry.npmjs.org/@asyncflowstate/core/-/core-2.0.0.tgz","fileCount":9,"integrity":"sha512-vG33iSf3IPIIfIR72vAkxLWXEs55obvrcJghPQ71jSF3yixQRIiYsxhylCIJRfMdWe+65OL5SwuBia1OrZvZWw==","signatures":[{"sig":"MEUCIQC8G4kiCAoUM8ajL7JioyNLhVY8SGubo1YtVQWLtwtugQIgMf8lUg0eHEfCiDTexSmPCoZ4qYslWsXOEs7YyfgOMJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545557},"main":"./dist/index.js","_from":"file:asyncflowstate-core-2.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"private":false,"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"},"_resolved":"/tmp/0cf7ec30e991d247de74831c957f3b95/asyncflowstate-core-2.0.0.tgz","_integrity":"sha512-vG33iSf3IPIIfIR72vAkxLWXEs55obvrcJghPQ71jSF3yixQRIiYsxhylCIJRfMdWe+65OL5SwuBia1OrZvZWw==","repository":{"url":"git+https://github.com/devhimanshuu/asyncflowstate.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Framework-agnostic core for AsyncFlowState. A tiny, powerful engine to orchestrate complex async UI behaviors, retries, and optimistic updates.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_2.0.0_1775766038151_0.15988453246449974","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@asyncflowstate/core","version":"2.0.1","keywords":["async","state","flow","loading","error-handling","retry","optimistic-ui","ux","typescript","vanilla-js","state-machine","fsm","middleware","broadcast-channel","sync","logic","promise","orchestration"],"author":{"name":"AsyncFlowState Contributors"},"license":"MIT","_id":"@asyncflowstate/core@2.0.1","maintainers":[{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"}],"homepage":"https://asyncflowstate-js.pages.dev/api/core","bugs":{"url":"https://github.com/devhimanshuu/asyncflowstate/issues"},"dist":{"shasum":"f5469da4cd24075f45124961af8fd171944582a6","tarball":"https://registry.npmjs.org/@asyncflowstate/core/-/core-2.0.1.tgz","fileCount":9,"integrity":"sha512-MihPNh1yDIH6QrYvGmzwkphGY5+OZJXGJtOCwYYYEvtEmCLJzyBvEKAtwxNS/KCk/dDt4JytF0XF/NBSjhlByQ==","signatures":[{"sig":"MEYCIQD4MFeqRGEp2m3+umSUHrJKLyUC6Ru8TROr4lomz7iNjQIhANZKrHL62GtwoikEO8OibrBMqDXcCw+cDfb15dKjO+fz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":548690},"main":"./dist/index.js","_from":"file:asyncflowstate-core-2.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"private":false,"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"},"_resolved":"/tmp/5fe1d1426573dcb548bbd337f77d5551/asyncflowstate-core-2.0.1.tgz","_integrity":"sha512-MihPNh1yDIH6QrYvGmzwkphGY5+OZJXGJtOCwYYYEvtEmCLJzyBvEKAtwxNS/KCk/dDt4JytF0XF/NBSjhlByQ==","repository":{"url":"git+https://github.com/devhimanshuu/asyncflowstate.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Framework-agnostic core for AsyncFlowState. A tiny, powerful engine to orchestrate complex async UI behaviors, retries, and optimistic updates.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_2.0.1_1775772480329_0.055788154373033416","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@asyncflowstate/core","version":"2.0.2","keywords":["async","state","flow","loading","error-handling","retry","optimistic-ui","ux","typescript","vanilla-js","state-machine","fsm","middleware","broadcast-channel","sync","logic","promise","orchestration"],"author":{"name":"AsyncFlowState Contributors"},"license":"MIT","_id":"@asyncflowstate/core@2.0.2","maintainers":[{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"}],"homepage":"https://asyncflowstate-js.pages.dev/api/core","bugs":{"url":"https://github.com/devhimanshuu/asyncflowstate/issues"},"dist":{"shasum":"1eab9319ab988e458a860fff0bdb6dec822d324b","tarball":"https://registry.npmjs.org/@asyncflowstate/core/-/core-2.0.2.tgz","fileCount":9,"integrity":"sha512-q5dS2nmtrvTU0w+HLHz8C0Gqr7qPsOGzDOl2TTyVDaVt+njBIU3VdndWl88a1JRhTjjB/tXx6qzvVPfnjQ1Zog==","signatures":[{"sig":"MEUCIQCwOkxFifnVknok3BtF5LXbpSRUhAV1mEGoJQFjKNQIpwIgJqoz0vDbA7OYrIpQ4Un1ktYlNg4BEoWdRV1M5jZ9aKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":548690},"main":"./dist/index.js","_from":"file:asyncflowstate-core-2.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"private":false,"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"},"_resolved":"/tmp/62040ab38246f8baeb462c40db553bce/asyncflowstate-core-2.0.2.tgz","_integrity":"sha512-q5dS2nmtrvTU0w+HLHz8C0Gqr7qPsOGzDOl2TTyVDaVt+njBIU3VdndWl88a1JRhTjjB/tXx6qzvVPfnjQ1Zog==","repository":{"url":"git+https://github.com/devhimanshuu/asyncflowstate.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Framework-agnostic core for AsyncFlowState. A tiny, powerful engine to orchestrate complex async UI behaviors, retries, and optimistic updates.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_2.0.2_1775774293299_0.11449542706989191","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@asyncflowstate/core","version":"3.0.0","private":false,"description":"Framework-agnostic core for AsyncFlowState. A tiny, powerful engine to orchestrate complex async UI behaviors, retries, and optimistic updates.","keywords":["async","state","flow","loading","error-handling","retry","optimistic-ui","ux","typescript","vanilla-js","state-machine","fsm","middleware","broadcast-channel","sync","logic","promise","orchestration"],"author":{"name":"AsyncFlowState Contributors"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/devhimanshuu/asyncflowstate.git","directory":"packages/core"},"bugs":{"url":"https://github.com/devhimanshuu/asyncflowstate/issues"},"homepage":"https://asyncflowstate-js.pages.dev/api/core","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"sideEffects":false,"engines":{"node":">=16.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest","typecheck":"tsc --noEmit"},"_id":"@asyncflowstate/core@3.0.0","_integrity":"sha512-tglX3tFwrqyNRmQfkC/yndgfYWBHmf4SZwkFXBnFNf4gH0OwFEKHkNpl/NHonInjDLAg9ApVG5ygzaG47x9uTg==","_resolved":"C:\\Users\\pc\\AppData\\Local\\Temp\\c2a1c21974b2734087fd8a3406bc8c4c\\asyncflowstate-core-3.0.0.tgz","_from":"file:asyncflowstate-core-3.0.0.tgz","_nodeVersion":"22.17.1","_npmVersion":"11.13.0","dist":{"integrity":"sha512-tglX3tFwrqyNRmQfkC/yndgfYWBHmf4SZwkFXBnFNf4gH0OwFEKHkNpl/NHonInjDLAg9ApVG5ygzaG47x9uTg==","shasum":"2a04776a94419c8c3db6d07715bcf6b9b8f48cb2","tarball":"https://registry.npmjs.org/@asyncflowstate/core/-/core-3.0.0.tgz","fileCount":9,"unpackedSize":951755,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDTnMHrQphOiityr5twsEzcYWpSYZWgjEeUyfCGxKWviAiAD01IefLu6QGXUM3iuXggV6axE74zKwNBNBawFmwORKA=="}]},"_npmUser":{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"},"directories":{},"maintainers":[{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_3.0.0_1777546158003_0.9162750669495836"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-29T17:26:31.373Z","modified":"2026-04-30T10:49:18.281Z","1.0.1":"2026-03-29T17:26:31.620Z","2.0.0":"2026-04-09T20:20:38.305Z","2.0.1":"2026-04-09T22:08:00.497Z","2.0.2":"2026-04-09T22:38:13.522Z","3.0.0":"2026-04-30T10:49:18.178Z"},"bugs":{"url":"https://github.com/devhimanshuu/asyncflowstate/issues"},"author":{"name":"AsyncFlowState Contributors"},"license":"MIT","homepage":"https://asyncflowstate-js.pages.dev/api/core","keywords":["async","state","flow","loading","error-handling","retry","optimistic-ui","ux","typescript","vanilla-js","state-machine","fsm","middleware","broadcast-channel","sync","logic","promise","orchestration"],"repository":{"type":"git","url":"git+https://github.com/devhimanshuu/asyncflowstate.git","directory":"packages/core"},"description":"Framework-agnostic core for AsyncFlowState. A tiny, powerful engine to orchestrate complex async UI behaviors, retries, and optimistic updates.","maintainers":[{"name":"devhimanshuu","email":"devhimanshuu@gmail.com"}],"readme":"<div align=\"center\">\n  <a href=\"https://github.com/devhimanshuu/asyncflowstate\">\n    <img src=\"https://raw.githubusercontent.com/devhimanshuu/asyncflowstate/main/assets/AsyncFlowState_logo.png\" width=\"120\" height=\"120\" alt=\"AsyncFlowState Logo\" />\n  </a>\n  <h1>@asyncflowstate/core <span style=\"font-size: 14px; background: #10b98122; color: #10b981; padding: 4px 10px; border-radius: 20px; vertical-align: middle; margin-left: 10px;\">v3.0.0 Stable</span></h1>\n  <p><b>Framework-agnostic async UI behavior orchestration engine.</b></p>\n\n  <p>\n    <a href=\"https://asyncflowstate-js.pages.dev/api/core\"><img src=\"https://img.shields.io/badge/Documentation-Link-blue.svg\" alt=\"Documentation\" /></a>\n    <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/License-MIT-emerald.svg\" alt=\"License: MIT\" /></a>\n    <a href=\"https://www.npmjs.com/package/@asyncflowstate/core\"><img src=\"https://img.shields.io/npm/v/@asyncflowstate/core?color=indigo\" alt=\"NPM Version\" /></a>\n  </p>\n</div>\n\n---\n\n## Installation\n\n```bash\nnpm install @asyncflowstate/core\n# or\npnpm add @asyncflowstate/core\n```\n\n## Quick Start\n\n```typescript\nimport { Flow } from \"@asyncflowstate/core\";\n\n// 1. Create a flow for any async action\nconst saveFlow = new Flow(async (data) => {\n  const response = await fetch(\"/api/save\", {\n    method: \"POST\",\n    body: JSON.stringify(data),\n  });\n  return response.json();\n});\n\n// 2. Subscribe to state changes\nsaveFlow.subscribe((state) => {\n  console.log(\"Status:\", state.status); // 'idle' | 'loading' | 'success' | 'error'\n  console.log(\"Data:\", state.data);\n  console.log(\"Error:\", state.error);\n});\n\n// 3. Execute the flow\nawait saveFlow.execute({ name: \"John\" });\n```\n\n## Key Features\n\n### Concurrency Strategies\n\nControl what happens when `execute()` is called while an action is already running.\n\n- `keep` (default): Ignore the new request.\n- `restart`: Abort the current request and start the new one.\n\n```typescript\nconst flow = new Flow(fetchData, { concurrency: \"restart\" });\n```\n\n### Perception & UX Polish\n\nPrevent UI flashes by ensuring loading states show for a appropriate amount of time.\n\n- `delay`: Wait before switching to `loading` status (prevents flicker for fast actions).\n- `minDuration`: Stay in `loading` state for at least this long once switched.\n\n```typescript\nconst flow = new Flow(saveData, {\n  loading: {\n    delay: 200, // Only show spinner if > 200ms\n    minDuration: 500, // If shown, keep for at least 500ms\n  },\n});\n```\n\n### Resilience (Retry)\n\nBuilt-in retry logic with fixed, linear, or exponential backoff.\n\n```typescript\nconst flow = new Flow(flakeyAction, {\n  retry: {\n    maxAttempts: 3,\n    delay: 1000,\n    backoff: \"exponential\",\n  },\n});\n```\n\n### Optimistic UI\n\nUpdate the state immediately before the action completes.\n\n```typescript\nconst flow = new Flow(updateName, {\n  optimisticResult: \"New Name\",\n});\n\nflow.execute();\nconsole.log(flow.data); // \"New Name\" (instantly)\n```\n\n### Progress Tracking\n\nManually report progress for long-running tasks.\n\n```typescript\nconst flow = new Flow(async () => {\n  flow.setProgress(50); // halfway done\n});\n\nconsole.log(flow.progress); // 50\n```\n\n### Polling\n\nAutomatically re-execute the action at a fixed interval.\n\n```typescript\nconst flow = new Flow(fetchPrice, {\n  polling: {\n    interval: 5000, // Every 5 seconds\n    stopIf: (data) => data.isClosed, // Stop when condition met\n    stopOnError: true,\n  },\n});\n\nflow.execute(); // Starts execution and subsequent polls\n```\n\n### Preconditions\n\nPrevent execution based on custom logic.\n\n```typescript\nconst flow = new Flow(saveData, {\n  precondition: () => isAuthenticated(),\n  onBlocked: () => redirectToLogin(),\n});\n```\n\n### FlowSequence\n\nRun multiple flows in order with shared state.\n\n```typescript\nimport { FlowSequence } from \"@asyncflowstate/core\";\n\nconst sequence = new FlowSequence([\n  { name: \"Auth\", flow: loginFlow },\n  { name: \"Fetch\", flow: dataFlow, mapInput: (auth) => auth.token },\n]);\n\nawait sequence.execute();\n```\n\n### FlowParallel\n\nExecute multiple flows in parallel with aggregate state. Supports `all`, `allSettled`, and `race` strategies.\n\n```typescript\nimport { FlowParallel } from \"@asyncflowstate/core\";\n\nconst parallel = new FlowParallel([widget1Flow, widget2Flow], \"all\");\nawait parallel.execute();\nconsole.log(parallel.state.progress); // Average progress of all flows\n```\n\n### Streaming Support (LLM/AI)\n\nNative support for `AsyncIterable` and `ReadableStream`. The flow status switches to `'streaming'` until completion.\n\n```typescript\nconst flow = new Flow(async (prompt) => {\n  const response = await ai.stream(prompt);\n  return response.body; // ReadableStream\n});\n\nflow.subscribe((state) => {\n  if (state.status === \"streaming\") {\n    processChunk(state.data);\n  }\n});\n```\n\n### Persistent Circuit Breaker\n\nPrevents cascading failures by \"tripping\" the circuit after thresholds are met. State is persisted to `localStorage`.\n\n```typescript\nconst flow = new Flow(flakeyAPI, {\n  circuitBreaker: {\n    failureThreshold: 5,\n    resetTimeout: 30000,\n  },\n  circuitBreakerKey: \"user-api-circuit\",\n});\n```\n\n### Declarative Chaining (Signals)\n\nUse signals to chain flows without manual `useEffect` or complex orchestration.\n\n```typescript\nconst saveFlow = new Flow(saveUser);\nconst emailFlow = new Flow(sendEmail, {\n  triggerOn: [saveFlow.signals.success],\n});\n```\n\n### Event System (Debugger Support)\n\nSubscribe to global events for monitoring or logging.\n\n```typescript\nconst cleanup = Flow.onEvent((event) => {\n  console.log(\n    `${event.flowName} [${event.flowId}]: ${event.type}`,\n    event.state,\n  );\n});\n```\n\n## <i class=\"fa-solid fa-sparkles text-amber-500\"></i> New in v3.0\n\n- **Flow DNA:** Self-healing async state that learns from environment patterns and user behavior.\n- **Ambient Intelligence:** Non-intrusive monitoring that predicts and optimizes background flows.\n- **Flow Choreography:** Declarative coordination of complex, multi-stage async workflows.\n- **Speculative Execution:** Run flows before users even click, based on high-confidence intent prediction.\n- **Emotional UX:** Adaptive UI transitions and skeleton states that respond to user sentiment and system load.\n- **Flow Mesh:** Cross-tab and cross-device orchestration with leader election and shared state.\n- **Collaborative Flows:** Sync async state in real-time across multiple users and browser sessions.\n- **Temporal Replay:** Time-travel through any async flow state with full state restoration.\n- **Edge-First Flows:** Optimized for Cloudflare Workers, Vercel Edge, and Deno with automatic failover.\n- **Telemetry Dashboard:** Real-time visualization of all flow health, latency, and throughput.\n\n## API Reference\n\n### `Flow<TData, TError, TArgs>`\n\n#### Constructor\n\n`new Flow(action, options?)`\n\n#### Properties\n\n- `status`: `'idle' | 'loading' | 'streaming' | 'success' | 'error'`\n- `data`: `TData | null`\n- `error`: `TError | null`\n- `progress`: `number` (0-100)\n- `isLoading`: `boolean` (Returns `false` if currently in `loading.delay` period)\n- `state`: The full state snapshot.\n\n#### Methods\n\n- `execute(...args: TArgs): Promise<TData | undefined>`\n- `cancel(): void`\n- `reset(): void`\n- `setProgress(value: number): void`\n- `subscribe(listener: (state) => void): () => void`\n\n## License\n\nMIT © [AsyncFlowState Contributors](https://github.com/devhimanshuu/asyncflowstate)\n","readmeFilename":"README.md"}