Skip to content

toObserveState: emit partial state immediately, batch updates per microtask - #215

Merged
krisnye merged 1 commit into
mainfrom
krisnye/observe-state-partial
Oct 10, 2026
Merged

krisnye merged 1 commit into
mainfrom
krisnye/observe-state-partial

Conversation

@krisnye

@krisnye krisnye commented Oct 10, 2026

Copy link
Copy Markdown
Collaborator

AsyncDataService.toObserveState previously combined members with Observe.fromProperties, which emits nothing until every member resolves — so a single never-resolving observe left the whole state blank.

  • New internal (not exported) fromPartialProperties: emits synchronously on subscribe with unresolved members as undefined (never valid Data, so it unambiguously means "not resolved yet"), then at most once per microtask however many members change; no emission after unobserve.
  • toObserveState uses it; State<T> leaves are now T | undefined.
  • Tests: concise unit test for fromPartialProperties; toObserveState tests updated for partial + batched emission.
  • Bump to 0.10.27.

Verified: clean pnpm run typecheck (tsbuildinfo cleared), pnpm run lint, full pnpm run test green.

🤖 Generated with Claude Code

Unresolved members read as undefined (never valid Data); changes are
batched to one emission per microtask. Bump to 0.10.27.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@krisnye
krisnye merged commit ab0b485 into main Oct 10, 2026
3 checks passed
@krisnye
krisnye deleted the krisnye/observe-state-partial branch October 10, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant