UNPKG

@automattic/wpcom-checkout

Version:
25 lines 1.1 kB
import { register } from '@wordpress/data'; export interface StoreStateValue { value: string; isTouched: boolean; errors?: string[]; } type AddStateArg<F, S> = F extends (...args: infer P) => infer R ? (store: S, ...args: P) => R : never; type AddStateArgs<O, S> = { [K in keyof O]: AddStateArg<O[K], S>; }; type Getters<K extends string> = Record<K, () => StoreStateValue>; type PrependVerb<V extends string, K extends string> = `${V}${Capitalize<K>}`; export type StoreSelectors<N extends string> = Getters<PrependVerb<'get', N>>; export type StoreSelectorsWithState<N extends string> = AddStateArgs<StoreSelectors<N>, StoreState<N>>; export type StoreState<N extends string> = Record<N, StoreStateValue>; export type StoreAction = { type: string; payload: string; }; export type StoreActions<N extends string> = Record<PrependVerb<'change', N>, (payload: string) => StoreAction>; export interface PaymentMethodStore<N extends string> extends ReturnType<typeof register> { getState: () => StoreState<N>; } export {}; //# sourceMappingURL=payment-method-store.d.ts.map