scorm-again 2.6.1 → 2.6.3

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 (93) hide show
  1. package/dist/aicc.js +167 -165
  2. package/dist/aicc.js.map +1 -1
  3. package/dist/aicc.min.js +1 -1
  4. package/dist/aicc.min.js.map +1 -1
  5. package/dist/esm/aicc.js +167 -165
  6. package/dist/esm/aicc.js.map +1 -1
  7. package/dist/esm/aicc.min.js +1 -1
  8. package/dist/esm/aicc.min.js.map +1 -1
  9. package/dist/esm/scorm-again.js +189 -180
  10. package/dist/esm/scorm-again.js.map +1 -1
  11. package/dist/esm/scorm-again.min.js +1 -1
  12. package/dist/esm/scorm-again.min.js.map +1 -1
  13. package/dist/esm/scorm12.js +167 -165
  14. package/dist/esm/scorm12.js.map +1 -1
  15. package/dist/esm/scorm12.min.js +1 -1
  16. package/dist/esm/scorm12.min.js.map +1 -1
  17. package/dist/esm/scorm2004.js +61 -51
  18. package/dist/esm/scorm2004.js.map +1 -1
  19. package/dist/esm/scorm2004.min.js +1 -1
  20. package/dist/esm/scorm2004.min.js.map +1 -1
  21. package/dist/scorm-again.js +189 -180
  22. package/dist/scorm-again.js.map +1 -1
  23. package/dist/scorm-again.min.js +1 -1
  24. package/dist/scorm-again.min.js.map +1 -1
  25. package/dist/scorm12.js +167 -165
  26. package/dist/scorm12.js.map +1 -1
  27. package/dist/scorm12.min.js +1 -1
  28. package/dist/scorm12.min.js.map +1 -1
  29. package/dist/scorm2004.js +61 -51
  30. package/dist/scorm2004.js.map +1 -1
  31. package/dist/scorm2004.min.js +1 -1
  32. package/dist/scorm2004.min.js.map +1 -1
  33. package/dist/types/AICC.d.ts +13 -0
  34. package/dist/types/BaseAPI.d.ts +71 -0
  35. package/dist/types/Scorm12API.d.ts +39 -0
  36. package/dist/types/Scorm2004API.d.ts +52 -0
  37. package/dist/types/ScormAgain.d.ts +4 -0
  38. package/dist/types/cmi/aicc/attempts.d.ts +19 -0
  39. package/dist/types/cmi/aicc/cmi.d.ts +34 -0
  40. package/dist/types/cmi/aicc/core.d.ts +57 -0
  41. package/dist/types/cmi/aicc/evaluation.d.ts +33 -0
  42. package/dist/types/cmi/aicc/paths.d.ts +35 -0
  43. package/dist/types/cmi/aicc/student_data.d.ts +20 -0
  44. package/dist/types/cmi/aicc/student_demographics.d.ts +61 -0
  45. package/dist/types/cmi/aicc/student_preferences.d.ts +34 -0
  46. package/dist/types/cmi/aicc/tries.d.ts +23 -0
  47. package/dist/types/cmi/aicc/validation.d.ts +1 -0
  48. package/dist/types/cmi/common/array.d.ts +19 -0
  49. package/dist/types/cmi/common/base_cmi.d.ts +13 -0
  50. package/dist/types/cmi/common/score.d.ts +38 -0
  51. package/dist/types/cmi/common/validation.d.ts +3 -0
  52. package/dist/types/cmi/scorm12/cmi.d.ts +45 -0
  53. package/dist/types/cmi/scorm12/interactions.d.ts +64 -0
  54. package/dist/types/cmi/scorm12/nav.d.ts +11 -0
  55. package/dist/types/cmi/scorm12/objectives.d.ts +22 -0
  56. package/dist/types/cmi/scorm12/student_data.d.ts +22 -0
  57. package/dist/types/cmi/scorm12/student_preference.d.ts +26 -0
  58. package/dist/types/cmi/scorm12/validation.d.ts +2 -0
  59. package/dist/types/cmi/scorm2004/adl.d.ts +71 -0
  60. package/dist/types/cmi/scorm2004/cmi.d.ts +103 -0
  61. package/dist/types/cmi/scorm2004/comments.d.ts +27 -0
  62. package/dist/types/cmi/scorm2004/interactions.d.ts +68 -0
  63. package/dist/types/cmi/scorm2004/learner_preference.d.ts +26 -0
  64. package/dist/types/cmi/scorm2004/objectives.d.ts +38 -0
  65. package/dist/types/cmi/scorm2004/score.d.ts +14 -0
  66. package/dist/types/cmi/scorm2004/validation.d.ts +2 -0
  67. package/dist/types/constants/api_constants.d.ts +49 -0
  68. package/dist/types/constants/default_settings.d.ts +2 -0
  69. package/dist/types/constants/enums.d.ts +23 -0
  70. package/dist/types/constants/error_codes.d.ts +6 -0
  71. package/dist/types/constants/language_constants.d.ts +2 -0
  72. package/dist/types/constants/regex.d.ts +82 -0
  73. package/dist/types/constants/response_constants.d.ts +16 -0
  74. package/dist/types/exceptions/aicc_exceptions.d.ts +4 -0
  75. package/dist/types/exceptions/scorm12_exceptions.d.ts +4 -0
  76. package/dist/types/exceptions/scorm2004_exceptions.d.ts +4 -0
  77. package/dist/types/exceptions.d.ts +18 -0
  78. package/dist/types/helpers/scheduled_commit.d.ts +10 -0
  79. package/dist/types/interfaces/IBaseAPI.d.ts +22 -0
  80. package/dist/types/types/api_types.d.ts +73 -0
  81. package/dist/types/utilities.d.ts +19 -0
  82. package/index.d.ts +24 -3
  83. package/package.json +3 -2
  84. package/src/BaseAPI.ts +26 -18
  85. package/src/Scorm12API.ts +1 -3
  86. package/src/Scorm2004API.ts +14 -10
  87. package/src/constants/default_settings.ts +2 -2
  88. package/src/constants/regex.ts +8 -1
  89. package/src/types/api_types.ts +27 -2
  90. package/test/AICC.spec.ts +2 -2
  91. package/test/Scorm12API.spec.ts +3 -3
  92. package/test/Scorm2004API.spec.ts +20 -20
  93. package/tsconfig.json +19 -6
