@bemedev/app-solid
Version:
Middleware between @bemedev/app-ts and solidjs
55 lines • 4.36 kB
TypeScript
import { type AnyMachine, type ContextFrom, type EventsFrom, type InterpretArgs, type State } from '@bemedev/app-ts';
import type { Decompose } from '@bemedev/decompose';
import type { types } from '@bemedev/types';
import { type Accessor } from 'solid-js';
export declare const interpret: <const M extends AnyMachine>(...[machine, config]: InterpretArgs<M>) => {
readonly contains: (...values: string[]) => () => boolean;
readonly context: <R = Extract<M["context"], types.PrimitiveObject>>(accessor?: ((state: Extract<M["context"], types.PrimitiveObject>) => R) | undefined, equals?: ((prev: R, next: R) => boolean) | undefined) => Accessor<R>;
readonly dispose: () => Promise<void>;
readonly dps: () => string[];
readonly matches: (...values: string[]) => () => boolean;
readonly pause: () => void;
readonly reducer: <T>(accessor: Required<[accessor?: ((state: State<Extract<M["context"], types.PrimitiveObject>, import("@bemedev/app-ts/lib/events").ToEvents<Extract<M["eventsMap"], import("@bemedev/app-ts/lib/events").EventsMap>, Extract<M["promiseesMap"], import("@bemedev/app-ts/lib/events").PromiseeMap>>> | {
context: Extract<M["context"], types.PrimitiveObject>;
status: import("@bemedev/app-ts").WorkingStatus;
value: import("@bemedev/app-ts/lib/states").StateValue;
event: EventsFrom<M>;
tags?: (string | readonly string[]) | undefined;
}) => T) | undefined, equals?: ((prev: T, next: T) => boolean) | undefined]>[0]) => <R = T>(accessor?: ((state: T) => R) | undefined, equals?: ((prev: R, next: R) => boolean) | undefined) => Accessor<R>;
readonly resume: () => void;
readonly select: ContextFrom<M> extends types.Primitive ? undefined : <D = {
context: ContextFrom<M>;
status: import("@bemedev/app-ts").WorkingStatus;
value: import("@bemedev/app-ts/lib/states").StateValue;
event: EventsFrom<M>;
tags?: (string | readonly string[]) | undefined;
} & Decompose<Required<{
context: ContextFrom<M>;
}>, {
object: "both";
start: false;
}>, K extends Extract<keyof D, string> = Extract<keyof D, string>, R = D[K]>(selector: K, equals?: (prev: R, next: R) => boolean) => Accessor<R>;
readonly send: (_event: import("@bemedev/app-ts/lib/events").EventArg<Extract<M["eventsMap"], import("@bemedev/app-ts/lib/events").EventsMap>>) => void;
readonly start: () => Promise<void>;
readonly state: <T = {
context: ContextFrom<M>;
status: import("@bemedev/app-ts").WorkingStatus;
value: import("@bemedev/app-ts/lib/states").StateValue;
event: EventsFrom<M>;
tags?: (string | readonly string[]) | undefined;
}>(accessor?: ((state: State<Extract<M["context"], types.PrimitiveObject>, import("@bemedev/app-ts/lib/events").ToEvents<Extract<M["eventsMap"], import("@bemedev/app-ts/lib/events").EventsMap>, Extract<M["promiseesMap"], import("@bemedev/app-ts/lib/events").PromiseeMap>>> | {
context: Extract<M["context"], types.PrimitiveObject>;
status: import("@bemedev/app-ts").WorkingStatus;
value: import("@bemedev/app-ts/lib/states").StateValue;
event: EventsFrom<M>;
tags?: (string | readonly string[]) | undefined;
}) => T) | undefined, equals?: ((prev: T, next: T) => boolean) | undefined) => Accessor<T>;
readonly status: () => import("@bemedev/app-ts").WorkingStatus;
readonly stop: () => void;
readonly subscribe: import("@bemedev/app-ts").AddSubscriber_F<Extract<M["eventsMap"], import("@bemedev/app-ts/lib/events").EventsMap>, Extract<M["promiseesMap"], import("@bemedev/app-ts/lib/events").PromiseeMap>, Extract<M["context"], types.PrimitiveObject>>;
readonly tags: () => string | readonly string[] | undefined;
readonly value: () => import("@bemedev/app-ts/lib/states").StateValue;
readonly values: string[];
readonly addOptions: import("@bemedev/app-ts").AddOptions_F<Extract<M["eventsMap"], import("@bemedev/app-ts/lib/events").EventsMap>, Extract<M["promiseesMap"], import("@bemedev/app-ts/lib/events").PromiseeMap>, import("@bemedev/app-ts").PrivateContextFrom<M>, Extract<M["context"], types.PrimitiveObject>, Extract<M["options"], Partial<Record<"actions" | "predicates" | "promises" | "delays" | "machines", any>>>>;
};
//# sourceMappingURL=interpret.d.ts.map