scorm-again 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -23
- package/dist/aicc.js +72 -2
- package/dist/aicc.js.map +1 -1
- package/dist/aicc.min.js +1 -1
- package/dist/aicc.min.js.map +1 -1
- package/dist/scorm-again.js +120 -4
- package/dist/scorm-again.js.map +1 -1
- package/dist/scorm-again.min.js +1 -1
- package/dist/scorm-again.min.js.map +1 -1
- package/dist/scorm12.js +72 -2
- package/dist/scorm12.js.map +1 -1
- package/dist/scorm12.min.js +1 -1
- package/dist/scorm12.min.js.map +1 -1
- package/dist/scorm2004.js +69 -2
- package/dist/scorm2004.js.map +1 -1
- package/dist/scorm2004.min.js +1 -1
- package/dist/scorm2004.min.js.map +1 -1
- package/package.json +12 -13
- package/src/BaseAPI.ts +16 -4
- package/src/Scorm12API.ts +70 -5
- package/src/Scorm2004API.ts +74 -4
- package/src/constants/default_settings.ts +1 -0
- package/src/constants/enums.ts +12 -0
- package/src/types/api_types.ts +18 -0
- package/test/Scorm12API.spec.ts +110 -0
- package/test/Scorm2004API.spec.ts +70 -0
package/dist/scorm12.js
CHANGED
|
@@ -1044,6 +1044,7 @@ var DefaultSettings = {
|
|
|
1044
1044
|
logLevel: api_constants.global.LOG_LEVEL_ERROR,
|
|
1045
1045
|
selfReportSessionTime: false,
|
|
1046
1046
|
alwaysSendTotalTime: false,
|
|
1047
|
+
renderCommonCommitFields: false,
|
|
1047
1048
|
strict_errors: true,
|
|
1048
1049
|
xhrHeaders: {},
|
|
1049
1050
|
xhrWithCredentials: false,
|
|
@@ -3017,6 +3018,26 @@ var NAV = (function (_super) {
|
|
|
3017
3018
|
}(BaseCMI));
|
|
3018
3019
|
|
|
3019
3020
|
|
|
3021
|
+
;// ./src/constants/enums.ts
|
|
3022
|
+
var NAVBoolean;
|
|
3023
|
+
(function (NAVBoolean) {
|
|
3024
|
+
NAVBoolean["unknown"] = "unknown";
|
|
3025
|
+
NAVBoolean["true"] = "true";
|
|
3026
|
+
NAVBoolean["false"] = "false";
|
|
3027
|
+
})(NAVBoolean || (NAVBoolean = {}));
|
|
3028
|
+
var SuccessStatus;
|
|
3029
|
+
(function (SuccessStatus) {
|
|
3030
|
+
SuccessStatus["passed"] = "passed";
|
|
3031
|
+
SuccessStatus["failed"] = "failed";
|
|
3032
|
+
SuccessStatus["unknown"] = "unknown";
|
|
3033
|
+
})(SuccessStatus || (SuccessStatus = {}));
|
|
3034
|
+
var CompletionStatus;
|
|
3035
|
+
(function (CompletionStatus) {
|
|
3036
|
+
CompletionStatus["completed"] = "completed";
|
|
3037
|
+
CompletionStatus["incomplete"] = "incomplete";
|
|
3038
|
+
CompletionStatus["unknown"] = "unknown";
|
|
3039
|
+
})(CompletionStatus || (CompletionStatus = {}));
|
|
3040
|
+
|
|
3020
3041
|
;// ./src/Scorm12API.ts
|
|
3021
3042
|
|
|
3022
3043
|
|
|
@@ -3028,6 +3049,8 @@ var NAV = (function (_super) {
|
|
|
3028
3049
|
|
|
3029
3050
|
|
|
3030
3051
|
|
|
3052
|
+
|
|
3053
|
+
|
|
3031
3054
|
var Scorm12API = (function (_super) {
|
|
3032
3055
|
__extends(Scorm12API, _super);
|
|
3033
3056
|
function Scorm12API(settings) {
|
|
@@ -3201,9 +3224,53 @@ var Scorm12API = (function (_super) {
|
|
|
3201
3224
|
return cmiExport;
|
|
3202
3225
|
}
|
|
3203
3226
|
};
|
|
3227
|
+
Scorm12API.prototype.renderCommitObject = function (terminateCommit) {
|
|
3228
|
+
var cmiExport = this.renderCommitCMI(terminateCommit);
|
|
3229
|
+
var totalTimeHHMMSS = this.cmi.getCurrentTotalTime();
|
|
3230
|
+
var totalTimeSeconds = getTimeAsSeconds(totalTimeHHMMSS, regex.scorm12.CMITimespan);
|
|
3231
|
+
var lessonStatus = this.cmi.core.lesson_status;
|
|
3232
|
+
var completionStatus = CompletionStatus.unknown;
|
|
3233
|
+
var successStatus = SuccessStatus.unknown;
|
|
3234
|
+
if (lessonStatus) {
|
|
3235
|
+
completionStatus =
|
|
3236
|
+
lessonStatus === "completed" || lessonStatus === "passed"
|
|
3237
|
+
? CompletionStatus.completed
|
|
3238
|
+
: CompletionStatus.incomplete;
|
|
3239
|
+
if (lessonStatus === "passed") {
|
|
3240
|
+
successStatus = SuccessStatus.passed;
|
|
3241
|
+
}
|
|
3242
|
+
else if (lessonStatus === "failed") {
|
|
3243
|
+
successStatus = SuccessStatus.failed;
|
|
3244
|
+
}
|
|
3245
|
+
}
|
|
3246
|
+
var score = this.cmi.core.score;
|
|
3247
|
+
var scoreObject = null;
|
|
3248
|
+
if (score) {
|
|
3249
|
+
scoreObject = {};
|
|
3250
|
+
if (!Number.isNaN(Number.parseFloat(score.raw))) {
|
|
3251
|
+
scoreObject.raw = Number.parseFloat(score.raw);
|
|
3252
|
+
}
|
|
3253
|
+
if (!Number.isNaN(Number.parseFloat(score.min))) {
|
|
3254
|
+
scoreObject.min = Number.parseFloat(score.min);
|
|
3255
|
+
}
|
|
3256
|
+
if (!Number.isNaN(Number.parseFloat(score.max))) {
|
|
3257
|
+
scoreObject.max = Number.parseFloat(score.max);
|
|
3258
|
+
}
|
|
3259
|
+
}
|
|
3260
|
+
var commitObject = {
|
|
3261
|
+
successStatus: successStatus,
|
|
3262
|
+
completionStatus: completionStatus,
|
|
3263
|
+
runtimeData: cmiExport,
|
|
3264
|
+
totalTimeSeconds: totalTimeSeconds,
|
|
3265
|
+
};
|
|
3266
|
+
if (scoreObject) {
|
|
3267
|
+
commitObject.score = scoreObject;
|
|
3268
|
+
}
|
|
3269
|
+
return commitObject;
|
|
3270
|
+
};
|
|
3204
3271
|
Scorm12API.prototype.storeData = function (terminateCommit) {
|
|
3205
3272
|
return __awaiter(this, void 0, void 0, function () {
|
|
3206
|
-
var originalStatus, commitObject;
|
|
3273
|
+
var originalStatus, shouldTerminateCommit, commitObject;
|
|
3207
3274
|
var _a, _b, _c;
|
|
3208
3275
|
return __generator(this, function (_d) {
|
|
3209
3276
|
switch (_d.label) {
|
|
@@ -3235,7 +3302,10 @@ var Scorm12API = (function (_super) {
|
|
|
3235
3302
|
}
|
|
3236
3303
|
}
|
|
3237
3304
|
}
|
|
3238
|
-
|
|
3305
|
+
shouldTerminateCommit = terminateCommit || this.settings.alwaysSendTotalTime;
|
|
3306
|
+
commitObject = this.settings.renderCommonCommitFields
|
|
3307
|
+
? this.renderCommitObject(shouldTerminateCommit)
|
|
3308
|
+
: this.renderCommitCMI(shouldTerminateCommit);
|
|
3239
3309
|
if (this.apiLogLevel === api_constants.global.LOG_LEVEL_DEBUG) {
|
|
3240
3310
|
console.debug("Commit (terminated: " + (terminateCommit ? "yes" : "no") + "): ");
|
|
3241
3311
|
console.debug(commitObject);
|