persisted
A signal whose value survives the app's restarts. Its first read is synchronous; each write lands at once in memory and on disk when the JS task ends, in one transaction with the task's other writes.
Usage
Persist a preference
import { Text, Toggle, VStack, persisted, type Schema } from 'kuito';
const booleanSchema: Schema<boolean> = {
'~standard': {
version: 1,
vendor: 'example',
validate: (value) =>
typeof value === 'boolean' ? { value } : { issues: [{ message: 'Expected boolean' }] },
},
};
export function Preferences() {
const wifiOnly = persisted(true, { key: 'downloads.wifiOnly', schema: booleanSchema });
return (
<VStack gap={12}>
<Toggle label="Download on Wi-Fi only" checked={wifiOnly} />
<Text>{wifiOnly.value ? 'Wi-Fi only' : 'Any connection'}</Text>
</VStack>
);
}Signatures
<T>(initial: T, options: PersistedOptions<T>): Signal<T>Type parameters
| Name | Constraint | Default |
|---|---|---|
T | — | — |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
initial | T | Yes | — |
options | PersistedOptions<T> | Yes | — |
Returns
Signal<T>
Generated from the public TypeScript declarations: signatures, props and defaults come from the checked source, descriptions from its JSDoc. No defaults are invented.