package/dist/scorm2004.js CHANGED
@@ -177,6 +177,7 @@ var ScheduledCommit = (function () {
177
177
  var BaseAPI = (function () {
178
178
  function BaseAPI(error_codes, settings) {
179
179
  var _newTarget = this.constructor;
180
+ var _a, _c;
180
181
  this._settings = DefaultSettings;
181
182
  if (_newTarget === BaseAPI) {
182
183
  throw new TypeError("Cannot construct BaseAPI instances directly");
@@ -186,13 +187,10 @@ var BaseAPI = (function () {
186
187
  this.listenerArray = [];
187
188
  this._error_codes = error_codes;
188
189
  if (settings) {
189
- this.settings = settings;
190
- }
191
- this.apiLogLevel = this.settings.logLevel;
192
- this.selfReportSessionTime = this.settings.selfReportSessionTime;
193
- if (this.apiLogLevel === undefined) {
194
- this.apiLogLevel = enums.LogLevelEnum.NONE;
190
+ this.settings = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, DefaultSettings), settings);
195
191
  }
192
+ this.apiLogLevel = (_a = this.settings.logLevel) !== null && _a !== void 0 ? _a : enums.LogLevelEnum.ERROR;
193
+ this.selfReportSessionTime = (_c = this.settings.selfReportSessionTime) !== null && _c !== void 0 ? _c : false;
196
194
  }
197
195
  BaseAPI.prototype.commonReset = function (settings) {
198
196
  this.apiLog("reset", "Called", enums.LogLevelEnum.INFO);
@@ -201,7 +199,7 @@ var BaseAPI = (function () {
201
199
  this.currentState = api_constants.global_constants.STATE_NOT_INITIALIZED;
202
200
  this.lastErrorCode = "0";
203
201
  this.listenerArray = [];
204
- this.startingData = undefined;
202
+ this.startingData = {};
205
203
  };
206
204
  BaseAPI.prototype.initialize = function (callbackName, initializeMessage, terminationMessage) {
207
205
  var returnValue = api_constants.global_constants.SCORM_FALSE;
@@ -798,7 +796,7 @@ var BaseAPI = (function () {
798
796
  }];
799
797
  }
800
798
  process = function (url, params, settings) { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
801
- var response, e_1;
799
+ var response, e_1, message;
802
800
  return (0,tslib_es6.__generator)(this, function (_a) {
803
801
  switch (_a.label) {
804
802
  case 0:
@@ -810,7 +808,8 @@ var BaseAPI = (function () {
810
808
  return [2, this.transformResponse(response)];
811
809
  case 2:
812
810
  e_1 = _a.sent();
813
- this.apiLog("processHttpRequest", e_1, enums.LogLevelEnum.ERROR);
811
+ message = e_1 instanceof Error ? e_1.message : String(e_1);
812
+ this.apiLog("processHttpRequest", message, enums.LogLevelEnum.ERROR);
814
813
  api.processListeners("CommitError");
815
814
  return [2, genericError];
816
815
  case 3: return [2];
@@ -870,15 +869,19 @@ var BaseAPI = (function () {
870
869
  };
871
870
  BaseAPI.prototype.performFetch = function (url, params) {
872
871
  return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
872
+ var init;
873
873
  return (0,tslib_es6.__generator)(this, function (_a) {
874
- return [2, fetch(url, {
875
- method: "POST",
876
- mode: this.settings.fetchMode,
877
- body: params instanceof Array ? params.join("&") : JSON.stringify(params),
878
- headers: (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this.settings.xhrHeaders), { "Content-Type": this.settings.commitRequestDataType }),
879
- credentials: this.settings.xhrWithCredentials ? "include" : undefined,
880
- keepalive: true,
881
- })];
874
+ init = {
875
+ method: "POST",
876
+ mode: this.settings.fetchMode,
877
+ body: params instanceof Array ? params.join("&") : JSON.stringify(params),
878
+ headers: (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this.settings.xhrHeaders), { "Content-Type": this.settings.commitRequestDataType }),
879
+ keepalive: true,
880
+ };
881
+ if (this.settings.xhrWithCredentials) {
882
+ init = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, init), { credentials: "include" });
883
+ }
884
+ return [2, fetch(url, init)];
882
885
  });
883
886
  });
884
887
  };
@@ -926,21 +929,21 @@ __webpack_require__.r(__webpack_exports__);
926
929
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
927
930
  /* harmony export */ CMIArray: function() { return /* binding */ CMIArray; }
928
931
  /* harmony export */ });
929
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(635);
930
- /* harmony import */ var _base_cmi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(319);
931
- /* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(784);
932
- /* harmony import */ var _constants_error_codes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(797);
932
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
933
+ /* harmony import */ var _base_cmi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(319);
934
+ /* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(784);
935
+ /* harmony import */ var _constants_error_codes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(797);
933
936
 
934
937
 
935
938
 
936
939
 
937
940
  var CMIArray = (function (_super) {
938
- (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__extends)(CMIArray, _super);
941
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(CMIArray, _super);
939
942
  function CMIArray(params) {
940
943
  var _this = _super.call(this) || this;
941
944
  _this.__children = params.children;
942
- _this._errorCode = params.errorCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_2__.scorm12_errors.GENERAL;
943
- _this._errorClass = params.errorClass || _exceptions__WEBPACK_IMPORTED_MODULE_1__.BaseScormValidationError;
945
+ _this._errorCode = params.errorCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_1__.scorm12_errors.GENERAL;
946
+ _this._errorClass = params.errorClass || _exceptions__WEBPACK_IMPORTED_MODULE_2__.BaseScormValidationError;
944
947
  _this.childArray = [];
945
948
  return _this;
946
949
  }
@@ -986,7 +989,7 @@ var CMIArray = (function (_super) {
986
989
  return result;
987
990
  };
988
991
  return CMIArray;
989
- }(_base_cmi__WEBPACK_IMPORTED_MODULE_0__.BaseCMI));
992
+ }(_base_cmi__WEBPACK_IMPORTED_MODULE_3__.BaseCMI));
990
993
 
991
994
 
992
995
 
@@ -1049,11 +1052,11 @@ __webpack_require__.r(__webpack_exports__);
1049
1052
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1050
1053
  /* harmony export */ CMIScore: function() { return /* binding */ CMIScore; }
1051
1054
  /* harmony export */ });
1052
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(635);
1053
- /* harmony import */ var _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(340);
1054
- /* harmony import */ var _constants_regex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(417);
1055
- /* harmony import */ var _base_cmi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(319);
1056
- /* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(449);
1055
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1056
+ /* harmony import */ var _constants_api_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(340);
1057
+ /* harmony import */ var _constants_regex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(417);
1058
+ /* harmony import */ var _base_cmi__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(319);
1059
+ /* harmony import */ var _validation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(449);
1057
1060
  /* harmony import */ var _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(797);
1058
1061
 
1059
1062
 
@@ -1062,15 +1065,15 @@ __webpack_require__.r(__webpack_exports__);
1062
1065
 
1063
1066
 
1064
1067
  var CMIScore = (function (_super) {
1065
- (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CMIScore, _super);
1068
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(CMIScore, _super);
1066
1069
  function CMIScore(params) {
1067
1070
  var _this = _super.call(this) || this;
1068
1071
  _this._raw = "";
1069
1072
  _this._min = "";
1070
- _this.__children = params.score_children || _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__.scorm12_constants.score_children;
1073
+ _this.__children = params.score_children || _constants_api_constants__WEBPACK_IMPORTED_MODULE_1__.scorm12_constants.score_children;
1071
1074
  _this.__score_range = !params.score_range
1072
1075
  ? false
1073
- : _constants_regex__WEBPACK_IMPORTED_MODULE_1__.scorm12_regex.score_range;
1076
+ : _constants_regex__WEBPACK_IMPORTED_MODULE_2__.scorm12_regex.score_range;
1074
1077
  _this._max = params.max || params.max === "" ? params.max : "100";
1075
1078
  _this.__invalid_error_code =
1076
1079
  params.invalidErrorCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.INVALID_SET_VALUE;
@@ -1078,7 +1081,7 @@ var CMIScore = (function (_super) {
1078
1081
  params.invalidTypeCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.TYPE_MISMATCH;
1079
1082
  _this.__invalid_range_code =
1080
1083
  params.invalidRangeCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.VALUE_OUT_OF_RANGE;
1081
- _this.__decimal_regex = params.decimalRegex || _constants_regex__WEBPACK_IMPORTED_MODULE_1__.scorm12_regex.CMIDecimal;
1084
+ _this.__decimal_regex = params.decimalRegex || _constants_regex__WEBPACK_IMPORTED_MODULE_2__.scorm12_regex.CMIDecimal;
1082
1085
  _this.__error_class = params.errorClass;
1083
1086
  return _this;
1084
1087
  }
@@ -1100,9 +1103,9 @@ var CMIScore = (function (_super) {
1100
1103
  return this._raw;
1101
1104
  },
1102
1105
  set: function (raw) {
1103
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(raw, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1106
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_4__.checkValidFormat)(raw, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1104
1107
  (!this.__score_range ||
1105
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(raw, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1108
+ (0,_validation__WEBPACK_IMPORTED_MODULE_4__.checkValidRange)(raw, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1106
1109
  this._raw = raw;
1107
1110
  }
1108
1111
  },
@@ -1114,9 +1117,9 @@ var CMIScore = (function (_super) {
1114
1117
  return this._min;
1115
1118
  },
1116
1119
  set: function (min) {
1117
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(min, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1120
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_4__.checkValidFormat)(min, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1118
1121
  (!this.__score_range ||
1119
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(min, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1122
+ (0,_validation__WEBPACK_IMPORTED_MODULE_4__.checkValidRange)(min, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1120
1123
  this._min = min;
1121
1124
  }
1122
1125
  },
@@ -1128,9 +1131,9 @@ var CMIScore = (function (_super) {
1128
1131
  return this._max;
1129
1132
  },
1130
1133
  set: function (max) {
1131
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(max, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1134
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_4__.checkValidFormat)(max, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1132
1135
  (!this.__score_range ||
1133
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(max, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1136
+ (0,_validation__WEBPACK_IMPORTED_MODULE_4__.checkValidRange)(max, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1134
1137
  this._max = max;
1135
1138
  }
1136
1139
  },
@@ -1148,7 +1151,7 @@ var CMIScore = (function (_super) {
1148
1151
  return result;
1149
1152
  };
1150
1153
  return CMIScore;
1151
- }(_base_cmi__WEBPACK_IMPORTED_MODULE_2__.BaseCMI));
1154
+ }(_base_cmi__WEBPACK_IMPORTED_MODULE_5__.BaseCMI));
1152
1155
 
1153
1156
 
1154
1157
 
@@ -1513,7 +1516,7 @@ var scorm12_regex = {
1513
1516
  CMISInteger: "^-?([0-9]+)$",
1514
1517
  CMIDecimal: "^-?([0-9]{0,3})(.[0-9]*)?$",
1515
1518
  CMIIdentifier: "^[\\u0021-\\u007E\\s]{0,255}$",
1516
- CMIFeedback: "^.{0,255}$",
1519
+ CMIFeedback: "^.*$",
1517
1520
  CMIIndex: "[._](\\d+).",
1518
1521
  CMIStatus: "^(passed|completed|failed|incomplete|browsed)$",
1519
1522
  CMIStatus2: "^(passed|completed|failed|incomplete|browsed|not attempted)$",
@@ -4454,16 +4457,22 @@ var Scorm2004Impl = (function (_super) {
4454
4457
  });
4455
4458
  };
4456
4459
  Scorm2004Impl.prototype.lmsGetValue = function (CMIElement) {
4460
+ var _a;
4457
4461
  var adlNavRequestRegex = "^adl\\.nav\\.request_valid\\.(choice|jump)\\.{target=\\S{0,}([a-zA-Z0-9-_]+)}$";
4458
4462
  if ((0,utilities.stringMatches)(CMIElement, adlNavRequestRegex)) {
4459
4463
  var matches = CMIElement.match(adlNavRequestRegex);
4460
- var request = matches[1];
4461
- var target = matches[2].replace("{target=", "").replace("}", "");
4462
- if (request === "choice" || request === "jump") {
4463
- if (this.settings.scoItemIdValidator) {
4464
- return String(this.settings.scoItemIdValidator(target));
4464
+ if (matches) {
4465
+ var request = matches[1];
4466
+ var target = matches[2].replace("{target=", "").replace("}", "");
4467
+ if (request === "choice" || request === "jump") {
4468
+ if (this.settings.scoItemIdValidator) {
4469
+ return String(this.settings.scoItemIdValidator(target));
4470
+ }
4471
+ if (this.settings.scoItemIds) {
4472
+ return String((_a = this.settings.scoItemIds) === null || _a === void 0 ? void 0 : _a.includes(target));
4473
+ }
4474
+ return String(request);
4465
4475
  }
4466
- return String(this.settings.scoItemIds.includes(target));
4467
4476
  }
4468
4477
  }
4469
4478
  return this.getValue("GetValue", true, CMIElement);
@@ -4500,6 +4509,7 @@ var Scorm2004Impl = (function (_super) {
4500
4509
  return this.getDiagnostic("GetDiagnostic", CMIErrorCode);
4501
4510
  };
4502
4511
  Scorm2004Impl.prototype.setCMIValue = function (CMIElement, value) {
4512
+ var _a;
4503
4513
  if ((0,utilities.stringMatches)(CMIElement, "cmi\\.objectives\\.\\d+")) {
4504
4514
  var parts = CMIElement.split(".");
4505
4515
  var index = Number(parts[2]);
@@ -4513,7 +4523,8 @@ var Scorm2004Impl = (function (_super) {
4513
4523
  var objective = this.cmi.objectives.findObjectiveByIndex(index);
4514
4524
  objective_id_1 = objective ? objective.id : undefined;
4515
4525
  }
4516
- var is_global = objective_id_1 && this.settings.globalObjectiveIds.includes(objective_id_1);
4526
+ var is_global = objective_id_1 &&
4527
+ ((_a = this.settings.globalObjectiveIds) === null || _a === void 0 ? void 0 : _a.includes(objective_id_1));
4517
4528
  if (is_global) {
4518
4529
  var global_index = this._globalObjectives.findIndex(function (obj) { return obj.id === objective_id_1; });
4519
4530
  if (global_index === -1) {
@@ -4797,9 +4808,8 @@ var Scorm2004Impl = (function (_super) {
4797
4808
  }
4798
4809
  }
4799
4810
  var score = this.cmi.score;
4800
- var scoreObject = null;
4811
+ var scoreObject = {};
4801
4812
  if (score) {
4802
- scoreObject = {};
4803
4813
  if (!Number.isNaN(Number.parseFloat(score.raw))) {
4804
4814
  scoreObject.raw = Number.parseFloat(score.raw);
4805
4815
  }