Links

"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();

Returns

This returns a Promise containing an array with the resulting statementId if successful.

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
options
false
The additional options object.
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
score
false
The score achieved by the learner.
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
score
false
The score achieved by the learner.
options
false
The additional options object.
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.