@virtualstate/hooks-extended
Version:
15 lines • 1.17 kB
TypeScript
import { SourceReference, TokenVNodeBase, TokenVNodeFn, VNode } from "@virtualstate/fringe";
import { IsFunction } from "./is";
export declare type MutationIs<ReferencedVNode extends VNode = VNode> = IsFunction<VNode, ReferencedVNode> | SourceReference;
export interface MutationOn<ReferencedVNode extends VNode = VNode, MutatedVNode extends VNode = VNode> {
(node: ReferencedVNode): MutatedVNode | Promise<MutatedVNode>;
}
export declare const MutationSymbol: unique symbol;
export interface MutationOptions<ReferencedVNode extends VNode = VNode, MutatedVNode extends VNode = VNode> {
is?: MutationIs<ReferencedVNode>;
mutate: MutationOn<ReferencedVNode, MutatedVNode>;
}
export declare type MutationToken<ReferencedVNode extends VNode = VNode, MutatedVNode extends VNode = VNode> = TokenVNodeBase<typeof MutationSymbol, MutationOptions<ReferencedVNode, MutatedVNode>>;
export declare type MutationTokenFn<ReferencedVNode extends VNode = VNode, MutatedVNode extends VNode = VNode> = TokenVNodeFn<typeof MutationSymbol, MutationOptions<ReferencedVNode, MutatedVNode>>;
export declare const Mutation: MutationTokenFn;
//# sourceMappingURL=mutation.d.ts.map