Verwendung

Persist a preference

Dieser Typ wird verwendet von persisted

tsx
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>
  );
}

Typdeklaration

ts
export interface PersistedOptions<T> {
  /** The storage key the value lives under, as JSON. */
  key: string;
  /** What a stored value must be: anything else is a warning, and `initial`. */
  schema: Schema<T>;
  /** In the keychain, through secureStore, for small secrets. Its first read is asynchronous. */
  secure?: boolean;
}

Mitglieder 3

NameTypErforderlichBeschreibung
keystringJaThe storage key the value lives under, as JSON.
schemaSchema<T>JaWhat a stored value must be: anything else is a warning, and initial.
securebooleanNeinIn the keychain, through secureStore, for small secrets. Its first read is asynchronous.
Generiert aus den öffentlichen TypeScript-Deklarationen: Signaturen, Props und Standardwerte stammen aus der geprüften Quelle, Beschreibungen aus deren JSDoc. Kein Standardwert ist erfunden.