UNPKG

@prezly/theme-kit-core

Version:

Data layer and utility library for developing Prezly themes with JavaScript

72 lines (71 loc) 2.71 kB
export type Resolvable<T> = T | DynamicallyResolvable<T>; export type AsyncResolvable<T> = T | DynamicallyResolvable<T> | AsyncDynamicallyResolvable<T>; type Awaitable<T> = T | Promise<T>; type DynamicallyResolvable<T> = () => T; type AsyncDynamicallyResolvable<T> = () => Promise<T>; export declare namespace Resolvable { type Properties<T> = { [key in keyof T]: Resolvable<T[key]>; }; function resolve<T>(value: T | DynamicallyResolvable<T>): T; } export declare namespace AsyncResolvable { type Properties<T> = { [key in keyof T]: AsyncResolvable<T[key]>; }; function resolve<T>(value: T | DynamicallyResolvable<T> | AsyncDynamicallyResolvable<T>): Awaitable<T>; function resolve<T1, T2>(...values: [AsyncResolvable<T1>, AsyncResolvable<T2>]): Promise<[T1, T2]>; function resolve<T1, T2, T3>(...values: [AsyncResolvable<T1>, AsyncResolvable<T2>, AsyncResolvable<T3>]): Promise<[T1, T2, T3]>; function resolve<T1, T2, T3, T4>(...values: [ AsyncResolvable<T1>, AsyncResolvable<T2>, AsyncResolvable<T3>, AsyncResolvable<T4> ]): Promise<[T1, T2, T3, T4]>; function resolve<T1, T2, T3, T4, T5>(...values: [ AsyncResolvable<T1>, AsyncResolvable<T2>, AsyncResolvable<T3>, AsyncResolvable<T4>, AsyncResolvable<T5> ]): Promise<[T1, T2, T3, T4, T5]>; function resolve<T1, T2, T3, T4, T5, T6>(...values: [ AsyncResolvable<T1>, AsyncResolvable<T2>, AsyncResolvable<T3>, AsyncResolvable<T4>, AsyncResolvable<T5>, AsyncResolvable<T6> ]): Promise<[T1, T2, T3, T4, T5, T6]>; function resolve<T1, T2, T3, T4, T5, T6, T7>(...values: [ AsyncResolvable<T1>, AsyncResolvable<T2>, AsyncResolvable<T3>, AsyncResolvable<T4>, AsyncResolvable<T5>, AsyncResolvable<T6>, AsyncResolvable<T7> ]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; function resolve<T1, T2, T3, T4, T5, T6, T7, T8>(...values: [ AsyncResolvable<T1>, AsyncResolvable<T2>, AsyncResolvable<T3>, AsyncResolvable<T4>, AsyncResolvable<T5>, AsyncResolvable<T6>, AsyncResolvable<T7>, AsyncResolvable<T8> ]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; function resolve<T1, T2, T3, T4, T5, T6, T7, T8, T9>(...values: [ AsyncResolvable<T1>, AsyncResolvable<T2>, AsyncResolvable<T3>, AsyncResolvable<T4>, AsyncResolvable<T5>, AsyncResolvable<T6>, AsyncResolvable<T7>, AsyncResolvable<T8>, AsyncResolvable<T9> ]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; } export {};