UNPKG

@lookit/lookit-initjspsych

Version:

This package overloads jsPsych's init function.

37 lines (33 loc) 1.42 kB
import { JsPsychExpData } from '@lookit/data/dist/types'; import { JsPsych, DataCollection, JsPsychPlugin } from 'jspsych'; import { PluginInfo, UniversalPluginParameters } from 'jspsych/src/modules/plugins'; import { TimelineDescription, TrialDescription } from 'jspsych/src/timeline'; type UserFuncOnDataUpdate = (data: JsPsychExpData) => void; type UserFuncOnFinish = (data: DataCollection) => void; type JsPsychOptions = { default_iti?: number; on_data_update?: UserFuncOnDataUpdate; on_finish?: UserFuncOnFinish; }; type ChsJsPsychPlugin = JsPsychPlugin<PluginInfo> & UniversalPluginParameters & { chsData?: () => object; }; interface ChsTrialDescription extends Omit<TrialDescription, "type"> { type: ChsJsPsychPlugin; } interface ChsTimelineDescription extends Omit<TimelineDescription, "timeline"> { timeline: ChsTimelineArray; } type ChsTimelineArray = Array<ChsTimelineDescription | ChsTrialDescription | ChsTimelineArray>; interface ChsJsPsych extends Omit<JsPsych, "run"> { run(timeline: ChsTimelineDescription | ChsTimelineArray): Promise<void>; } /** * Function that returns a function to replace jsPsych's initJsPsych. * * @param responseUuid - Response UUID. * @returns InitJsPsych function. */ declare const lookitInitJsPsych: (responseUuid: string) => (opts?: JsPsychOptions) => ChsJsPsych; export { lookitInitJsPsych as default }; //# sourceMappingURL=index.d.ts.map