scorm-again 2.1.0 → 2.3.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/index.d.ts +5 -0
- package/package.json +13 -14
- 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/scorm2004.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,
|
|
@@ -3730,6 +3731,18 @@ var NAVBoolean;
|
|
|
3730
3731
|
NAVBoolean["true"] = "true";
|
|
3731
3732
|
NAVBoolean["false"] = "false";
|
|
3732
3733
|
})(NAVBoolean || (NAVBoolean = {}));
|
|
3734
|
+
var SuccessStatus;
|
|
3735
|
+
(function (SuccessStatus) {
|
|
3736
|
+
SuccessStatus["passed"] = "passed";
|
|
3737
|
+
SuccessStatus["failed"] = "failed";
|
|
3738
|
+
SuccessStatus["unknown"] = "unknown";
|
|
3739
|
+
})(SuccessStatus || (SuccessStatus = {}));
|
|
3740
|
+
var CompletionStatus;
|
|
3741
|
+
(function (CompletionStatus) {
|
|
3742
|
+
CompletionStatus["completed"] = "completed";
|
|
3743
|
+
CompletionStatus["incomplete"] = "incomplete";
|
|
3744
|
+
CompletionStatus["unknown"] = "unknown";
|
|
3745
|
+
})(CompletionStatus || (CompletionStatus = {}));
|
|
3733
3746
|
|
|
3734
3747
|
;// ./src/cmi/scorm2004/adl.ts
|
|
3735
3748
|
|
|
@@ -3916,6 +3929,7 @@ var ADLNavRequestValid = (function (_super) {
|
|
|
3916
3929
|
|
|
3917
3930
|
|
|
3918
3931
|
|
|
3932
|
+
|
|
3919
3933
|
var Scorm2004API = (function (_super) {
|
|
3920
3934
|
__extends(Scorm2004API, _super);
|
|
3921
3935
|
function Scorm2004API(settings) {
|
|
@@ -4298,9 +4312,59 @@ var Scorm2004API = (function (_super) {
|
|
|
4298
4312
|
return cmiExport;
|
|
4299
4313
|
}
|
|
4300
4314
|
};
|
|
4315
|
+
Scorm2004API.prototype.renderCommitObject = function (terminateCommit) {
|
|
4316
|
+
var cmiExport = this.renderCommitCMI(terminateCommit);
|
|
4317
|
+
var totalTimeDuration = this.cmi.getCurrentTotalTime();
|
|
4318
|
+
var totalTimeSeconds = getDurationAsSeconds(totalTimeDuration, regex.scorm2004.CMITimespan);
|
|
4319
|
+
var completionStatus = CompletionStatus.unknown;
|
|
4320
|
+
var successStatus = SuccessStatus.unknown;
|
|
4321
|
+
if (this.cmi.completion_status) {
|
|
4322
|
+
if (this.cmi.completion_status === "completed") {
|
|
4323
|
+
completionStatus = CompletionStatus.completed;
|
|
4324
|
+
}
|
|
4325
|
+
else if (this.cmi.completion_status === "incomplete") {
|
|
4326
|
+
completionStatus = CompletionStatus.incomplete;
|
|
4327
|
+
}
|
|
4328
|
+
}
|
|
4329
|
+
if (this.cmi.success_status) {
|
|
4330
|
+
if (this.cmi.success_status === "passed") {
|
|
4331
|
+
successStatus = SuccessStatus.passed;
|
|
4332
|
+
}
|
|
4333
|
+
else if (this.cmi.success_status === "failed") {
|
|
4334
|
+
successStatus = SuccessStatus.failed;
|
|
4335
|
+
}
|
|
4336
|
+
}
|
|
4337
|
+
var score = this.cmi.score;
|
|
4338
|
+
var scoreObject = null;
|
|
4339
|
+
if (score) {
|
|
4340
|
+
scoreObject = {};
|
|
4341
|
+
if (!Number.isNaN(Number.parseFloat(score.raw))) {
|
|
4342
|
+
scoreObject.raw = Number.parseFloat(score.raw);
|
|
4343
|
+
}
|
|
4344
|
+
if (!Number.isNaN(Number.parseFloat(score.min))) {
|
|
4345
|
+
scoreObject.min = Number.parseFloat(score.min);
|
|
4346
|
+
}
|
|
4347
|
+
if (!Number.isNaN(Number.parseFloat(score.max))) {
|
|
4348
|
+
scoreObject.max = Number.parseFloat(score.max);
|
|
4349
|
+
}
|
|
4350
|
+
if (!Number.isNaN(Number.parseFloat(score.scaled))) {
|
|
4351
|
+
scoreObject.scaled = Number.parseFloat(score.scaled);
|
|
4352
|
+
}
|
|
4353
|
+
}
|
|
4354
|
+
var commitObject = {
|
|
4355
|
+
completionStatus: completionStatus,
|
|
4356
|
+
successStatus: successStatus,
|
|
4357
|
+
totalTimeSeconds: totalTimeSeconds,
|
|
4358
|
+
runtimeData: cmiExport,
|
|
4359
|
+
};
|
|
4360
|
+
if (scoreObject) {
|
|
4361
|
+
commitObject.score = scoreObject;
|
|
4362
|
+
}
|
|
4363
|
+
return commitObject;
|
|
4364
|
+
};
|
|
4301
4365
|
Scorm2004API.prototype.storeData = function (terminateCommit) {
|
|
4302
4366
|
return __awaiter(this, void 0, void 0, function () {
|
|
4303
|
-
var navRequest, commitObject, result;
|
|
4367
|
+
var navRequest, shouldTerminateCommit, commitObject, result;
|
|
4304
4368
|
var _a, _b, _c;
|
|
4305
4369
|
return __generator(this, function (_d) {
|
|
4306
4370
|
switch (_d.label) {
|
|
@@ -4333,7 +4397,10 @@ var Scorm2004API = (function (_super) {
|
|
|
4333
4397
|
this.adl.nav.request = encodeURIComponent(this.adl.nav.request);
|
|
4334
4398
|
navRequest = true;
|
|
4335
4399
|
}
|
|
4336
|
-
|
|
4400
|
+
shouldTerminateCommit = terminateCommit || this.settings.alwaysSendTotalTime;
|
|
4401
|
+
commitObject = this.settings.renderCommonCommitFields
|
|
4402
|
+
? this.renderCommitObject(shouldTerminateCommit)
|
|
4403
|
+
: this.renderCommitCMI(shouldTerminateCommit);
|
|
4337
4404
|
if (this.apiLogLevel === api_constants.global.LOG_LEVEL_DEBUG) {
|
|
4338
4405
|
console.debug("Commit (terminated: " + (terminateCommit ? "yes" : "no") + "): ");
|
|
4339
4406
|
console.debug(commitObject);
|