scorm-again 2.4.1 → 2.5.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.
Files changed (43) hide show
  1. package/README.md +23 -23
  2. package/dist/aicc.js +55 -35
  3. package/dist/aicc.js.map +1 -1
  4. package/dist/aicc.min.js +1 -1
  5. package/dist/aicc.min.js.map +1 -1
  6. package/dist/esm/aicc.js +55 -35
  7. package/dist/esm/aicc.js.map +1 -1
  8. package/dist/esm/aicc.min.js +1 -1
  9. package/dist/esm/aicc.min.js.map +1 -1
  10. package/dist/esm/scorm-again.js +68 -42
  11. package/dist/esm/scorm-again.js.map +1 -1
  12. package/dist/esm/scorm-again.min.js +1 -1
  13. package/dist/esm/scorm-again.min.js.map +1 -1
  14. package/dist/esm/scorm12.js +55 -35
  15. package/dist/esm/scorm12.js.map +1 -1
  16. package/dist/esm/scorm12.min.js +1 -1
  17. package/dist/esm/scorm12.min.js.map +1 -1
  18. package/dist/esm/scorm2004.js +68 -42
  19. package/dist/esm/scorm2004.js.map +1 -1
  20. package/dist/esm/scorm2004.min.js +1 -1
  21. package/dist/esm/scorm2004.min.js.map +1 -1
  22. package/dist/scorm-again.js +68 -42
  23. package/dist/scorm-again.js.map +1 -1
  24. package/dist/scorm-again.min.js +1 -1
  25. package/dist/scorm-again.min.js.map +1 -1
  26. package/dist/scorm12.js +55 -35
  27. package/dist/scorm12.js.map +1 -1
  28. package/dist/scorm12.min.js +1 -1
  29. package/dist/scorm12.min.js.map +1 -1
  30. package/dist/scorm2004.js +68 -42
  31. package/dist/scorm2004.js.map +1 -1
  32. package/dist/scorm2004.min.js +1 -1
  33. package/dist/scorm2004.min.js.map +1 -1
  34. package/package.json +4 -4
  35. package/src/BaseAPI.ts +27 -65
  36. package/src/Scorm2004API.ts +8 -4
  37. package/src/constants/api_constants.ts +0 -10
  38. package/src/constants/default_settings.ts +20 -7
  39. package/src/constants/enums.ts +9 -0
  40. package/src/constants/regex.ts +1 -1
  41. package/src/exceptions.ts +1 -5
  42. package/src/types/api_types.ts +26 -3
  43. package/test/types/api_types.spec.ts +38 -45
package/dist/esm/aicc.js CHANGED
@@ -21,9 +21,12 @@ var error_codes = __webpack_require__(797);
21
21
  var api_constants = __webpack_require__(340);
22
22
  // EXTERNAL MODULE: ./src/utilities.ts
23
23
  var utilities = __webpack_require__(864);
24
+ // EXTERNAL MODULE: ./src/constants/enums.ts
25
+ var enums = __webpack_require__(56);
24
26
  ;// ./src/constants/default_settings.ts
25
27
 
26
28
 
