Store 6
One read contract for every copy of your data.
Store coordinates network, persistence, and memory behind typed Kotlin Multiplatform reads. Start with a key and a fetcher, then add persistence and projections as needed.
Use stream to observe read results as data changes, or get to request a value. The Quickstart shows the key, fetcher, and collection lifecycle. The read contract explains data origins, freshness, and what callers receive when a fetch fails. The introduction maps the available modules, integrations, and Store 5 migration guides.
Your first Store
Illustrative shapeval users = store<UserKey, User> {
fetcher { key -> FakeApi.getUser(key.id) }
}
users.stream(UserKey("1")).collect { result -> render(result) }
val user = users.get(UserKey("2"))store {} block is verbatim from the executable Quickstart module. The two read lines are simplified illustrations of the same stream and get calls.