UNPKG

scorm-client

Version:
307 lines (306 loc) 7.64 kB
export type ReadWriteScormCmiElementTypeMap = [ { element: `cmi.comments_from_learner.${number}.comment`; value: string; }, { element: `cmi.comments_from_learner.${number}.location`; value: string; }, { element: `cmi.comments_from_learner.${number}.timestamp`; value: unknown; }, { element: `cmi.completion_status`; value: 'completed' | 'incomplete' | 'not attempted' | 'unknown'; }, { element: `cmi.interactions.${number}.id`; value: string; }, { element: `cmi.interactions.${number}.objectives.${number}.id`; value: string; }, { element: `cmi.interactions.${number}.timestamp`; value: unknown; }, { element: `cmi.interactions.${number}.correct_responses.${number}.pattern`; value: unknown; }, { element: `cmi.interactions.${number}.weighting`; value: Float; }, { element: `cmi.interactions.${number}.learner_response`; value: unknown; }, { element: `cmi.interactions.${number}.latency`; value: unknown; }, { element: `cmi.interactions.${number}.description`; value: string; }, { element: `cmi.learner_preference.audio_level`; value: Float; }, { element: `cmi.learner_preference.language`; value: string; }, { element: `cmi.learner_preference.delivery_speed`; value: Float; }, { element: `cmi.learner_preference.audio_captioning`; value: '-1' | '0' | '1'; }, { element: `cmi.location`; value: string; }, { element: `cmi.objectives.${number}.id`; value: string; }, { element: `cmi.objectives.${number}.score.scaled`; value: Float; }, { element: `cmi.objectives.${number}.score.raw`; value: Float; }, { element: `cmi.objectives.${number}.score.min`; value: Float; }, { element: `cmi.objectives.${number}.score.max`; value: Float; }, { element: `cmi.objectives.${number}.success_status`; value: 'passed' | 'failed' | 'unknown'; }, { element: `cmi.objectives.${number}.completion_status`; value: 'completed' | 'incomplete' | 'not attempted' | 'unknown'; }, { element: `cmi.objectives.${number}.progress_measure`; value: Float; }, { element: `cmi.objectives.${number}.description`; value: string; }, { element: `cmi.progress_measure`; value: Float; }, { element: `cmi.score.scaled`; value: Float; }, { element: `cmi.score.raw`; value: Float; }, { element: `cmi.score.min`; value: Float; }, { element: `cmi.score.max`; value: Float; }, { element: `cmi.success_status`; value: 'passed' | 'failed' | 'unknown'; }, { element: `cmi.suspend_data`; value: string; }, { element: `adl.nav.request`; value: unknown; }, { element: `cmi.interactions.${number}.type`; value: 'true-false' | 'choice' | 'fill-in' | 'long-fill-in' | 'matching' | 'performance' | 'sequencing' | 'likert' | 'numeric' | 'other'; }, { element: `cmi.interactions.${number}.result`; value: 'correct' | 'incorrect' | 'unanticipated' | 'neutral'; } ]; export type ReadScormCmiElementTypeMap = ReadWriteScormCmiElementTypeMap | [ { element: `cmi._version`; value: string; }, { element: `cmi.comments_from_learner._children`; value: unknown; }, { element: `cmi.comments_from_learner._count`; value: PositiveInteger; }, { element: `cmi.comments_from_lms._children`; value: unknown; }, { element: `cmi.comments_from_lms._count`; value: PositiveInteger; }, { element: `cmi.comments_from_lms.${number}.comment`; value: string; }, { element: `cmi.comments_from_lms.${number}.location`; value: string; }, { element: `cmi.comments_from_lms.${number}.timestamp`; value: unknown; }, { element: `cmi.completion_threshold`; value: Float; }, { element: `cmi.credit`; value: 'credit' | 'no-credit'; }, { element: `cmi.entry`; value: unknown; }, { element: `cmi.interactions._children`; value: unknown; }, { element: `cmi.interactions._count`; value: PositiveInteger; }, { element: `cmi.interactions.${number}.objectives._count`; value: PositiveInteger; }, { element: `cmi.interactions.${number}.correct_responses._count`; value: PositiveInteger; }, { element: `cmi.launch_data`; value: string; }, { element: `cmi.learner_id`; value: string; }, { element: `cmi.learner_name`; value: string; }, { element: `cmi.learner_preference._children`; value: unknown; }, { element: `cmi.max_time_allowed`; value: unknown; }, { element: `cmi.mode`; value: 'browse' | 'normal' | 'review'; }, { element: `cmi.objectives._children`; value: unknown; }, { element: `cmi.objectives._count`; value: PositiveInteger; }, { element: `cmi.objectives.${number}.score._children`; value: unknown; }, { element: `cmi.scaled_passing_score`; value: Float; }, { element: `cmi.score._children`; value: unknown; }, { element: `cmi.time_limit_action`; value: 'exit,message' | 'continue|message' | 'exit|no message' | 'continue,no message'; }, { element: `cmi.total_time`; value: unknown; }, { element: `adl.nav.request_valid.continue`; value: boolean | unknown; }, { element: `adl.nav.request_valid.previous`; value: boolean | unknown; }, { element: `adl.nav.request_valid.choice.{target=}`; value: boolean | unknown; }, { element: `adl.nav.request_valid.jump.{target=}`; value: boolean | unknown; } ]; export type WriteScormCmiElementTypeMap = ReadWriteScormCmiElementTypeMap | [ { element: `cmi.session_time`; value: unknown; }, { element: `cmi.exit`; value: unknown; } ]; export type CmiReadKeyValuePair = ReadScormCmiElementTypeMap[number]; export type CmiReadKeyToValueMap = { [P in CmiReadKeyValuePair as P['element']]: P['value']; }; export type CmiWriteKeyValuePair = WriteScormCmiElementTypeMap[number]; export type CmiWriteKeyToValueMap = { [P in CmiWriteKeyValuePair as P['element']]: P['value']; }; export type PositiveInteger = number & {}; export type Float = number & {}; export type Scorm2004Api = { Initialize: (param: string) => string | boolean; Terminate: (param: string) => string | boolean; GetValue: (element: string) => string; SetValue: (element: string, value: unknown) => string | boolean; Commit: (param: string) => string | boolean; GetLastError: () => string | number; GetErrorString: (errorCode: string | number) => string; GetDiagnostic: (errorCode: string | number) => string; };