@qundus/qstate
Version:
your everyday state pal
52 lines (45 loc) • 18.7 kB
text/typescript
import { Task } from 'nanostores';
export { allTasks, batched, cleanStores, cleanTasks, computed, effect, getKey, getPath, mapCreator, onMount, onNotify, onSet, onStart, onStop, readonlyType, setByKey, setPath, startTask, subscribeKeys, task } from 'nanostores';
import { g as Options, n as NanoAtom, o as Store, e as OptionsSetup, M as MergedOptions, k as StoreWithOptions, f as NanoAnyStore, T as TypeDeepMapObject, p as NanoDeepMap, h as OptionsDerived, q as NanoStoreValue, r as StoreDerived, s as NanoStoreValues, t as StoreDerivedWithOptions, j as MergedOptionsDerived, i as NanoReadable, u as TypeMapObject, v as NanoMap, w as OptionsPersistent, x as NanoPersistent, y as OptionsPersistentSetup, I as IsUndefined, z as IsEmpty, A as IsUnknown, B as IsNull, C as _AddonFactory, D as AddonUpdate, E as AddonDerive, F as AddonGetNew, G as AddonAstroIntegration, J as AddonChecks, _ as _HookFactory, b as HookNames, P as PreactHook, S as SvelteHook, K as AbstractEvent, L as EventOnChange, Q as EventOnMount } from './index-B-auO4kZ.cjs';
export { R as _QSTATE } from './index-B-auO4kZ.cjs';
import { VueHook } from './integrations/vue/_model.cjs';
import { VanillaHook } from './integrations/vanilla/_model.cjs';
import { SolidHook, SolidHookUnwrapped, SolidHookFrom, SolidHookFromUnwrapped } from './integrations/solid/_model.cjs';
import { ReactHook } from './integrations/react/_model.cjs';
import './checks/index.cjs';
import '@nanostores/preact';
import '@nanostores/persistent';
declare function atom<T, O extends Options<NanoAtom<T>>>(init: T, _options?: O): Store<NanoAtom<T>, O>;
declare function atomSetup<G extends OptionsSetup<NanoAtom>>(base?: G): <T, D extends Options<NanoAtom<T>>>(obj: T, _options?: D) => Store<NanoAtom<T>, MergedOptions<NanoAtom<T>, D, G>>;
declare function atomFrom<T, D extends Options<NanoAtom<T>>, S extends StoreWithOptions>(store: S, obj: T, _options?: D): Store<NanoAtom<T>, MergedOptions<NanoAnyStore, D, S["__options"]>>;
declare function deepMap<T extends TypeDeepMapObject, O extends Options<NanoDeepMap<T>>>(init: T, _options?: O): Store<NanoDeepMap<T>, O>;
declare function deepMapSetup<G extends OptionsSetup<NanoDeepMap>>(base?: G): <T extends TypeDeepMapObject, D extends Options<NanoDeepMap<T>>>(obj: T, _options?: D) => Store<NanoDeepMap<T>, MergedOptions<NanoDeepMap<T>, D, G>>;
declare function deepMapFrom<T extends TypeDeepMapObject, D extends Options<NanoDeepMap<T>>, S extends StoreWithOptions>(store: S, obj: T, _options?: D): Store<NanoDeepMap<T>, MergedOptions<NanoAnyStore, D, S["__options"]>>;
declare function derive<S extends NanoAnyStore, R, O extends OptionsDerived>(store: S, fn: (value: NanoStoreValue<S>) => Task<R> | R, options?: O): StoreDerived<R, O>;
declare function deriveMany<S extends NanoAnyStore[], R, O extends OptionsDerived>(store: [...S], fn: (...value: NanoStoreValues<S>) => Task<R> | R, options?: O): StoreDerived<R, O>;
declare function deriveFrom<S extends StoreDerivedWithOptions, R, O extends OptionsDerived>(store: S, fn: (value: NanoStoreValue<S>) => Task<R> | R, _options?: O): StoreDerived<R, MergedOptionsDerived<NanoAnyStore | NanoReadable, O, S["__options"]>>;
declare function map<T extends TypeMapObject, O extends Options<NanoMap<T>>>(init: T, _options?: O): Store<NanoMap<T>, O>;
declare function mapSetup<G extends OptionsSetup<NanoMap>>(base?: G): <T extends TypeMapObject, D extends Options<NanoMap<T>>>(obj: T, _options?: D) => Store<NanoMap<T>, MergedOptions<NanoMap<T>, D, G>>;
declare function mapFrom<T extends TypeMapObject, D extends Options<NanoMap<T>>, S extends StoreWithOptions>(store: S, obj: T, _options?: D): Store<NanoMap<T>, MergedOptions<NanoAnyStore, D, S["__options"]>>;
declare const persistentAtom: <K extends string, T, O extends OptionsPersistent<T>>(key: K, init: T, __options?: O) => Store<NanoPersistent<T>, O> & {
name: K;
};
declare function persistentAtomSetup<G extends OptionsPersistentSetup>(base?: G): <T, D extends OptionsPersistent<T>>(name: string, obj: T, _options?: D) => NanoPersistent<T> & (false extends (true extends IsUndefined<MergedOptions<NanoPersistent<T>, D, G>> | IsEmpty<MergedOptions<NanoPersistent<T>, D, G>> ? false : true) ? unknown : true extends IsUnknown<"addons" extends infer T_1 ? T_1 extends "addons" ? T_1 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_1] : unknown : never : never> | IsUndefined<"addons" extends infer T_2 ? T_2 extends "addons" ? T_2 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_2] : unknown : never : never> | IsNull<"addons" extends infer T_3 ? T_3 extends "addons" ? T_3 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_3] : unknown : never : never> | IsEmpty<"addons" extends infer T_4 ? T_4 extends "addons" ? T_4 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_4] : unknown : never : never> ? unknown : ("addons" extends infer T_7 ? T_7 extends "addons" ? T_7 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_7] : unknown : never : never) extends infer T_5 ? { [K in keyof T_5]: ("addons" extends infer T_6 ? T_6 extends "addons" ? T_6 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_6] : unknown : never : never)[K] extends _AddonFactory<infer G_1, infer added extends Record<string, unknown>, NanoAnyStore & Partial<infer added extends Record<string, unknown>>, Options<S>> ? G_1 extends AddonUpdate<any> ? AddonUpdate<NanoPersistent<T>> : G_1 extends AddonDerive<any, any> ? AddonDerive<NanoPersistent<T>, MergedOptions<NanoPersistent<T>, D, G>> : G_1 extends AddonGetNew<any> ? AddonGetNew<NanoPersistent<T>> : G_1 extends AddonAstroIntegration<any> ? AddonAstroIntegration<NanoPersistent<T>> : AddonChecks : never; } : never) & (false extends (true extends IsUndefined<MergedOptions<NanoPersistent<T>, D, G>> | IsEmpty<MergedOptions<NanoPersistent<T>, D, G>> ? false : true) ? unknown : true extends IsUnknown<"hooks" extends infer T_8 ? T_8 extends "hooks" ? T_8 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_8] : unknown : never : never> | IsEmpty<"hooks" extends infer T_9 ? T_9 extends "hooks" ? T_9 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_9] : unknown : never : never> ? unknown : {
hooks: true extends IsUndefined<"hooks" extends infer T_10 ? T_10 extends "hooks" ? T_10 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_10] : unknown : never : never> | IsNull<"hooks" extends infer T_11 ? T_11 extends "hooks" ? T_11 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_11] : unknown : never : never> ? unknown : ("hooks" extends infer T_14 ? T_14 extends "hooks" ? T_14 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_14] : unknown : never : never) extends infer T_12 ? { [K_1 in keyof T_12]: ("hooks" extends infer T_13 ? T_13 extends "hooks" ? T_13 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_13] : unknown : never : never)[K_1] extends _HookFactory<infer name extends HookNames, infer type, NanoAnyStore | NanoReadable> ? name extends "PREACT" ? PreactHook<NanoPersistent<T>> : name extends "REACT" ? ReactHook<T> : name extends "SOLID" ? SolidHook<T> : name extends "SOLID-UNWRAPPED" ? SolidHookUnwrapped<T> : name extends "SOLID-FROM" ? SolidHookFrom<T> : name extends "SOLID-FROM-UNWRAPPED" ? SolidHookFromUnwrapped<T> : name extends "SVELTE" ? SvelteHook<T> : name extends "VANILLA" ? VanillaHook<T> : name extends "VUE" ? VueHook<T> : never : unknown; } : never;
}) & (false extends (true extends IsUndefined<MergedOptions<NanoPersistent<T>, D, G>> | IsEmpty<MergedOptions<NanoPersistent<T>, D, G>> ? false : true) ? unknown : true extends IsUnknown<"events" extends infer T_15 ? T_15 extends "events" ? T_15 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_15] : unknown : never : never> | IsEmpty<"events" extends infer T_16 ? T_16 extends "events" ? T_16 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_16] : unknown : never : never> ? unknown : {
on: true extends IsUndefined<"events" extends infer T_17 ? T_17 extends "events" ? T_17 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_17] : unknown : never : never> | IsNull<"events" extends infer T_18 ? T_18 extends "events" ? T_18 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_18] : unknown : never : never> ? unknown : ("events" extends infer T_21 ? T_21 extends "events" ? T_21 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_21] : unknown : never : never) extends infer T_19 ? { [K_2 in keyof T_19]: ("events" extends infer T_20 ? T_20 extends "events" ? T_20 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_20] : unknown : never : never)[K_2] extends AbstractEvent<infer G_2, any[], NanoAnyStore, Options<S>> ? G_2 extends EventOnChange<any> ? EventOnChange<NanoPersistent<T>> : G_2 extends EventOnMount<any> ? EventOnMount<NanoPersistent<T>> : G_2 : unknown; } : never;
}) & (false extends (true extends IsUndefined<MergedOptions<NanoPersistent<T>, D, G>> | IsEmpty<MergedOptions<NanoPersistent<T>, D, G>> ? false : true) ? unknown : true extends IsUnknown<"persistOptions" extends infer T_22 ? T_22 extends "persistOptions" ? T_22 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_22] : unknown : never : never> | IsUndefined<"persistOptions" extends infer T_23 ? T_23 extends "persistOptions" ? T_23 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_23] : unknown : never : never> | IsNull<"persistOptions" extends infer T_24 ? T_24 extends "persistOptions" ? T_24 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_24] : unknown : never : never> | IsEmpty<"persistOptions" extends infer T_25 ? T_25 extends "persistOptions" ? T_25 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_25] : unknown : never : never> ? object : {
readonly __options: "pass-down" extends ("persistOptions" extends infer T_26 ? T_26 extends "persistOptions" ? T_26 extends keyof MergedOptions<NanoPersistent<T>, D, G> ? MergedOptions<NanoPersistent<T>, D, G>[T_26] : unknown : never : never) ? MergedOptions<NanoPersistent<T>, D, G> : Omit<MergedOptions<NanoPersistent<T>, D, G>, "persistOptions">;
}) & {
name: string;
};
declare function persistentAtomFrom<T, D extends Options<NanoPersistent<T>>, S extends StoreWithOptions>(store: S, name: string, obj: T, _options?: D): NanoPersistent<T> & (false extends (true extends IsUndefined<MergedOptions<NanoAnyStore, D, S["__options"]>> | IsEmpty<MergedOptions<NanoAnyStore, D, S["__options"]>> ? false : true) ? unknown : true extends IsUnknown<"addons" extends infer T_1 ? T_1 extends "addons" ? T_1 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_1] : unknown : never : never> | IsUndefined<"addons" extends infer T_2 ? T_2 extends "addons" ? T_2 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_2] : unknown : never : never> | IsNull<"addons" extends infer T_3 ? T_3 extends "addons" ? T_3 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_3] : unknown : never : never> | IsEmpty<"addons" extends infer T_4 ? T_4 extends "addons" ? T_4 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_4] : unknown : never : never> ? unknown : ("addons" extends infer T_7 ? T_7 extends "addons" ? T_7 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_7] : unknown : never : never) extends infer T_5 ? { [K in keyof T_5]: ("addons" extends infer T_6 ? T_6 extends "addons" ? T_6 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_6] : unknown : never : never)[K] extends _AddonFactory<infer G, infer added extends Record<string, unknown>, NanoAnyStore & Partial<infer added extends Record<string, unknown>>, Options<S_1>> ? G extends AddonUpdate<any> ? AddonUpdate<NanoPersistent<T>> : G extends AddonDerive<any, any> ? AddonDerive<NanoPersistent<T>, MergedOptions<NanoAnyStore, D, S["__options"]>> : G extends AddonGetNew<any> ? AddonGetNew<NanoPersistent<T>> : G extends AddonAstroIntegration<any> ? AddonAstroIntegration<NanoPersistent<T>> : AddonChecks : never; } : never) & (false extends (true extends IsUndefined<MergedOptions<NanoAnyStore, D, S["__options"]>> | IsEmpty<MergedOptions<NanoAnyStore, D, S["__options"]>> ? false : true) ? unknown : true extends IsUnknown<"hooks" extends infer T_8 ? T_8 extends "hooks" ? T_8 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_8] : unknown : never : never> | IsEmpty<"hooks" extends infer T_9 ? T_9 extends "hooks" ? T_9 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_9] : unknown : never : never> ? unknown : {
hooks: true extends IsUndefined<"hooks" extends infer T_10 ? T_10 extends "hooks" ? T_10 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_10] : unknown : never : never> | IsNull<"hooks" extends infer T_11 ? T_11 extends "hooks" ? T_11 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_11] : unknown : never : never> ? unknown : ("hooks" extends infer T_14 ? T_14 extends "hooks" ? T_14 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_14] : unknown : never : never) extends infer T_12 ? { [K_1 in keyof T_12]: ("hooks" extends infer T_13 ? T_13 extends "hooks" ? T_13 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_13] : unknown : never : never)[K_1] extends _HookFactory<infer name extends HookNames, infer type, NanoAnyStore | NanoReadable> ? name extends "PREACT" ? PreactHook<NanoPersistent<T>> : name extends "REACT" ? ReactHook<T> : name extends "SOLID" ? SolidHook<T> : name extends "SOLID-UNWRAPPED" ? SolidHookUnwrapped<T> : name extends "SOLID-FROM" ? SolidHookFrom<T> : name extends "SOLID-FROM-UNWRAPPED" ? SolidHookFromUnwrapped<T> : name extends "SVELTE" ? SvelteHook<T> : name extends "VANILLA" ? VanillaHook<T> : name extends "VUE" ? VueHook<T> : never : unknown; } : never;
}) & (false extends (true extends IsUndefined<MergedOptions<NanoAnyStore, D, S["__options"]>> | IsEmpty<MergedOptions<NanoAnyStore, D, S["__options"]>> ? false : true) ? unknown : true extends IsUnknown<"events" extends infer T_15 ? T_15 extends "events" ? T_15 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_15] : unknown : never : never> | IsEmpty<"events" extends infer T_16 ? T_16 extends "events" ? T_16 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_16] : unknown : never : never> ? unknown : {
on: true extends IsUndefined<"events" extends infer T_17 ? T_17 extends "events" ? T_17 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_17] : unknown : never : never> | IsNull<"events" extends infer T_18 ? T_18 extends "events" ? T_18 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_18] : unknown : never : never> ? unknown : ("events" extends infer T_21 ? T_21 extends "events" ? T_21 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_21] : unknown : never : never) extends infer T_19 ? { [K_2 in keyof T_19]: ("events" extends infer T_20 ? T_20 extends "events" ? T_20 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_20] : unknown : never : never)[K_2] extends AbstractEvent<infer G_1, any[], NanoAnyStore, Options<S_1>> ? G_1 extends EventOnChange<any> ? EventOnChange<NanoPersistent<T>> : G_1 extends EventOnMount<any> ? EventOnMount<NanoPersistent<T>> : G_1 : unknown; } : never;
}) & (false extends (true extends IsUndefined<MergedOptions<NanoAnyStore, D, S["__options"]>> | IsEmpty<MergedOptions<NanoAnyStore, D, S["__options"]>> ? false : true) ? unknown : true extends IsUnknown<"persistOptions" extends infer T_22 ? T_22 extends "persistOptions" ? T_22 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_22] : unknown : never : never> | IsUndefined<"persistOptions" extends infer T_23 ? T_23 extends "persistOptions" ? T_23 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_23] : unknown : never : never> | IsNull<"persistOptions" extends infer T_24 ? T_24 extends "persistOptions" ? T_24 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_24] : unknown : never : never> | IsEmpty<"persistOptions" extends infer T_25 ? T_25 extends "persistOptions" ? T_25 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_25] : unknown : never : never> ? object : {
readonly __options: "pass-down" extends ("persistOptions" extends infer T_26 ? T_26 extends "persistOptions" ? T_26 extends keyof MergedOptions<NanoAnyStore, D, S["__options"]> ? MergedOptions<NanoAnyStore, D, S["__options"]>[T_26] : unknown : never : never) ? MergedOptions<NanoAnyStore, D, S["__options"]> : Omit<MergedOptions<NanoAnyStore, D, S["__options"]>, "persistOptions">;
}) & {
name: string;
};
export { atom, atomFrom, atomSetup, deepMap, deepMapFrom, deepMapSetup, derive, deriveFrom, deriveMany, map, mapFrom, mapSetup, persistentAtom, persistentAtomFrom, persistentAtomSetup };