UNPKG

synapse-storage

Version:

Набор инструментов для управления состоянием и апи-запросами

15 lines (14 loc) 712 B
import { IStorage, IStorageBase } from '../../core'; export type ExtractPromiseType<T> = T extends Promise<infer U> ? U : T; export type ExtractStorageType<T> = T extends IStorageBase<infer U> ? U : never; export type StorageCreatorFunction<T extends Record<string, any>> = () => Promise<IStorage<T>>; export type SynapseDependency = { storage: IStorageBase<any>; }; /** * Всё, что можно передать в `dependencies[]`: raw storage, обёртка `{ storage }`, * или Promise/Handle другого synapse (любой объект с `.storage: IStorageBase`). */ export type DependencyInput = IStorageBase<any> | SynapseDependency | PromiseLike<{ storage: IStorageBase<any>; }>;