29
+
27
30
  var DefaultSettings = {
28
31
  autocommit: false,
29
32
  autocommitSeconds: 10,
@@ -33,7 +36,7 @@ var DefaultSettings = {
33
36
  dataCommitFormat: "json",
34
37
  commitRequestDataType: "application/json;charset=UTF-8",
35
38
  autoProgress: false,
36
- logLevel: api_constants/* default */.A.global.LOG_LEVEL_ERROR,
39
+ logLevel: enums/* LogLevelEnum */.Mb.ERROR,
37
40
  selfReportSessionTime: false,
38
41
  alwaysSendTotalTime: false,
39
42
  renderCommonCommitFields: false,
@@ -94,16 +97,28 @@ var DefaultSettings = {
94
97
  },
95
98
  onLogMessage: function (messageLevel, logMessage) {
96
99
  switch (messageLevel) {
97
- case api_constants/* default */.A.global.LOG_LEVEL_ERROR:
100
+ case "4":
101
+ case 4:
102
+ case "ERROR":
103
+ case enums/* LogLevelEnum */.Mb.ERROR:
98
104
  console.error(logMessage);
99
105
  break;
100
- case api_constants/* default */.A.global.LOG_LEVEL_WARNING:
106
+ case "3":
107
+ case 3:
108
+ case "WARN":
109
+ case enums/* LogLevelEnum */.Mb.WARN:
101
110
  console.warn(logMessage);
102
111
  break;
103
- case api_constants/* default */.A.global.LOG_LEVEL_INFO:
112
+ case "2":
113
+ case 2:
114
+ case "INFO":
115
+ case enums/* LogLevelEnum */.Mb.INFO:
104
116
  console.info(logMessage);
105
117
  break;
106
- case api_constants/* default */.A.global.LOG_LEVEL_DEBUG:
118
+ case "1":
119
+ case 1:
120
+ case "DEBUG":
121
+ case enums/* LogLevelEnum */.Mb.DEBUG:
107
122
  if (console.debug) {
108
123
  console.debug(logMessage);
109
124
  }
@@ -156,6 +171,7 @@ var ScheduledCommit = (function () {
156
171
 
157
172
 
158
173
 
174
+
159
175
  var BaseAPI = (function () {
160
176
  function BaseAPI(error_codes, settings) {
161
177
  var _newTarget = this.constructor;
@@ -172,6 +188,9 @@ var BaseAPI = (function () {
172
188
  }
173
189
  this.apiLogLevel = this.settings.logLevel;
174
190
  this.selfReportSessionTime = this.settings.selfReportSessionTime;
191
+ if (this.apiLogLevel === undefined) {
192
+ this.apiLogLevel = enums/* LogLevelEnum */.Mb.NONE;
193
+ }
175
194
  }
176
195
  BaseAPI.prototype.commonReset = function (settings) {
177
196
  this.settings = (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, this.settings), settings);
@@ -196,7 +215,7 @@ var BaseAPI = (function () {
196
215
  returnValue = api_constants/* default */.A.global.SCORM_TRUE;
197
216
  this.processListeners(callbackName);
198
217
  }
199
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
218
+ this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
200
219
  this.clearSCORMError(returnValue);
201
220
  return returnValue;
202
221
  };
@@ -248,7 +267,7 @@ var BaseAPI = (function () {
248
267
  this.processListeners(callbackName);
249
268
  _a.label = 2;
250
269
  case 2:
251
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
270
+ this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
252
271
  this.clearSCORMError(returnValue);
253
272
  return [2, returnValue];
254
273
  }
@@ -268,7 +287,7 @@ var BaseAPI = (function () {
268
287
  }
269
288
  this.processListeners(callbackName, CMIElement);
270
289
  }
271
- this.apiLog(callbackName, ": returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
290
+ this.apiLog(callbackName, ": returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO, CMIElement);
272
291
  if (returnValue === undefined) {
273
292
  return "";
274
293
  }
@@ -299,7 +318,7 @@ var BaseAPI = (function () {
299
318
  this.scheduleCommit(this.settings.autocommitSeconds * 1000, commitCallback);
300
319
  }
301
320
  }
302
- this.apiLog(callbackName, ": " + value + ": result: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
321
+ this.apiLog(callbackName, ": " + value + ": result: " + returnValue, enums/* LogLevelEnum */.Mb.INFO, CMIElement);
303
322
  this.clearSCORMError(returnValue);
304
323
  return returnValue;
305
324
  };
@@ -310,7 +329,6 @@ var BaseAPI = (function () {
310
329
  return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
311
330
  switch (_a.label) {
312
331
  case 0:
313
- console.log("commit");
314
332
  this.clearScheduledCommit();
315
333
  returnValue = api_constants/* default */.A.global.SCORM_FALSE;
316
334
  if (!this.checkState(checkTerminated, this._error_codes.COMMIT_BEFORE_INIT, this._error_codes.COMMIT_AFTER_TERM)) return [3, 2];
@@ -324,13 +342,13 @@ var BaseAPI = (function () {
324
342
  typeof result !== "undefined" && result.result
325
343
  ? result.result
326
344
  : api_constants/* default */.A.global.SCORM_FALSE;
327
- this.apiLog(callbackName, " Result: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_DEBUG, "HttpRequest");
345
+ this.apiLog(callbackName, " Result: " + returnValue, enums/* LogLevelEnum */.Mb.DEBUG, "HttpRequest");
328
346
  if (checkTerminated)
329
347
  this.lastErrorCode = "0";
330
348
  this.processListeners(callbackName);
331
349
  _a.label = 2;
332
350
  case 2:
333
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
351
+ this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
334
352
  this.clearSCORMError(returnValue);
335
353
  return [2, returnValue];
336
354
  }
@@ -340,7 +358,7 @@ var BaseAPI = (function () {
340
358
  BaseAPI.prototype.getLastError = function (callbackName) {
341
359
  var returnValue = String(this.lastErrorCode);
342
360
  this.processListeners(callbackName);
343
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
361
+ this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
344
362
  return returnValue;
345
363
  };
346
364
  BaseAPI.prototype.getErrorString = function (callbackName, CMIErrorCode) {
@@ -349,7 +367,7 @@ var BaseAPI = (function () {
349
367
  returnValue = this.getLmsErrorMessageDetails(CMIErrorCode);
350
368
  this.processListeners(callbackName);
351
369
  }
352
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
370
+ this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
353
371
  return returnValue;
354
372
  };
355
373
  BaseAPI.prototype.getDiagnostic = function (callbackName, CMIErrorCode) {
@@ -358,7 +376,7 @@ var BaseAPI = (function () {
358
376
  returnValue = this.getLmsErrorMessageDetails(CMIErrorCode, true);
359
377
  this.processListeners(callbackName);
360
378
  }
361
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
379
+ this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
362
380
  return returnValue;
363
381
  };
364
382
  BaseAPI.prototype.checkState = function (checkTerminated, beforeInitError, afterTermError) {
@@ -452,7 +470,7 @@ var BaseAPI = (function () {
452
470
  }
453
471
  }
454
472
  if (returnValue === api_constants/* default */.A.global.SCORM_FALSE) {
455
- this.apiLog(methodName, "There was an error setting the value for: ".concat(CMIElement, ", value of: ").concat(value), api_constants/* default */.A.global.LOG_LEVEL_WARNING);
473
+ this.apiLog(methodName, "There was an error setting the value for: ".concat(CMIElement, ", value of: ").concat(value), enums/* LogLevelEnum */.Mb.WARN);
456
474
  }
457
475
  return returnValue;
458
476
  };
@@ -550,7 +568,7 @@ var BaseAPI = (function () {
550
568
  CMIElement: CMIElement,
551
569
  callback: callback,
552
570
  });
553
- this.apiLog("on", "Added event listener: ".concat(this.listenerArray.length), api_constants/* default */.A.global.LOG_LEVEL_INFO, functionName);
571
+ this.apiLog("on", "Added event listener: ".concat(this.listenerArray.length), enums/* LogLevelEnum */.Mb.INFO, functionName);
554
572
  }
555
573
  };
556
574
  BaseAPI.prototype.off = function (listenerName, callback) {
@@ -573,7 +591,7 @@ var BaseAPI = (function () {
573
591
  });
574
592
  if (removeIndex !== -1) {
575
593
  this_1.listenerArray.splice(removeIndex, 1);
576
- this_1.apiLog("off", "Removed event listener: ".concat(this_1.listenerArray.length), api_constants/* default */.A.global.LOG_LEVEL_INFO, functionName);
594
+ this_1.apiLog("off", "Removed event listener: ".concat(this_1.listenerArray.length), enums/* LogLevelEnum */.Mb.INFO, functionName);
577
595
  }
578
596
  };
579
597
  var this_1 = this;
@@ -606,7 +624,7 @@ var BaseAPI = (function () {
606
624
  }
607
625
  };
608
626
  BaseAPI.prototype.processListeners = function (functionName, CMIElement, value) {
609
- this.apiLog(functionName, value, api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
627
+ this.apiLog(functionName, value, enums/* LogLevelEnum */.Mb.INFO, CMIElement);
610
628
  for (var i = 0; i < this.listenerArray.length; i++) {
611
629
  var listener = this.listenerArray[i];
612
630
  var functionsMatch = listener.functionName === functionName;
@@ -622,7 +640,7 @@ var BaseAPI = (function () {
622
640
  CMIElementsMatch = listener.CMIElement === CMIElement;
623
641
  }
624
642
  if (functionsMatch && (!listenerHasCMIElement || CMIElementsMatch)) {
625
- this.apiLog("processListeners", "Processing listener: ".concat(listener.functionName), api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
643
+ this.apiLog("processListeners", "Processing listener: ".concat(listener.functionName), enums/* LogLevelEnum */.Mb.INFO, CMIElement);
626
644
  listener.callback(CMIElement, value);
627
645
  }
628
646
  }
@@ -631,7 +649,7 @@ var BaseAPI = (function () {
631
649
  if (!message) {
632
650
  message = this.getLmsErrorMessageDetails(errorNumber);
633
651
  }
634
- this.apiLog("throwSCORMError", errorNumber + ": " + message, api_constants/* default */.A.global.LOG_LEVEL_ERROR);
652
+ this.apiLog("throwSCORMError", errorNumber + ": " + message, enums/* LogLevelEnum */.Mb.ERROR);
635
653
  this.lastErrorCode = String(errorNumber);
636
654
  };
637
655
  BaseAPI.prototype.clearSCORMError = function (success) {
@@ -782,7 +800,7 @@ var BaseAPI = (function () {
782
800
  return [2, this.transformResponse(response)];
783
801
  case 2:
784
802
  e_1 = _a.sent();
785
- this.apiLog("processHttpRequest", e_1, api_constants/* default */.A.global.LOG_LEVEL_ERROR);
803
+ this.apiLog("processHttpRequest", e_1, enums/* LogLevelEnum */.Mb.ERROR);
786
804
  api.processListeners("CommitError");
787
805
  return [2, genericError];
788
806
  case 3: return [2];
@@ -798,14 +816,14 @@ var BaseAPI = (function () {
798
816
  BaseAPI.prototype.scheduleCommit = function (when, callback) {
799
817
  if (!this._timeout) {
800
818
  this._timeout = new ScheduledCommit(this, when, callback);
801
- this.apiLog("scheduleCommit", "scheduled", api_constants/* default */.A.global.LOG_LEVEL_DEBUG, "");
819
+ this.apiLog("scheduleCommit", "scheduled", enums/* LogLevelEnum */.Mb.DEBUG, "");
802
820
  }
803
821
  };
804
822
  BaseAPI.prototype.clearScheduledCommit = function () {
805
823
  if (this._timeout) {
806
824
  this._timeout.cancel();
807
825
  this._timeout = undefined;
808
- this.apiLog("clearScheduledCommit", "cleared", api_constants/* default */.A.global.LOG_LEVEL_DEBUG, "");
826
+ this.apiLog("clearScheduledCommit", "cleared", enums/* LogLevelEnum */.Mb.DEBUG, "");
809
827
  }
810
828
  };
811
829
  BaseAPI.prototype._checkObjectHasProperty = function (refObject, attribute) {
@@ -834,7 +852,7 @@ var BaseAPI = (function () {
834
852
  var commitObject = this.settings.renderCommonCommitFields
835
853
  ? this.renderCommitObject(shouldTerminateCommit)
836
854
  : this.renderCommitCMI(shouldTerminateCommit);
837
- if (this.apiLogLevel === api_constants/* default */.A.global.LOG_LEVEL_DEBUG) {
855
+ if ([enums/* LogLevelEnum */.Mb.DEBUG, "1", 1, "DEBUG"].includes(this.apiLogLevel)) {
838
856
  console.debug("Commit (terminated: " + (terminateCommit ? "yes" : "no") + "): ");
839
857
  console.debug(commitObject);
840
858
  }
@@ -2531,11 +2549,6 @@ var global = {
2531
2549
  STATE_NOT_INITIALIZED: 0,
2532
2550
  STATE_INITIALIZED: 1,
2533
2551
  STATE_TERMINATED: 2,
2534
- LOG_LEVEL_DEBUG: 1,
2535
- LOG_LEVEL_INFO: 2,
2536
- LOG_LEVEL_WARNING: 3,
2537
- LOG_LEVEL_ERROR: 4,
2538
- LOG_LEVEL_NONE: 5,
2539
2552
  };
2540
2553
  var scorm12 = {
2541
2554
  cmi_children: "core,suspend_data,launch_data,comments,objectives,student_data,student_preference,interactions",
@@ -2738,6 +2751,7 @@ var APIConstants = {
2738
2751
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2739
2752
 
2740
2753
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2754
+ /* harmony export */ Mb: function() { return /* binding */ LogLevelEnum; },
2741
2755
  /* harmony export */ YE: function() { return /* binding */ SuccessStatus; },
2742
2756
  /* harmony export */ lC: function() { return /* binding */ CompletionStatus; }
2743
2757
  /* harmony export */ });
@@ -2760,6 +2774,15 @@ var CompletionStatus;
2760
2774
  CompletionStatus["incomplete"] = "incomplete";
2761
2775
  CompletionStatus["unknown"] = "unknown";
2762
2776
  })(CompletionStatus || (CompletionStatus = {}));
2777
+ var LogLevelEnum;
2778
+ (function (LogLevelEnum) {
2779
+ LogLevelEnum[LogLevelEnum["_"] = 0] = "_";
2780
+ LogLevelEnum[LogLevelEnum["DEBUG"] = 1] = "DEBUG";
2781
+ LogLevelEnum[LogLevelEnum["INFO"] = 2] = "INFO";
2782
+ LogLevelEnum[LogLevelEnum["WARN"] = 3] = "WARN";
2783
+ LogLevelEnum[LogLevelEnum["ERROR"] = 4] = "ERROR";
2784
+ LogLevelEnum[LogLevelEnum["NONE"] = 5] = "NONE";
2785
+ })(LogLevelEnum || (LogLevelEnum = {}));
2763
2786
 
2764
2787
 
2765
2788
  /***/ }),
@@ -2868,7 +2891,7 @@ var scorm2004 = {
2868
2891
  CMIExit: "^(time-out|suspend|logout|normal)$",
2869
2892
  CMIType: "^(true-false|choice|fill-in|long-fill-in|matching|performance|sequencing|likert|numeric|other)$",
2870
2893
  CMIResult: "^(correct|incorrect|unanticipated|neutral|-?([0-9]{1,4})(\\.[0-9]{1,18})?)$",
2871
- NAVEvent: "^(previous|continue|exit|exitAll|abandon|abandonAll|suspendAll|_none_|(\\{target=\\S{0,}[a-zA-Z0-9-_]+})?choice|(\\{target=\\S{0,}[a-zA-Z0-9-_]+})?jump)$",
2894
+ NAVEvent: "^(previous|continue|exit|exitAll|abandon|abandonAll|suspendAll|_none_|(\\{target=(?<choice_target>\\S{0,}[a-zA-Z0-9-_]+)})?choice|(\\{target=(?<jump_target>\\S{0,}[a-zA-Z0-9-_]+)})?jump)$",
2872
2895
  NAVBoolean: "^(unknown|true|false$)",
2873
2896
  NAVTarget: "^{target=\\S{0,}[a-zA-Z0-9-_]+}$",
2874
2897
  scaled_range: "-1#1",
@@ -2919,9 +2942,6 @@ var BaseScormValidationError = (function (_super) {
2919
2942
  enumerable: false,
2920
2943
  configurable: true
2921
2944
  });
2922
- BaseScormValidationError.prototype.setMessage = function (message) {
2923
- this.message = message;
2924
- };
2925
2945
  return BaseScormValidationError;
2926
2946
  }(Error));
2927
2947
 
@@ -2930,7 +2950,7 @@ var ValidationError = (function (_super) {
2930
2950
  function ValidationError(errorCode, errorMessage, detailedMessage) {
2931
2951
  var _this = _super.call(this, errorCode) || this;
2932
2952
  _this._detailedMessage = "";
2933
- _this.setMessage(errorMessage);
2953
+ _this.message = errorMessage;
2934
2954
  _this._errorMessage = errorMessage;
2935
2955
  if (detailedMessage) {
2936
2956
  _this._detailedMessage = detailedMessage;