UNPKG

adaptorex

Version:

Connect all your live interactive storytelling devices and software

42 lines (36 loc) 971 B
import { Session, State, Action } from "./session" import { Variables } from "./variables" import { Game } from "./game" import { Database } from "./mongo" type SessionInterface = Session & { variables: Variables action: Action state: State date: Date } type AdaptorFunction = ( args: [], { session, game }: { session: SessionInterface; game: Game } ) => * type AdaptorActionResult = undefined | string | Promise<Function> /** * Called if a state was triggered that contains the named action. * * The function must have the same name as the action as was defined in actions * * If a cancel function is returned, the session will store all action data. * * If the adaptor server restarts for any reason, the function is retriggered with all active listeners. */ type AdaptorAction = ( data: {}, session: SessionInterface ) => AdaptorActionResult export { Database, Session, Game, AdaptorFunction, AdaptorAction, SessionInterface }