"cmi5 defined" Statement methods
The core "cmi5 defined" statement methods for communicating module status.
initialize
Initializes the session, must be called before performing other methods.
Example
import Cmi5 from "@xapi/cmi5";
const cmi5 = new Cmi5();
cmi5.initialize();
Parameters
Parameter
Type
Required
Description
sessionState
Object
false
An auth token and initialized date from a previous initialisation. Useful for persisting sessions across browser refreshes.
Returns
This returns a Promise
containing an array with the resulting statementId if successful, or undefined
if a sessionState
is provided.
complete
Completes the AU. Required for satisfaction if LaunchData.moveOn
is equal to Completed
, CompletedAndPassed
or CompletedOrPassed
.
Example
import Cmi5 from "@xapi/cmi5";
const cmi5 = new Cmi5();
// initialize etc
cmi5.complete();
Parameters
Parameter
Type
Required
Description
Returns
This returns a Promise
containing an array with the resulting statementId if successful.
pass
Passes the AU. Required for satisfaction if LaunchData.moveOn
is equal to Passed
, CompletedAndPassed
or CompletedOrPassed
.
Examples
Example 1: Pass
import Cmi5 from "@xapi/cmi5";
const cmi5 = new Cmi5();
// initialize etc
cmi5.pass();
Example 2: Pass with score
import Cmi5 from "@xapi/cmi5";
import { ResultScore } from "@xapi/xapi";
const cmi5 = new Cmi5();
// initialize etc
const score: ResultScore = {
scaled: 0.95,
raw: 95
min: 0
max: 100
}
cmi5.pass(score);
Example 3: Pass with score and objective
import Cmi5 from "@xapi/cmi5";
import { ResultScore, ObjectiveActivity } from "@xapi/xapi";
const cmi5 = new Cmi5();
// initialize etc
const score: ResultScore = {
scaled: 0.95,
raw: 95
min: 0
max: 100
}
const objective: ObjectiveActivity = {
objectType: "Activity",
id: "https://github.com/xapijs/cmi5/objectives/test",
definition: {
type: "http://adlnet.gov/expapi/activities/objective",
name: {
"en-US": "Example Objective"
},
description: {
"en-US": "An example objective."
}
}
}
cmi5.pass(score, objective);
Parameters
Parameter
Type
Required
Description
objectiveOrOptions
false
The objective achieved by the learner or the additional options object.
Note: If using score and/or objective parameters, types for these are in @xapi/xapi
and must be installed as a dev dependency npm i --save-dev @xapi/xapi
.
Returns
This returns a Promise
containing an array with the resulting statementId if successful.
fail
Fails the AU. Required to mark the AU as Failed if LaunchData.moveOn
is equal to Passed
, CompletedAndPassed
or CompletedOrPassed
.
Examples
Example 1: Fail
import Cmi5 from "@xapi/cmi5";
const cmi5 = new Cmi5();
// initialize etc
cmi5.fail();
Example 2: Fail with score
import Cmi5 from "@xapi/cmi5";
import { ResultScore } from "@xapi/xapi";
const cmi5 = new Cmi5();
// initialize etc
const score: ResultScore = {
scaled: 0.25,
raw: 25
min: 0
max: 100
}
cmi5.fail(score);
Parameters
Parameter
Type
Required
Description
Note: If using the score parameter, types for this are in @xapi/xapi
and must be installed as a dev dependency npm i --save-dev @xapi/xapi
.
Returns
This returns a Promise
containing an array with the resulting statementId if successful.
terminate
Terminates the session, must be the last method called before closing the window.
Example
import Cmi5 from "@xapi/cmi5";
const cmi5 = new Cmi5();
// initialize etc
cmi5.terminate();
Returns
This returns a Promise
containing an array with the resulting statementId if successful.
Last updated
Was this helpful?