UNPKG

ui-ingredients

Version:

Headless component library for Svelte powered by zag

14 lines (13 loc) 751 B
import type { GenericObject } from './types.js'; type HasContext = () => boolean; type SetContext<T> = (context: T | (() => T)) => void; type GetContext<T, Strict extends boolean> = () => [Strict] extends [true] ? T : T | undefined; type CreateContextReturn<T, Strict extends boolean> = [ getContext: GetContext<T, Strict>, setContext: SetContext<T>, hasContext: HasContext ]; export declare function createContext<T extends GenericObject>(key: string, strict: true): CreateContextReturn<T, true>; export declare function createContext<T extends GenericObject>(key: string, strict: false): CreateContextReturn<T, false>; export declare function createContext<T extends GenericObject>(key: string): CreateContextReturn<T, true>; export {};