Advanced / Store Advanced

storePath

storePath API reference.


Import

import type { storePath } from "solid-js";

Type signature

interface storePath {
DELETE: typeof DELETE;
<
T,
K1 extends KeyOf<W<T>>,
K2 extends KeyOf<W<W<T>[K1]>>,
K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>,
K6 extends KeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>,
K7 extends KeyOf<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>>,
>(
k1: Part<W<T>, K1>,
k2: Part<W<W<T>[K1]>, K2>,
k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>,
k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>,
k7: Part<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>, K7>,
setter: PathSetter<W<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>[K7]>
): (state: T) => void;
<
T,
K1 extends KeyOf<W<T>>,
K2 extends KeyOf<W<W<T>[K1]>>,
K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>,
K6 extends KeyOf<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>>,
>(
k1: Part<W<T>, K1>,
k2: Part<W<W<T>[K1]>, K2>,
k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>,
k6: Part<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>, K6>,
setter: PathSetter<W<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>[K6]>
): (state: T) => void;
<
T,
K1 extends KeyOf<W<T>>,
K2 extends KeyOf<W<W<T>[K1]>>,
K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
K5 extends KeyOf<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>>,
>(
k1: Part<W<T>, K1>,
k2: Part<W<W<T>[K1]>, K2>,
k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
k5: Part<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>, K5>,
setter: PathSetter<W<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>[K5]>
): (state: T) => void;
<
T,
K1 extends KeyOf<W<T>>,
K2 extends KeyOf<W<W<T>[K1]>>,
K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
K4 extends KeyOf<W<W<W<W<T>[K1]>[K2]>[K3]>>,
>(
k1: Part<W<T>, K1>,
k2: Part<W<W<T>[K1]>, K2>,
k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
k4: Part<W<W<W<W<T>[K1]>[K2]>[K3]>, K4>,
setter: PathSetter<W<W<W<W<T>[K1]>[K2]>[K3]>[K4]>
): (state: T) => void;
<
T,
K1 extends KeyOf<W<T>>,
K2 extends KeyOf<W<W<T>[K1]>>,
K3 extends KeyOf<W<W<W<T>[K1]>[K2]>>,
>(
k1: Part<W<T>, K1>,
k2: Part<W<W<T>[K1]>, K2>,
k3: Part<W<W<W<T>[K1]>[K2]>, K3>,
setter: PathSetter<W<W<W<T>[K1]>[K2]>[K3]>
): (state: T) => void;
<T, K1 extends KeyOf<W<T>>, K2 extends KeyOf<W<W<T>[K1]>>>(
k1: Part<W<T>, K1>,
k2: Part<W<W<T>[K1]>, K2>,
setter: PathSetter<W<W<T>[K1]>[K2]>
): (state: T) => void;
<T, K1 extends KeyOf<W<T>>>(
k1: Part<W<T>, K1>,
setter: PathSetter<W<T>[K1]>
): (state: T) => void;
<T>(setter: PathSetter<T>): (state: T) => void;
}

Properties

DELETE

  • Type: typeof DELETE

ArrayFilterFn

type ArrayFilterFn<T> = (item: T, index: number) => boolean;

CustomPartial

type CustomPartial<T> = T extends readonly unknown[]
? "0" extends keyof T
? { [K in Extract<keyof T, `${number}`>]?: T[K] }
: { [x: number]: T[number] }
: Partial<T>;

Part

type Part<T, K extends KeyOf<T> = KeyOf<T>> =
| K
| ([K] extends [never] ? never : readonly K[])
| ([T] extends [readonly unknown[]]
? ArrayFilterFn<T[number]> | StorePathRange
: never);

PathSetter

type PathSetter<T> =
| T
| CustomPartial<T>
| ((prev: T) => T | CustomPartial<T>)
| typeof DELETE;

StorePathRange

type StorePathRange = { from?: number; to?: number; by?: number };

from

  • Type: number

to

  • Type: number

by

  • Type: number
Last updated: 7/4/26, 6:21 PMEdit this pageReport an issue with this page