48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
type Dict<T> = Record<string, T>;
|
|
|
|
type Mutation<TState = unknown> = (
|
|
payload: unknown,
|
|
action: Record<string, unknown>
|
|
) => (state: TState) => TState;
|
|
|
|
export * from './actions';
|
|
|
|
|
|
export class Updux<TState = unknown> {
|
|
constructor(config: Partial<UpduxConfig<TState>>);
|
|
|
|
get initial(): TState;
|
|
get selectors(): unknown;
|
|
|
|
/**
|
|
* Sets the local mutation for the given action.
|
|
*
|
|
* The action can be specified via its type
|
|
* or its generator.
|
|
*
|
|
* Returns the same mutation function.
|
|
*/
|
|
setMutation<TMutation extends Mutation>(
|
|
actionType: string,
|
|
mutation: TMutation
|
|
): TMutation;
|
|
setMutation<TMutation extends Mutation>(
|
|
action: ActionGenerator,
|
|
mutation: TMutation
|
|
): TMutation;
|
|
|
|
/**
|
|
* Registers the action for the dux.
|
|
* If no payload function is provided, whatever is
|
|
* given as an argument to the action generator will
|
|
* be set as-is in the action's payload.
|
|
*/
|
|
setAction(actionType: string, payloadFunc?: Function);
|
|
|
|
/**
|
|
* Registers a selector for the dux.
|
|
*/
|
|
setSelector(name: string, selector: Selector);
|
|
}
|
|
|