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
@@ -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
  }
@@ -2227,11 +2245,6 @@ var global = {
2227
2245
  STATE_NOT_INITIALIZED: 0,
2228
2246
  STATE_INITIALIZED: 1,
2229
2247
  STATE_TERMINATED: 2,
2230
- LOG_LEVEL_DEBUG: 1,
2231
- LOG_LEVEL_INFO: 2,
2232
- LOG_LEVEL_WARNING: 3,
2233
- LOG_LEVEL_ERROR: 4,
2234
- LOG_LEVEL_NONE: 5,
2235
2248
  };
2236
2249
  var scorm12 = {
2237
2250
  cmi_children: "core,suspend_data,launch_data,comments,objectives,student_data,student_preference,interactions",
@@ -2434,6 +2447,7 @@ var APIConstants = {
2434
2447
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2435
2448
 
2436
2449
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2450
+ /* harmony export */ Mb: function() { return /* binding */ LogLevelEnum; },
2437
2451
  /* harmony export */ YE: function() { return /* binding */ SuccessStatus; },
2438
2452
  /* harmony export */ lC: function() { return /* binding */ CompletionStatus; }
2439
2453
  /* harmony export */ });
@@ -2456,6 +2470,15 @@ var CompletionStatus;
2456
2470
  CompletionStatus["incomplete"] = "incomplete";
2457
2471
  CompletionStatus["unknown"] = "unknown";
2458
2472
  })(CompletionStatus || (CompletionStatus = {}));
2473
+ var LogLevelEnum;
2474
+ (function (LogLevelEnum) {
2475
+ LogLevelEnum[LogLevelEnum["_"] = 0] = "_";
2476
+ LogLevelEnum[LogLevelEnum["DEBUG"] = 1] = "DEBUG";
2477
+ LogLevelEnum[LogLevelEnum["INFO"] = 2] = "INFO";
2478
+ LogLevelEnum[LogLevelEnum["WARN"] = 3] = "WARN";
2479
+ LogLevelEnum[LogLevelEnum["ERROR"] = 4] = "ERROR";
2480
+ LogLevelEnum[LogLevelEnum["NONE"] = 5] = "NONE";
2481
+ })(LogLevelEnum || (LogLevelEnum = {}));
2459
2482
 
2460
2483
 
2461
2484
  /***/ }),
@@ -2564,7 +2587,7 @@ var scorm2004 = {
2564
2587
  CMIExit: "^(time-out|suspend|logout|normal)$",
2565
2588
  CMIType: "^(true-false|choice|fill-in|long-fill-in|matching|performance|sequencing|likert|numeric|other)$",
2566
2589
  CMIResult: "^(correct|incorrect|unanticipated|neutral|-?([0-9]{1,4})(\\.[0-9]{1,18})?)$",
2567
- 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)$",
2590
+ 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)$",
2568
2591
  NAVBoolean: "^(unknown|true|false$)",
2569
2592
  NAVTarget: "^{target=\\S{0,}[a-zA-Z0-9-_]+}$",
2570
2593
  scaled_range: "-1#1",
@@ -2614,9 +2637,6 @@ var BaseScormValidationError = (function (_super) {
2614
2637
  enumerable: false,
2615
2638
  configurable: true
2616
2639
  });
2617
- BaseScormValidationError.prototype.setMessage = function (message) {
2618
- this.message = message;
2619
- };
2620
2640
  return BaseScormValidationError;
2621
2641
  }(Error));
2622
2642
 
@@ -2625,7 +2645,7 @@ var ValidationError = (function (_super) {
2625
2645
  function ValidationError(errorCode, errorMessage, detailedMessage) {
2626
2646
  var _this = _super.call(this, errorCode) || this;
2627
2647
  _this._detailedMessage = "";
2628
- _this.setMessage(errorMessage);
2648
+ _this.message = errorMessage;
2629
2649
  _this._errorMessage = errorMessage;
2630
2650
  if (detailedMessage) {
2631
2651
  _this._detailedMessage = detailedMessage;