scorm-again 2.5.0 → 2.6.1

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 (87) hide show
  1. package/dist/aicc.js +657 -489
  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 +670 -489
  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 +1113 -729
  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 +512 -394
  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 +678 -452
  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 +1100 -728
  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 +500 -394
  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 +665 -452
  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_test.html +208 -0
  34. package/package.json +14 -14
  35. package/src/AICC.ts +6 -3
  36. package/src/BaseAPI.ts +43 -37
  37. package/src/Scorm12API.ts +17 -23
  38. package/src/Scorm2004API.ts +99 -42
  39. package/src/ScormAgain.ts +3 -7
  40. package/src/cmi/aicc/attempts.ts +22 -12
  41. package/src/cmi/aicc/cmi.ts +2 -2
  42. package/src/cmi/aicc/core.ts +44 -26
  43. package/src/cmi/aicc/evaluation.ts +31 -12
  44. package/src/cmi/aicc/paths.ts +29 -15
  45. package/src/cmi/aicc/student_data.ts +14 -5
  46. package/src/cmi/aicc/student_demographics.ts +31 -24
  47. package/src/cmi/aicc/student_preferences.ts +11 -11
  48. package/src/cmi/aicc/tries.ts +24 -14
  49. package/src/cmi/aicc/validation.ts +3 -4
  50. package/src/cmi/common/array.ts +17 -5
  51. package/src/cmi/common/base_cmi.ts +3 -1
  52. package/src/cmi/common/score.ts +16 -13
  53. package/src/cmi/scorm12/cmi.ts +25 -10
  54. package/src/cmi/scorm12/interactions.ts +62 -28
  55. package/src/cmi/scorm12/nav.ts +13 -5
  56. package/src/cmi/scorm12/objectives.ts +28 -18
  57. package/src/cmi/scorm12/student_data.ts +15 -8
  58. package/src/cmi/scorm12/student_preference.ts +20 -13
  59. package/src/cmi/scorm12/validation.ts +7 -7
  60. package/src/cmi/scorm2004/adl.ts +141 -25
  61. package/src/cmi/scorm2004/cmi.ts +50 -55
  62. package/src/cmi/scorm2004/comments.ts +21 -20
  63. package/src/cmi/scorm2004/interactions.ts +73 -32
  64. package/src/cmi/scorm2004/learner_preference.ts +20 -13
  65. package/src/cmi/scorm2004/objectives.ts +41 -16
  66. package/src/cmi/scorm2004/score.ts +22 -11
  67. package/src/cmi/scorm2004/validation.ts +4 -4
  68. package/src/constants/api_constants.ts +8 -19
  69. package/src/constants/default_settings.ts +6 -5
  70. package/src/constants/error_codes.ts +5 -12
  71. package/src/constants/regex.ts +4 -10
  72. package/src/constants/response_constants.ts +1 -2
  73. package/src/exceptions/aicc_exceptions.ts +29 -0
  74. package/src/exceptions/scorm12_exceptions.ts +29 -0
  75. package/src/exceptions/scorm2004_exceptions.ts +29 -0
  76. package/src/exceptions.ts +0 -81
  77. package/src/types/api_types.ts +3 -2
  78. package/test/AICC.spec.ts +114 -43
  79. package/test/Scorm12API.spec.ts +60 -39
  80. package/test/Scorm2004API.spec.ts +165 -80
  81. package/test/cmi/aicc_cmi.spec.ts +6 -9
  82. package/test/cmi/scorm12_cmi.spec.ts +8 -8
  83. package/test/cmi/scorm2004_cmi.spec.ts +8 -9
  84. package/test/exceptions.spec.ts +11 -9
  85. package/test/types/api_types.spec.ts +3 -3
  86. package/test/utilities.spec.ts +1 -4
  87. package/webpack.config.js +5 -1
@@ -3,10 +3,12 @@
3
3
  /***/ 429:
4
4
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5
5
 
6
+ // ESM COMPAT FLAG
7
+ __webpack_require__.r(__webpack_exports__);
6
8
 
7
9
  // EXPORTS
8
10
  __webpack_require__.d(__webpack_exports__, {
9
- A: function() { return /* binding */ src_BaseAPI; }
11
+ "default": function() { return /* binding */ src_BaseAPI; }
10
12
  });
11
13
 
12
14
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.mjs
@@ -15,8 +17,6 @@ var tslib_es6 = __webpack_require__(635);
15
17
  var array = __webpack_require__(589);
16
18
  // EXTERNAL MODULE: ./src/exceptions.ts
17
19
  var exceptions = __webpack_require__(784);
18
- // EXTERNAL MODULE: ./src/constants/error_codes.ts
19
- var error_codes = __webpack_require__(797);
20
20
  // EXTERNAL MODULE: ./src/constants/api_constants.ts
21
21
  var api_constants = __webpack_require__(340);
22
22
  // EXTERNAL MODULE: ./src/utilities.ts
@@ -36,7 +36,7 @@ var DefaultSettings = {
36
36
  dataCommitFormat: "json",
37
37
  commitRequestDataType: "application/json;charset=UTF-8",
38
38
  autoProgress: false,
39
- logLevel: enums/* LogLevelEnum */.Mb.ERROR,
39
+ logLevel: enums.LogLevelEnum.ERROR,
40
40
  selfReportSessionTime: false,
41
41
  alwaysSendTotalTime: false,
42
42
  renderCommonCommitFields: false,
@@ -45,9 +45,9 @@ var DefaultSettings = {
45
45
  xhrWithCredentials: false,
46
46
  fetchMode: "cors",
47
47
  responseHandler: function (response) {
48
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
48
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
49
49
  var responseText, httpResult;
50
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
50
+ return (0,tslib_es6.__generator)(this, function (_a) {
51
51
  switch (_a.label) {
52
52
  case 0:
53
53
  if (!(typeof response !== "undefined")) return [3, 2];
@@ -62,13 +62,13 @@ var DefaultSettings = {
62
62
  !{}.hasOwnProperty.call(httpResult, "result")) {
63
63
  if (response.status === 200) {
64
64
  return [2, {
65
- result: api_constants/* default */.A.global.SCORM_TRUE,
65
+ result: api_constants.global_constants.SCORM_TRUE,
66
66
  errorCode: 0,
67
67
  }];
68
68
  }
69
69
  else {
70
70
  return [2, {
71
- result: api_constants/* default */.A.global.SCORM_FALSE,
71
+ result: api_constants.global_constants.SCORM_FALSE,
72
72
  errorCode: 101,
73
73
  }];
74
74
  }
@@ -78,14 +78,14 @@ var DefaultSettings = {
78
78
  result: httpResult.result,
79
79
  errorCode: httpResult.errorCode
80
80
  ? httpResult.errorCode
81
- : httpResult.result === api_constants/* default */.A.global.SCORM_TRUE
81
+ : httpResult.result === api_constants.global_constants.SCORM_TRUE
82
82
  ? 0
83
83
  : 101,
84
84
  }];
85
85
  }
86
86
  _a.label = 2;
87
87
  case 2: return [2, {
88
- result: api_constants/* default */.A.global.SCORM_FALSE,
88
+ result: api_constants.global_constants.SCORM_FALSE,
89
89
  errorCode: 101,
90
90
  }];
91
91
  }
@@ -100,25 +100,25 @@ var DefaultSettings = {
100
100
  case "4":
101
101
  case 4:
102
102
  case "ERROR":
103
- case enums/* LogLevelEnum */.Mb.ERROR:
103
+ case enums.LogLevelEnum.ERROR:
104
104
  console.error(logMessage);
105
105
  break;
106
106
  case "3":
107
107
  case 3:
108
108
  case "WARN":
109
- case enums/* LogLevelEnum */.Mb.WARN:
109
+ case enums.LogLevelEnum.WARN:
110
110
  console.warn(logMessage);
111
111
  break;
112
112
  case "2":
113
113
  case 2:
114
114
  case "INFO":
115
- case enums/* LogLevelEnum */.Mb.INFO:
115
+ case enums.LogLevelEnum.INFO:
116
116
  console.info(logMessage);
117
117
  break;
118
118
  case "1":
119
119
  case 1:
120
120
  case "DEBUG":
121
- case enums/* LogLevelEnum */.Mb.DEBUG:
121
+ case enums.LogLevelEnum.DEBUG:
122
122
  if (console.debug) {
123
123
  console.debug(logMessage);
124
124
  }
@@ -130,6 +130,7 @@ var DefaultSettings = {
130
130
  },
131
131
  scoItemIds: [],
132
132
  scoItemIdValidator: false,
133
+ globalObjectiveIds: [],
133
134
  };
134
135
 
135
136
  ;// ./src/helpers/scheduled_commit.ts
@@ -150,7 +151,7 @@ var ScheduledCommit = (function () {
150
151
  ScheduledCommit.prototype.wrapper = function () {
151
152
  var _this = this;
152
153
  if (!this._cancelled) {
153
- (function () { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () { return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
154
+ (function () { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () { return (0,tslib_es6.__generator)(this, function (_a) {
154
155
  switch (_a.label) {
155
156
  case 0: return [4, this._API.commit(this._callback)];
156
157
  case 1: return [2, _a.sent()];
@@ -171,7 +172,6 @@ var ScheduledCommit = (function () {
171
172
 
172
173
 
173
174
 
174
-
175
175
  var BaseAPI = (function () {
176
176
  function BaseAPI(error_codes, settings) {
177
177
  var _newTarget = this.constructor;
@@ -179,7 +179,7 @@ var BaseAPI = (function () {
179
179
  if (_newTarget === BaseAPI) {
180
180
  throw new TypeError("Cannot construct BaseAPI instances directly");
181
181
  }
182
- this.currentState = api_constants/* default */.A.global.STATE_NOT_INITIALIZED;
182
+ this.currentState = api_constants.global_constants.STATE_NOT_INITIALIZED;
183
183
  this.lastErrorCode = "0";
184
184
  this.listenerArray = [];
185
185
  this._error_codes = error_codes;
@@ -189,17 +189,20 @@ var BaseAPI = (function () {
189
189
  this.apiLogLevel = this.settings.logLevel;
190
190
  this.selfReportSessionTime = this.settings.selfReportSessionTime;
191
191
  if (this.apiLogLevel === undefined) {
192
- this.apiLogLevel = enums/* LogLevelEnum */.Mb.NONE;
192
+ this.apiLogLevel = enums.LogLevelEnum.NONE;
193
193
  }
194
194
  }
195
195
  BaseAPI.prototype.commonReset = function (settings) {
196
- this.settings = (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, this.settings), settings);
197
- this.currentState = api_constants/* default */.A.global.STATE_NOT_INITIALIZED;
196
+ this.apiLog("reset", "Called", enums.LogLevelEnum.INFO);
197
+ this.settings = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this.settings), settings);
198
+ this.clearScheduledCommit();
199
+ this.currentState = api_constants.global_constants.STATE_NOT_INITIALIZED;
198
200
  this.lastErrorCode = "0";
199
201
  this.listenerArray = [];
202
+ this.startingData = undefined;
200
203
  };
201
204
  BaseAPI.prototype.initialize = function (callbackName, initializeMessage, terminationMessage) {
202
- var returnValue = api_constants/* default */.A.global.SCORM_FALSE;
205
+ var returnValue = api_constants.global_constants.SCORM_FALSE;
203
206
  if (this.isInitialized()) {
204
207
  this.throwSCORMError(this._error_codes.INITIALIZED, initializeMessage);
205
208
  }
@@ -210,17 +213,17 @@ var BaseAPI = (function () {
210
213
  if (this.selfReportSessionTime) {
211
214
  this.cmi.setStartTime();
212
215
  }
213
- this.currentState = api_constants/* default */.A.global.STATE_INITIALIZED;
216
+ this.currentState = api_constants.global_constants.STATE_INITIALIZED;
214
217
  this.lastErrorCode = "0";
215
- returnValue = api_constants/* default */.A.global.SCORM_TRUE;
218
+ returnValue = api_constants.global_constants.SCORM_TRUE;
216
219
  this.processListeners(callbackName);
217
220
  }
218
- this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
221
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
219
222
  this.clearSCORMError(returnValue);
220
223
  return returnValue;
221
224
  };
222
225
  BaseAPI.prototype.apiLog = function (functionName, logMessage, messageLevel, CMIElement) {
223
- logMessage = (0,utilities/* formatMessage */.hw)(functionName, logMessage, CMIElement);
226
+ logMessage = (0,utilities.formatMessage)(functionName, logMessage, CMIElement);
224
227
  if (messageLevel >= this.apiLogLevel) {
225
228
  this.settings.onLogMessage(messageLevel, logMessage);
226
229
  }
@@ -237,20 +240,20 @@ var BaseAPI = (function () {
237
240
  return this._settings;
238
241
  },
239
242
  set: function (settings) {
240
- this._settings = (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, this._settings), settings);
243
+ this._settings = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this._settings), settings);
241
244
  },
242
245
  enumerable: false,
243
246
  configurable: true
244
247
  });
245
248
  BaseAPI.prototype.terminate = function (callbackName, checkTerminated) {
246
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
249
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
247
250
  var returnValue, result;
248
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
251
+ return (0,tslib_es6.__generator)(this, function (_a) {
249
252
  switch (_a.label) {
250
253
  case 0:
251
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
254
+ returnValue = api_constants.global_constants.SCORM_FALSE;
252
255
  if (!this.checkState(checkTerminated, this._error_codes.TERMINATION_BEFORE_INIT, this._error_codes.MULTIPLE_TERMINATION)) return [3, 2];
253
- this.currentState = api_constants/* default */.A.global.STATE_TERMINATED;
256
+ this.currentState = api_constants.global_constants.STATE_TERMINATED;
254
257
  return [4, this.storeData(true)];
255
258
  case 1:
256
259
  result = _a.sent();
@@ -260,14 +263,14 @@ var BaseAPI = (function () {
260
263
  returnValue =
261
264
  typeof result !== "undefined" && result.result
262
265
  ? result.result
263
- : api_constants/* default */.A.global.SCORM_FALSE;
266
+ : api_constants.global_constants.SCORM_FALSE;
264
267
  if (checkTerminated)
265
268
  this.lastErrorCode = "0";
266
- returnValue = api_constants/* default */.A.global.SCORM_TRUE;
269
+ returnValue = api_constants.global_constants.SCORM_TRUE;
267
270
  this.processListeners(callbackName);
268
271
  _a.label = 2;
269
272
  case 2:
270
- this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
273
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
271
274
  this.clearSCORMError(returnValue);
272
275
  return [2, returnValue];
273
276
  }
@@ -287,7 +290,7 @@ var BaseAPI = (function () {
287
290
  }
288
291
  this.processListeners(callbackName, CMIElement);
289
292
  }
290
- this.apiLog(callbackName, ": returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO, CMIElement);
293
+ this.apiLog(callbackName, ": returned: " + returnValue, enums.LogLevelEnum.INFO, CMIElement);
291
294
  if (returnValue === undefined) {
292
295
  return "";
293
296
  }
@@ -298,7 +301,7 @@ var BaseAPI = (function () {
298
301
  if (value !== undefined) {
299
302
  value = String(value);
300
303
  }
301
- var returnValue = api_constants/* default */.A.global.SCORM_FALSE;
304
+ var returnValue = api_constants.global_constants.SCORM_FALSE;
302
305
  if (this.checkState(checkTerminated, this._error_codes.STORE_BEFORE_INIT, this._error_codes.STORE_AFTER_TERM)) {
303
306
  if (checkTerminated)
304
307
  this.lastErrorCode = "0";
@@ -311,26 +314,26 @@ var BaseAPI = (function () {
311
314
  this.processListeners(callbackName, CMIElement, value);
312
315
  }
313
316
  if (returnValue === undefined) {
314
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
317
+ returnValue = api_constants.global_constants.SCORM_FALSE;
315
318
  }
316
319
  if (String(this.lastErrorCode) === "0") {
317
320
  if (this.settings.autocommit) {
318
321
  this.scheduleCommit(this.settings.autocommitSeconds * 1000, commitCallback);
319
322
  }
320
323
  }
321
- this.apiLog(callbackName, ": " + value + ": result: " + returnValue, enums/* LogLevelEnum */.Mb.INFO, CMIElement);
324
+ this.apiLog(callbackName, ": " + value + ": result: " + returnValue, enums.LogLevelEnum.INFO, CMIElement);
322
325
  this.clearSCORMError(returnValue);
323
326
  return returnValue;
324
327
  };
325
328
  BaseAPI.prototype.commit = function (callbackName_1) {
326
- return (0,tslib_es6/* __awaiter */.sH)(this, arguments, void 0, function (callbackName, checkTerminated) {
329
+ return (0,tslib_es6.__awaiter)(this, arguments, void 0, function (callbackName, checkTerminated) {
327
330
  var returnValue, result;
328
331
  if (checkTerminated === void 0) { checkTerminated = false; }
329
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
332
+ return (0,tslib_es6.__generator)(this, function (_a) {
330
333
  switch (_a.label) {
331
334
  case 0:
332
335
  this.clearScheduledCommit();
333
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
336
+ returnValue = api_constants.global_constants.SCORM_FALSE;
334
337
  if (!this.checkState(checkTerminated, this._error_codes.COMMIT_BEFORE_INIT, this._error_codes.COMMIT_AFTER_TERM)) return [3, 2];
335
338
  return [4, this.storeData(false)];
336
339
  case 1:
@@ -341,14 +344,14 @@ var BaseAPI = (function () {
341
344
  returnValue =
342
345
  typeof result !== "undefined" && result.result
343
346
  ? result.result
344
- : api_constants/* default */.A.global.SCORM_FALSE;
345
- this.apiLog(callbackName, " Result: " + returnValue, enums/* LogLevelEnum */.Mb.DEBUG, "HttpRequest");
347
+ : api_constants.global_constants.SCORM_FALSE;
348
+ this.apiLog(callbackName, " Result: " + returnValue, enums.LogLevelEnum.DEBUG, "HttpRequest");
346
349
  if (checkTerminated)
347
350
  this.lastErrorCode = "0";
348
351
  this.processListeners(callbackName);
349
352
  _a.label = 2;
350
353
  case 2:
351
- this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
354
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
352
355
  this.clearSCORMError(returnValue);
353
356
  return [2, returnValue];
354
357
  }
@@ -358,7 +361,7 @@ var BaseAPI = (function () {
358
361
  BaseAPI.prototype.getLastError = function (callbackName) {
359
362
  var returnValue = String(this.lastErrorCode);
360
363
  this.processListeners(callbackName);
361
- this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
364
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
362
365
  return returnValue;
363
366
  };
364
367
  BaseAPI.prototype.getErrorString = function (callbackName, CMIErrorCode) {
@@ -367,7 +370,7 @@ var BaseAPI = (function () {
367
370
  returnValue = this.getLmsErrorMessageDetails(CMIErrorCode);
368
371
  this.processListeners(callbackName);
369
372
  }
370
- this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
373
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
371
374
  return returnValue;
372
375
  };
373
376
  BaseAPI.prototype.getDiagnostic = function (callbackName, CMIErrorCode) {
@@ -376,7 +379,7 @@ var BaseAPI = (function () {
376
379
  returnValue = this.getLmsErrorMessageDetails(CMIErrorCode, true);
377
380
  this.processListeners(callbackName);
378
381
  }
379
- this.apiLog(callbackName, "returned: " + returnValue, enums/* LogLevelEnum */.Mb.INFO);
382
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
380
383
  return returnValue;
381
384
  };
382
385
  BaseAPI.prototype.checkState = function (checkTerminated, beforeInitError, afterTermError) {
@@ -402,11 +405,11 @@ var BaseAPI = (function () {
402
405
  };
403
406
  BaseAPI.prototype._commonSetCMIValue = function (methodName, scorm2004, CMIElement, value) {
404
407
  if (!CMIElement || CMIElement === "") {
405
- return api_constants/* default */.A.global.SCORM_FALSE;
408
+ return api_constants.global_constants.SCORM_FALSE;
406
409
  }
407
410
  var structure = CMIElement.split(".");
408
411
  var refObject = this;
409
- var returnValue = api_constants/* default */.A.global.SCORM_FALSE;
412
+ var returnValue = api_constants.global_constants.SCORM_FALSE;
410
413
  var foundFirstIndex = false;
411
414
  var invalidErrorMessage = "The data model element passed to ".concat(methodName, " (").concat(CMIElement, ") is not a valid SCORM data model element.");
412
415
  var invalidErrorCode = scorm2004
@@ -420,20 +423,20 @@ var BaseAPI = (function () {
420
423
  this.throwSCORMError(this._error_codes.READ_ONLY_ELEMENT);
421
424
  }
422
425
  else {
423
- refObject = (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, refObject), { attribute: value });
426
+ refObject = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, refObject), { attribute: value });
424
427
  }
425
428
  }
426
429
  else if (!this._checkObjectHasProperty(refObject, attribute)) {
427
430
  this.throwSCORMError(invalidErrorCode, invalidErrorMessage);
428
431
  }
429
432
  else {
430
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "\\.correct_responses\\.\\d+") &&
433
+ if ((0,utilities.stringMatches)(CMIElement, "\\.correct_responses\\.\\d+") &&
431
434
  this.isInitialized()) {
432
435
  this.validateCorrectResponse(CMIElement, value);
433
436
  }
434
437
  if (!scorm2004 || this.lastErrorCode === "0") {
435
438
  refObject[attribute] = value;
436
- returnValue = api_constants/* default */.A.global.SCORM_TRUE;
439
+ returnValue = api_constants.global_constants.SCORM_TRUE;
437
440
  }
438
441
  }
439
442
  }
@@ -443,7 +446,7 @@ var BaseAPI = (function () {
443
446
  this.throwSCORMError(invalidErrorCode, invalidErrorMessage);
444
447
  break;
445
448
  }
446
- if (refObject instanceof array/* CMIArray */.B) {
449
+ if (refObject instanceof array.CMIArray) {
447
450
  var index = parseInt(structure[idx + 1], 10);
448
451
  if (!isNaN(index)) {
449
452
  var item = refObject.childArray[index];
@@ -469,8 +472,8 @@ var BaseAPI = (function () {
469
472
  }
470
473
  }
471
474
  }
472
- if (returnValue === api_constants/* default */.A.global.SCORM_FALSE) {
473
- this.apiLog(methodName, "There was an error setting the value for: ".concat(CMIElement, ", value of: ").concat(value), enums/* LogLevelEnum */.Mb.WARN);
475
+ if (returnValue === api_constants.global_constants.SCORM_FALSE) {
476
+ this.apiLog(methodName, "There was an error setting the value for: ".concat(CMIElement, ", value of: ").concat(value), enums.LogLevelEnum.WARN);
474
477
  }
475
478
  return returnValue;
476
479
  };
@@ -512,7 +515,7 @@ var BaseAPI = (function () {
512
515
  this.throwSCORMError(invalidErrorCode, invalidErrorMessage);
513
516
  break;
514
517
  }
515
- if (refObject instanceof array/* CMIArray */.B) {
518
+ if (refObject instanceof array.CMIArray) {
516
519
  var index = parseInt(structure[idx + 1], 10);
517
520
  if (!isNaN(index)) {
518
521
  var item = refObject.childArray[index];
@@ -530,10 +533,10 @@ var BaseAPI = (function () {
530
533
  if (refObject === null || refObject === undefined) {
531
534
  if (!scorm2004) {
532
535
  if (attribute === "_children") {
533
- this.throwSCORMError(error_codes/* default */.A.scorm12.CHILDREN_ERROR);
536
+ this.throwSCORMError(this._error_codes.CHILDREN_ERROR);
534
537
  }
535
538
  else if (attribute === "_count") {
536
- this.throwSCORMError(error_codes/* default */.A.scorm12.COUNT_ERROR);
539
+ this.throwSCORMError(this._error_codes.COUNT_ERROR);
537
540
  }
538
541
  }
539
542
  }
@@ -542,13 +545,13 @@ var BaseAPI = (function () {
542
545
  }
543
546
  };
544
547
  BaseAPI.prototype.isInitialized = function () {
545
- return this.currentState === api_constants/* default */.A.global.STATE_INITIALIZED;
548
+ return this.currentState === api_constants.global_constants.STATE_INITIALIZED;
546
549
  };
547
550
  BaseAPI.prototype.isNotInitialized = function () {
548
- return this.currentState === api_constants/* default */.A.global.STATE_NOT_INITIALIZED;
551
+ return this.currentState === api_constants.global_constants.STATE_NOT_INITIALIZED;
549
552
  };
550
553
  BaseAPI.prototype.isTerminated = function () {
551
- return this.currentState === api_constants/* default */.A.global.STATE_TERMINATED;
554
+ return this.currentState === api_constants.global_constants.STATE_TERMINATED;
552
555
  };
553
556
  BaseAPI.prototype.on = function (listenerName, callback) {
554
557
  if (!callback)
@@ -568,7 +571,7 @@ var BaseAPI = (function () {
568
571
  CMIElement: CMIElement,
569
572
  callback: callback,
570
573
  });
571
- this.apiLog("on", "Added event listener: ".concat(this.listenerArray.length), enums/* LogLevelEnum */.Mb.INFO, functionName);
574
+ this.apiLog("on", "Added event listener: ".concat(this.listenerArray.length), enums.LogLevelEnum.INFO, functionName);
572
575
  }
573
576
  };
574
577
  BaseAPI.prototype.off = function (listenerName, callback) {
@@ -591,7 +594,7 @@ var BaseAPI = (function () {
591
594
  });
592
595
  if (removeIndex !== -1) {
593
596
  this_1.listenerArray.splice(removeIndex, 1);
594
- this_1.apiLog("off", "Removed event listener: ".concat(this_1.listenerArray.length), enums/* LogLevelEnum */.Mb.INFO, functionName);
597
+ this_1.apiLog("off", "Removed event listener: ".concat(this_1.listenerArray.length), enums.LogLevelEnum.INFO, functionName);
595
598
  }
596
599
  };
597
600
  var this_1 = this;
@@ -624,7 +627,7 @@ var BaseAPI = (function () {
624
627
  }
625
628
  };
626
629
  BaseAPI.prototype.processListeners = function (functionName, CMIElement, value) {
627
- this.apiLog(functionName, value, enums/* LogLevelEnum */.Mb.INFO, CMIElement);
630
+ this.apiLog(functionName, value, enums.LogLevelEnum.INFO, CMIElement);
628
631
  for (var i = 0; i < this.listenerArray.length; i++) {
629
632
  var listener = this.listenerArray[i];
630
633
  var functionsMatch = listener.functionName === functionName;
@@ -640,7 +643,7 @@ var BaseAPI = (function () {
640
643
  CMIElementsMatch = listener.CMIElement === CMIElement;
641
644
  }
642
645
  if (functionsMatch && (!listenerHasCMIElement || CMIElementsMatch)) {
643
- this.apiLog("processListeners", "Processing listener: ".concat(listener.functionName), enums/* LogLevelEnum */.Mb.INFO, CMIElement);
646
+ this.apiLog("processListeners", "Processing listener: ".concat(listener.functionName), enums.LogLevelEnum.INFO, CMIElement);
644
647
  listener.callback(CMIElement, value);
645
648
  }
646
649
  }
@@ -649,11 +652,11 @@ var BaseAPI = (function () {
649
652
  if (!message) {
650
653
  message = this.getLmsErrorMessageDetails(errorNumber);
651
654
  }
652
- this.apiLog("throwSCORMError", errorNumber + ": " + message, enums/* LogLevelEnum */.Mb.ERROR);
655
+ this.apiLog("throwSCORMError", errorNumber + ": " + message, enums.LogLevelEnum.ERROR);
653
656
  this.lastErrorCode = String(errorNumber);
654
657
  };
655
658
  BaseAPI.prototype.clearSCORMError = function (success) {
656
- if (success !== undefined && success !== api_constants/* default */.A.global.SCORM_FALSE) {
659
+ if (success !== undefined && success !== api_constants.global_constants.SCORM_FALSE) {
657
660
  this.lastErrorCode = "0";
658
661
  }
659
662
  };
@@ -719,11 +722,16 @@ var BaseAPI = (function () {
719
722
  result.forEach(function (element) {
720
723
  obj = {};
721
724
  obj[element[0]] = element[1];
722
- _this.loadFromJSON((0,utilities/* unflatten */.sB)(obj), CMIElement);
725
+ _this.loadFromJSON((0,utilities.unflatten)(obj), CMIElement);
723
726
  });
724
727
  };
725
728
  BaseAPI.prototype.loadFromJSON = function (json, CMIElement) {
726
729
  if (CMIElement === void 0) { CMIElement = ""; }
730
+ if ((!CMIElement || CMIElement === "") &&
731
+ !Object.hasOwnProperty.call(json, "cmi") &&
732
+ !Object.hasOwnProperty.call(json, "adl")) {
733
+ CMIElement = "cmi";
734
+ }
727
735
  if (!this.isNotInitialized()) {
728
736
  console.error("loadFromJSON can only be called before the call to lmsInitialize.");
729
737
  return;
@@ -759,21 +767,21 @@ var BaseAPI = (function () {
759
767
  return JSON.parse(this.renderCMIToJSONString());
760
768
  };
761
769
  BaseAPI.prototype.processHttpRequest = function (url_1, params_1) {
762
- return (0,tslib_es6/* __awaiter */.sH)(this, arguments, void 0, function (url, params, immediate) {
770
+ return (0,tslib_es6.__awaiter)(this, arguments, void 0, function (url, params, immediate) {
763
771
  var api, genericError, process;
764
772
  var _this = this;
765
773
  if (immediate === void 0) { immediate = false; }
766
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
774
+ return (0,tslib_es6.__generator)(this, function (_a) {
767
775
  switch (_a.label) {
768
776
  case 0:
769
777
  api = this;
770
778
  genericError = {
771
- result: api_constants/* default */.A.global.SCORM_FALSE,
779
+ result: api_constants.global_constants.SCORM_FALSE,
772
780
  errorCode: this.error_codes.GENERAL,
773
781
  };
774
782
  if (immediate) {
775
- this.performFetch(url, params).then(function (response) { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
776
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
783
+ this.performFetch(url, params).then(function (response) { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
784
+ return (0,tslib_es6.__generator)(this, function (_a) {
777
785
  switch (_a.label) {
778
786
  case 0: return [4, this.transformResponse(response)];
779
787
  case 1:
@@ -783,13 +791,13 @@ var BaseAPI = (function () {
783
791
  });
784
792
  }); });
785
793
  return [2, {
786
- result: api_constants/* default */.A.global.SCORM_TRUE,
794
+ result: api_constants.global_constants.SCORM_TRUE,
787
795
  errorCode: 0,
788
796
  }];
789
797
  }
790
- process = function (url, params, settings) { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
798
+ process = function (url, params, settings) { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
791
799
  var response, e_1;
792
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
800
+ return (0,tslib_es6.__generator)(this, function (_a) {
793
801
  switch (_a.label) {
794
802
  case 0:
795
803
  _a.trys.push([0, 2, , 3]);
@@ -800,7 +808,7 @@ var BaseAPI = (function () {
800
808
  return [2, this.transformResponse(response)];
801
809
  case 2:
802
810
  e_1 = _a.sent();
803
- this.apiLog("processHttpRequest", e_1, enums/* LogLevelEnum */.Mb.ERROR);
811
+ this.apiLog("processHttpRequest", e_1, enums.LogLevelEnum.ERROR);
804
812
  api.processListeners("CommitError");
805
813
  return [2, genericError];
806
814
  case 3: return [2];
@@ -816,14 +824,14 @@ var BaseAPI = (function () {
816
824
  BaseAPI.prototype.scheduleCommit = function (when, callback) {
817
825
  if (!this._timeout) {
818
826
  this._timeout = new ScheduledCommit(this, when, callback);
819
- this.apiLog("scheduleCommit", "scheduled", enums/* LogLevelEnum */.Mb.DEBUG, "");
827
+ this.apiLog("scheduleCommit", "scheduled", enums.LogLevelEnum.DEBUG, "");
820
828
  }
821
829
  };
822
830
  BaseAPI.prototype.clearScheduledCommit = function () {
823
831
  if (this._timeout) {
824
832
  this._timeout.cancel();
825
833
  this._timeout = undefined;
826
- this.apiLog("clearScheduledCommit", "cleared", enums/* LogLevelEnum */.Mb.DEBUG, "");
834
+ this.apiLog("clearScheduledCommit", "cleared", enums.LogLevelEnum.DEBUG, "");
827
835
  }
828
836
  };
829
837
  BaseAPI.prototype._checkObjectHasProperty = function (refObject, attribute) {
@@ -832,9 +840,9 @@ var BaseAPI = (function () {
832
840
  attribute in refObject);
833
841
  };
834
842
  BaseAPI.prototype.handleValueAccessException = function (e, returnValue) {
835
- if (e instanceof exceptions/* ValidationError */.yI) {
843
+ if (e instanceof exceptions.ValidationError) {
836
844
  this.lastErrorCode = String(e.errorCode);
837
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
845
+ returnValue = api_constants.global_constants.SCORM_FALSE;
838
846
  }
839
847
  else {
840
848
  if (e instanceof Error && e.message) {
@@ -852,20 +860,20 @@ var BaseAPI = (function () {
852
860
  var commitObject = this.settings.renderCommonCommitFields
853
861
  ? this.renderCommitObject(shouldTerminateCommit)
854
862
  : this.renderCommitCMI(shouldTerminateCommit);
855
- if ([enums/* LogLevelEnum */.Mb.DEBUG, "1", 1, "DEBUG"].includes(this.apiLogLevel)) {
863
+ if ([enums.LogLevelEnum.DEBUG, "1", 1, "DEBUG"].includes(this.apiLogLevel)) {
856
864
  console.debug("Commit (terminated: " + (terminateCommit ? "yes" : "no") + "): ");
857
865
  console.debug(commitObject);
858
866
  }
859
867
  return commitObject;
860
868
  };
861
869
  BaseAPI.prototype.performFetch = function (url, params) {
862
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
863
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
870
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
871
+ return (0,tslib_es6.__generator)(this, function (_a) {
864
872
  return [2, fetch(url, {
865
873
  method: "POST",
866
874
  mode: this.settings.fetchMode,
867
875
  body: params instanceof Array ? params.join("&") : JSON.stringify(params),
868
- headers: (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, this.settings.xhrHeaders), { "Content-Type": this.settings.commitRequestDataType }),
876
+ headers: (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this.settings.xhrHeaders), { "Content-Type": this.settings.commitRequestDataType }),
869
877
  credentials: this.settings.xhrWithCredentials ? "include" : undefined,
870
878
  keepalive: true,
871
879
  })];
@@ -873,9 +881,9 @@ var BaseAPI = (function () {
873
881
  });
874
882
  };
875
883
  BaseAPI.prototype.transformResponse = function (response) {
876
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
884
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
877
885
  var result, _a;
878
- return (0,tslib_es6/* __generator */.YH)(this, function (_c) {
886
+ return (0,tslib_es6.__generator)(this, function (_c) {
879
887
  switch (_c.label) {
880
888
  case 0:
881
889
  if (!(typeof this.settings.responseHandler === "function")) return [3, 2];
@@ -891,8 +899,7 @@ var BaseAPI = (function () {
891
899
  result = _a;
892
900
  if (response.status >= 200 &&
893
901
  response.status <= 299 &&
894
- (result.result === true ||
895
- result.result === api_constants/* default */.A.global.SCORM_TRUE)) {
902
+ (result.result === true || result.result === api_constants.global_constants.SCORM_TRUE)) {
896
903
  this.processListeners("CommitSuccess");
897
904
  }
898
905
  else {
@@ -913,29 +920,40 @@ var BaseAPI = (function () {
913
920
  /***/ 589:
914
921
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
915
922
 
923
+ __webpack_require__.r(__webpack_exports__);
916
924
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
917
- /* harmony export */ B: function() { return /* binding */ CMIArray; }
925
+ /* harmony export */ CMIArray: function() { return /* binding */ CMIArray; }
918
926
  /* harmony export */ });
919
- /* unused harmony export scorm12_error_codes */
920
927
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(635);
921
928
  /* harmony import */ var _base_cmi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(319);
922
- /* harmony import */ var _constants_error_codes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(797);
923
- /* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(784);
929
+ /* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(784);
930
+ /* harmony import */ var _constants_error_codes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(797);
924
931
 
925
932
 
926
933
 
927
934
 
928
- var scorm12_error_codes = _constants_error_codes__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.scorm12;
929
935
  var CMIArray = (function (_super) {
930
- (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__extends */ .C6)(CMIArray, _super);
936
+ (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__extends)(CMIArray, _super);
931
937
  function CMIArray(params) {
932
938
  var _this = _super.call(this) || this;
933
939
  _this.__children = params.children;
934
- _this._errorCode = params.errorCode || scorm12_error_codes.GENERAL;
935
- _this._errorClass = params.errorClass || _exceptions__WEBPACK_IMPORTED_MODULE_2__/* .BaseScormValidationError */ .$h;
940
+ _this._errorCode = params.errorCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_2__.scorm12_errors.GENERAL;
941
+ _this._errorClass = params.errorClass || _exceptions__WEBPACK_IMPORTED_MODULE_1__.BaseScormValidationError;
936
942
  _this.childArray = [];
937
943
  return _this;
938
944
  }
945
+ CMIArray.prototype.reset = function (wipe) {
946
+ if (wipe === void 0) { wipe = false; }
947
+ this._initialized = false;
948
+ if (wipe) {
949
+ this.childArray = [];
950
+ }
951
+ else {
952
+ for (var i = 0; i < this.childArray.length; i++) {
953
+ this.childArray[i].reset();
954
+ }
955
+ }
956
+ };
939
957
  Object.defineProperty(CMIArray.prototype, "_children", {
940
958
  get: function () {
941
959
  return this.__children;
@@ -966,7 +984,7 @@ var CMIArray = (function (_super) {
966
984
  return result;
967
985
  };
968
986
  return CMIArray;
969
- }(_base_cmi__WEBPACK_IMPORTED_MODULE_0__/* .BaseCMI */ .J));
987
+ }(_base_cmi__WEBPACK_IMPORTED_MODULE_0__.BaseCMI));
970
988
 
971
989
 
972
990
 
@@ -975,9 +993,10 @@ var CMIArray = (function (_super) {
975
993
  /***/ 319:
976
994
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
977
995
 
996
+ __webpack_require__.r(__webpack_exports__);
978
997
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
979
- /* harmony export */ J: function() { return /* binding */ BaseCMI; },
980
- /* harmony export */ r: function() { return /* binding */ BaseRootCMI; }
998
+ /* harmony export */ BaseCMI: function() { return /* binding */ BaseCMI; },
999
+ /* harmony export */ BaseRootCMI: function() { return /* binding */ BaseRootCMI; }
981
1000
  /* harmony export */ });
982
1001
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
983
1002
 
@@ -1010,7 +1029,7 @@ var BaseCMI = (function () {
1010
1029
  }());
1011
1030
 
1012
1031
  var BaseRootCMI = (function (_super) {
1013
- (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__extends */ .C6)(BaseRootCMI, _super);
1032
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(BaseRootCMI, _super);
1014
1033
  function BaseRootCMI() {
1015
1034
  return _super !== null && _super.apply(this, arguments) || this;
1016
1035
  }
@@ -1024,10 +1043,10 @@ var BaseRootCMI = (function (_super) {
1024
1043
  /***/ 434:
1025
1044
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1026
1045
 
1046
+ __webpack_require__.r(__webpack_exports__);
1027
1047
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1028
- /* harmony export */ _: function() { return /* binding */ CMIScore; }
1048
+ /* harmony export */ CMIScore: function() { return /* binding */ CMIScore; }
1029
1049
  /* harmony export */ });
1030
- /* unused harmony export scorm12_error_codes */
1031
1050
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(635);
1032
1051
  /* harmony import */ var _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(340);
1033
1052
  /* harmony import */ var _constants_regex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(417);
@@ -1040,30 +1059,30 @@ var BaseRootCMI = (function (_super) {
1040
1059
 
1041
1060
 
1042
1061
 
1043
- var scorm12_constants = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.scorm12;
1044
- var scorm12_regex = _constants_regex__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.scorm12;
1045
- var scorm12_error_codes = _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.scorm12;
1046
1062
  var CMIScore = (function (_super) {
1047
- (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__extends */ .C6)(CMIScore, _super);
1063
+ (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CMIScore, _super);
1048
1064
  function CMIScore(params) {
1049
1065
  var _this = _super.call(this) || this;
1050
1066
  _this._raw = "";
1051
1067
  _this._min = "";
1052
- _this.__children = params.score_children || scorm12_constants.score_children;
1068
+ _this.__children = params.score_children || _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__.scorm12_constants.score_children;
1053
1069
  _this.__score_range = !params.score_range
1054
1070
  ? false
1055
- : scorm12_regex.score_range;
1071
+ : _constants_regex__WEBPACK_IMPORTED_MODULE_1__.scorm12_regex.score_range;
1056
1072
  _this._max = params.max || params.max === "" ? params.max : "100";
1057
1073
  _this.__invalid_error_code =
1058
- params.invalidErrorCode || scorm12_error_codes.INVALID_SET_VALUE;
1074
+ params.invalidErrorCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.INVALID_SET_VALUE;
1059
1075
  _this.__invalid_type_code =
1060
- params.invalidTypeCode || scorm12_error_codes.TYPE_MISMATCH;
1076
+ params.invalidTypeCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.TYPE_MISMATCH;
1061
1077
  _this.__invalid_range_code =
1062
- params.invalidRangeCode || scorm12_error_codes.VALUE_OUT_OF_RANGE;
1063
- _this.__decimal_regex = params.decimalRegex || scorm12_regex.CMIDecimal;
1078
+ params.invalidRangeCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.VALUE_OUT_OF_RANGE;
1079
+ _this.__decimal_regex = params.decimalRegex || _constants_regex__WEBPACK_IMPORTED_MODULE_1__.scorm12_regex.CMIDecimal;
1064
1080
  _this.__error_class = params.errorClass;
1065
1081
  return _this;
1066
1082
  }
1083
+ CMIScore.prototype.reset = function () {
1084
+ this._initialized = false;
1085
+ };
1067
1086
  Object.defineProperty(CMIScore.prototype, "_children", {
1068
1087
  get: function () {
1069
1088
  return this.__children;
@@ -1079,9 +1098,9 @@ var CMIScore = (function (_super) {
1079
1098
  return this._raw;
1080
1099
  },
1081
1100
  set: function (raw) {
1082
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidFormat */ .q)(raw, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1101
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(raw, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1083
1102
  (!this.__score_range ||
1084
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidRange */ .W)(raw, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1103
+ (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(raw, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1085
1104
  this._raw = raw;
1086
1105
  }
1087
1106
  },
@@ -1093,9 +1112,9 @@ var CMIScore = (function (_super) {
1093
1112
  return this._min;
1094
1113
  },
1095
1114
  set: function (min) {
1096
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidFormat */ .q)(min, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1115
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(min, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1097
1116
  (!this.__score_range ||
1098
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidRange */ .W)(min, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1117
+ (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(min, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1099
1118
  this._min = min;
1100
1119
  }
1101
1120
  },
@@ -1107,9 +1126,9 @@ var CMIScore = (function (_super) {
1107
1126
  return this._max;
1108
1127
  },
1109
1128
  set: function (max) {
1110
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidFormat */ .q)(max, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1129
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(max, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1111
1130
  (!this.__score_range ||
1112
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidRange */ .W)(max, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1131
+ (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(max, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1113
1132
  this._max = max;
1114
1133
  }
1115
1134
  },
@@ -1127,7 +1146,7 @@ var CMIScore = (function (_super) {
1127
1146
  return result;
1128
1147
  };
1129
1148
  return CMIScore;
1130
- }(_base_cmi__WEBPACK_IMPORTED_MODULE_2__/* .BaseCMI */ .J));
1149
+ }(_base_cmi__WEBPACK_IMPORTED_MODULE_2__.BaseCMI));
1131
1150
 
1132
1151
 
1133
1152
 
@@ -1136,9 +1155,10 @@ var CMIScore = (function (_super) {
1136
1155
  /***/ 449:
1137
1156
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1138
1157
 
1158
+ __webpack_require__.r(__webpack_exports__);
1139
1159
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1140
- /* harmony export */ W: function() { return /* binding */ checkValidRange; },
1141
- /* harmony export */ q: function() { return /* binding */ checkValidFormat; }
1160
+ /* harmony export */ checkValidFormat: function() { return /* binding */ checkValidFormat; },
1161
+ /* harmony export */ checkValidRange: function() { return /* binding */ checkValidRange; }
1142
1162
  /* harmony export */ });
1143
1163
  function checkValidFormat(value, regexPattern, errorCode, errorClass, allowEmptyString) {
1144
1164
  if (typeof value !== "string") {
@@ -1176,16 +1196,23 @@ function checkValidRange(value, rangePattern, errorCode, errorClass) {
1176
1196
  /***/ 340:
1177
1197
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1178
1198
 
1199
+ __webpack_require__.r(__webpack_exports__);
1200
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1201
+ /* harmony export */ aicc_constants: function() { return /* binding */ aicc_constants; },
1202
+ /* harmony export */ global_constants: function() { return /* binding */ global_constants; },
1203
+ /* harmony export */ scorm12_constants: function() { return /* binding */ scorm12_constants; },
1204
+ /* harmony export */ scorm2004_constants: function() { return /* binding */ scorm2004_constants; }
1205
+ /* harmony export */ });
1179
1206
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1180
1207
 
1181
- var global = {
1208
+ var global_constants = {
1182
1209
  SCORM_TRUE: "true",
1183
1210
  SCORM_FALSE: "false",
1184
1211
  STATE_NOT_INITIALIZED: 0,
1185
1212
  STATE_INITIALIZED: 1,
1186
1213
  STATE_TERMINATED: 2,
1187
1214
  };
1188
- var scorm12 = {
1215
+ var scorm12_constants = {
1189
1216
  cmi_children: "core,suspend_data,launch_data,comments,objectives,student_data,student_preference,interactions",
1190
1217
  core_children: "student_id,student_name,lesson_location,credit,lesson_status,entry,score,total_time,lesson_mode,exit,session_time",
1191
1218
  score_children: "raw,min,max",
@@ -1246,7 +1273,7 @@ var scorm12 = {
1246
1273
  },
1247
1274
  },
1248
1275
  };
1249
- var aicc = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)({}, scorm12), {
1276
+ var aicc_constants = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, scorm12_constants), {
1250
1277
  cmi_children: "core,suspend_data,launch_data,comments,objectives,student_data,student_preference,interactions,evaluation",
1251
1278
  student_preference_children: "audio,language,lesson_type,speed,text,text_color,text_location,text_size,video,windows",
1252
1279
  student_data_children: "attempt_number,tries,mastery_score,max_time_allowed,time_limit_action",
@@ -1255,7 +1282,7 @@ var aicc = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__W
1255
1282
  attempt_records_children: "score,lesson_status",
1256
1283
  paths_children: "location_id,date,time,status,why_left,time_in_element",
1257
1284
  });
1258
- var scorm2004 = {
1285
+ var scorm2004_constants = {
1259
1286
  cmi_children: "_version,comments_from_learner,comments_from_lms,completion_status,credit,entry,exit,interactions,launch_data,learner_id,learner_name,learner_preference,location,max_time_allowed,mode,objectives,progress_measure,scaled_passing_score,score,session_time,success_status,suspend_data,time_limit_action,total_time",
1260
1287
  comments_children: "comment,timestamp,location",
1261
1288
  score_children: "max,raw,scaled,min",
@@ -1264,6 +1291,7 @@ var scorm2004 = {
1264
1291
  student_data_children: "mastery_score,max_time_allowed,time_limit_action",
1265
1292
  student_preference_children: "audio_level,audio_captioning,delivery_speed,language",
1266
1293
  interactions_children: "id,type,objectives,timestamp,correct_responses,weighting,learner_response,result,latency,description",
1294
+ adl_data_children: "id,store",
1267
1295
  error_descriptions: {
1268
1296
  "0": {
1269
1297
  basicMessage: "No Error",
@@ -1371,13 +1399,6 @@ var scorm2004 = {
1371
1399
  },
1372
1400
  },
1373
1401
  };
1374
- var APIConstants = {
1375
- global: global,
1376
- scorm12: scorm12,
1377
- aicc: aicc,
1378
- scorm2004: scorm2004,
1379
- };
1380
- /* harmony default export */ __webpack_exports__.A = (APIConstants);
1381
1402
 
1382
1403
 
1383
1404
  /***/ }),
@@ -1385,11 +1406,12 @@ var APIConstants = {
1385
1406
  /***/ 56:
1386
1407
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1387
1408
 
1409
+ __webpack_require__.r(__webpack_exports__);
1388
1410
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1389
- /* harmony export */ K$: function() { return /* binding */ NAVBoolean; },
1390
- /* harmony export */ Mb: function() { return /* binding */ LogLevelEnum; },
1391
- /* harmony export */ YE: function() { return /* binding */ SuccessStatus; },
1392
- /* harmony export */ lC: function() { return /* binding */ CompletionStatus; }
1411
+ /* harmony export */ CompletionStatus: function() { return /* binding */ CompletionStatus; },
1412
+ /* harmony export */ LogLevelEnum: function() { return /* binding */ LogLevelEnum; },
1413
+ /* harmony export */ NAVBoolean: function() { return /* binding */ NAVBoolean; },
1414
+ /* harmony export */ SuccessStatus: function() { return /* binding */ SuccessStatus; }
1393
1415
  /* harmony export */ });
1394
1416
  var NAVBoolean;
1395
1417
  (function (NAVBoolean) {
@@ -1425,9 +1447,15 @@ var LogLevelEnum;
1425
1447
  /***/ 797:
1426
1448
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1427
1449
 
1450
+ __webpack_require__.r(__webpack_exports__);
1451
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1452
+ /* harmony export */ global_errors: function() { return /* binding */ global_errors; },
1453
+ /* harmony export */ scorm12_errors: function() { return /* binding */ scorm12_errors; },
1454
+ /* harmony export */ scorm2004_errors: function() { return /* binding */ scorm2004_errors; }
1455
+ /* harmony export */ });
1428
1456
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1429
1457
 
1430
- var global = {
1458
+ var global_errors = {
1431
1459
  GENERAL: 101,
1432
1460
  INITIALIZATION_FAILED: 101,
1433
1461
  INITIALIZED: 101,
@@ -1457,13 +1485,8 @@ var global = {
1457
1485
  VALUE_OUT_OF_RANGE: 101,
1458
1486
  DEPENDENCY_NOT_ESTABLISHED: 101,
1459
1487
  };
1460
- var scorm12 = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)({}, global), { RETRIEVE_BEFORE_INIT: 301, STORE_BEFORE_INIT: 301, COMMIT_BEFORE_INIT: 301, ARGUMENT_ERROR: 201, CHILDREN_ERROR: 202, COUNT_ERROR: 203, UNDEFINED_DATA_MODEL: 401, UNIMPLEMENTED_ELEMENT: 401, VALUE_NOT_INITIALIZED: 301, INVALID_SET_VALUE: 402, READ_ONLY_ELEMENT: 403, WRITE_ONLY_ELEMENT: 404, TYPE_MISMATCH: 405, VALUE_OUT_OF_RANGE: 407, DEPENDENCY_NOT_ESTABLISHED: 408 });
1461
- var scorm2004 = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)({}, global), { INITIALIZATION_FAILED: 102, INITIALIZED: 103, TERMINATED: 104, TERMINATION_FAILURE: 111, TERMINATION_BEFORE_INIT: 112, MULTIPLE_TERMINATIONS: 113, RETRIEVE_BEFORE_INIT: 122, RETRIEVE_AFTER_TERM: 123, STORE_BEFORE_INIT: 132, STORE_AFTER_TERM: 133, COMMIT_BEFORE_INIT: 142, COMMIT_AFTER_TERM: 143, ARGUMENT_ERROR: 201, GENERAL_GET_FAILURE: 301, GENERAL_SET_FAILURE: 351, GENERAL_COMMIT_FAILURE: 391, UNDEFINED_DATA_MODEL: 401, UNIMPLEMENTED_ELEMENT: 402, VALUE_NOT_INITIALIZED: 403, READ_ONLY_ELEMENT: 404, WRITE_ONLY_ELEMENT: 405, TYPE_MISMATCH: 406, VALUE_OUT_OF_RANGE: 407, DEPENDENCY_NOT_ESTABLISHED: 408 });
1462
- var ErrorCodes = {
1463
- scorm12: scorm12,
1464
- scorm2004: scorm2004,
1465
- };
1466
- /* harmony default export */ __webpack_exports__.A = (ErrorCodes);
1488
+ var scorm12_errors = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, global_errors), { RETRIEVE_BEFORE_INIT: 301, STORE_BEFORE_INIT: 301, COMMIT_BEFORE_INIT: 301, ARGUMENT_ERROR: 201, CHILDREN_ERROR: 202, COUNT_ERROR: 203, UNDEFINED_DATA_MODEL: 401, UNIMPLEMENTED_ELEMENT: 401, VALUE_NOT_INITIALIZED: 301, INVALID_SET_VALUE: 402, READ_ONLY_ELEMENT: 403, WRITE_ONLY_ELEMENT: 404, TYPE_MISMATCH: 405, VALUE_OUT_OF_RANGE: 407, DEPENDENCY_NOT_ESTABLISHED: 408 });
1489
+ var scorm2004_errors = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, global_errors), { INITIALIZATION_FAILED: 102, INITIALIZED: 103, TERMINATED: 104, TERMINATION_FAILURE: 111, TERMINATION_BEFORE_INIT: 112, MULTIPLE_TERMINATIONS: 113, RETRIEVE_BEFORE_INIT: 122, RETRIEVE_AFTER_TERM: 123, STORE_BEFORE_INIT: 132, STORE_AFTER_TERM: 133, COMMIT_BEFORE_INIT: 142, COMMIT_AFTER_TERM: 143, ARGUMENT_ERROR: 201, GENERAL_GET_FAILURE: 301, GENERAL_SET_FAILURE: 351, GENERAL_COMMIT_FAILURE: 391, UNDEFINED_DATA_MODEL: 401, UNIMPLEMENTED_ELEMENT: 402, VALUE_NOT_INITIALIZED: 403, READ_ONLY_ELEMENT: 404, WRITE_ONLY_ELEMENT: 405, TYPE_MISMATCH: 406, VALUE_OUT_OF_RANGE: 407, DEPENDENCY_NOT_ESTABLISHED: 408 });
1467
1490
 
1468
1491
 
1469
1492
  /***/ }),
@@ -1471,9 +1494,15 @@ var ErrorCodes = {
1471
1494
  /***/ 417:
1472
1495
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1473
1496
 
1497
+ __webpack_require__.r(__webpack_exports__);
1498
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1499
+ /* harmony export */ aicc_regex: function() { return /* binding */ aicc_regex; },
1500
+ /* harmony export */ scorm12_regex: function() { return /* binding */ scorm12_regex; },
1501
+ /* harmony export */ scorm2004_regex: function() { return /* binding */ scorm2004_regex; }
1502
+ /* harmony export */ });
1474
1503
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1475
1504
 
1476
- var scorm12 = {
1505
+ var scorm12_regex = {
1477
1506
  CMIString256: "^.{0,255}$",
1478
1507
  CMIString4096: "^.{0,4096}$",
1479
1508
  CMITime: "^(?:[01]\\d|2[0123]):(?:[012345]\\d):(?:[012345]\\d)$",
@@ -1496,10 +1525,10 @@ var scorm12 = {
1496
1525
  weighting_range: "-100#100",
1497
1526
  text_range: "-1#1",
1498
1527
  };
1499
- var aicc = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)({}, scorm12), {
1528
+ var aicc_regex = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, scorm12_regex), {
1500
1529
  CMIIdentifier: "^\\w{1,255}$",
1501
1530
  });
1502
- var scorm2004 = {
1531
+ var scorm2004_regex = {
1503
1532
  CMIString200: "^[\\u0000-\\uFFFF]{0,200}$",
1504
1533
  CMIString250: "^[\\u0000-\\uFFFF]{0,250}$",
1505
1534
  CMIString1000: "^[\\u0000-\\uFFFF]{0,1000}$",
@@ -1535,12 +1564,6 @@ var scorm2004 = {
1535
1564
  text_range: "-1#1",
1536
1565
  progress_range: "0#1",
1537
1566
  };
1538
- var Regex = {
1539
- aicc: aicc,
1540
- scorm12: scorm12,
1541
- scorm2004: scorm2004,
1542
- };
1543
- /* harmony default export */ __webpack_exports__.A = (Regex);
1544
1567
 
1545
1568
 
1546
1569
  /***/ }),
@@ -1548,21 +1571,15 @@ var Regex = {
1548
1571
  /***/ 784:
1549
1572
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1550
1573
 
1574
+ __webpack_require__.r(__webpack_exports__);
1551
1575
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1552
- /* harmony export */ $h: function() { return /* binding */ BaseScormValidationError; },
1553
- /* harmony export */ wq: function() { return /* binding */ Scorm2004ValidationError; },
1554
- /* harmony export */ yI: function() { return /* binding */ ValidationError; }
1576
+ /* harmony export */ BaseScormValidationError: function() { return /* binding */ BaseScormValidationError; },
1577
+ /* harmony export */ ValidationError: function() { return /* binding */ ValidationError; }
1555
1578
  /* harmony export */ });
1556
- /* unused harmony exports Scorm12ValidationError, AICCValidationError */
1557
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(635);
1558
- /* harmony import */ var _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(340);
1559
-
1579
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1560
1580
 
1561
- var scorm12_errors = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.scorm12.error_descriptions;
1562
- var aicc_errors = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.aicc.error_descriptions;
1563
- var scorm2004_errors = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.scorm2004.error_descriptions;
1564
1581
  var BaseScormValidationError = (function (_super) {
1565
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(BaseScormValidationError, _super);
1582
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(BaseScormValidationError, _super);
1566
1583
  function BaseScormValidationError(errorCode) {
1567
1584
  var _this = _super.call(this, errorCode.toString()) || this;
1568
1585
  _this._errorCode = errorCode;
@@ -1580,7 +1597,7 @@ var BaseScormValidationError = (function (_super) {
1580
1597
  }(Error));
1581
1598
 
1582
1599
  var ValidationError = (function (_super) {
1583
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(ValidationError, _super);
1600
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(ValidationError, _super);
1584
1601
  function ValidationError(errorCode, errorMessage, detailedMessage) {
1585
1602
  var _this = _super.call(this, errorCode) || this;
1586
1603
  _this._detailedMessage = "";
@@ -1608,51 +1625,6 @@ var ValidationError = (function (_super) {
1608
1625
  return ValidationError;
1609
1626
  }(BaseScormValidationError));
1610
1627
 
1611
- var Scorm12ValidationError = (function (_super) {
1612
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(Scorm12ValidationError, _super);
1613
- function Scorm12ValidationError(errorCode) {
1614
- var _this = this;
1615
- if ({}.hasOwnProperty.call(scorm12_errors, String(errorCode))) {
1616
- _this = _super.call(this, errorCode, scorm12_errors[String(errorCode)].basicMessage, scorm12_errors[String(errorCode)].detailMessage) || this;
1617
- }
1618
- else {
1619
- _this = _super.call(this, 101, scorm12_errors["101"].basicMessage, scorm12_errors["101"].detailMessage) || this;
1620
- }
1621
- return _this;
1622
- }
1623
- return Scorm12ValidationError;
1624
- }(ValidationError));
1625
-
1626
- var AICCValidationError = (function (_super) {
1627
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(AICCValidationError, _super);
1628
- function AICCValidationError(errorCode) {
1629
- var _this = this;
1630
- if ({}.hasOwnProperty.call(aicc_errors, String(errorCode))) {
1631
- _this = _super.call(this, errorCode, aicc_errors[String(errorCode)].basicMessage, aicc_errors[String(errorCode)].detailMessage) || this;
1632
- }
1633
- else {
1634
- _this = _super.call(this, 101, aicc_errors["101"].basicMessage, aicc_errors["101"].detailMessage) || this;
1635
- }
1636
- return _this;
1637
- }
1638
- return AICCValidationError;
1639
- }(ValidationError));
1640
-
1641
- var Scorm2004ValidationError = (function (_super) {
1642
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(Scorm2004ValidationError, _super);
1643
- function Scorm2004ValidationError(errorCode) {
1644
- var _this = this;
1645
- if ({}.hasOwnProperty.call(scorm2004_errors, String(errorCode))) {
1646
- _this = _super.call(this, errorCode, scorm2004_errors[String(errorCode)].basicMessage, scorm2004_errors[String(errorCode)].detailMessage) || this;
1647
- }
1648
- else {
1649
- _this = _super.call(this, 101, scorm2004_errors["101"].basicMessage, scorm2004_errors["101"].detailMessage) || this;
1650
- }
1651
- return _this;
1652
- }
1653
- return Scorm2004ValidationError;
1654
- }(ValidationError));
1655
-
1656
1628
 
1657
1629
 
1658
1630
  /***/ }),
@@ -1660,16 +1632,24 @@ var Scorm2004ValidationError = (function (_super) {
1660
1632
  /***/ 864:
1661
1633
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1662
1634
 
1635
+ __webpack_require__.r(__webpack_exports__);
1663
1636
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1664
- /* harmony export */ $o: function() { return /* binding */ addTwoDurations; },
1665
- /* harmony export */ Bq: function() { return /* binding */ flatten; },
1666
- /* harmony export */ J6: function() { return /* binding */ stringMatches; },
1667
- /* harmony export */ OI: function() { return /* binding */ getDurationAsSeconds; },
1668
- /* harmony export */ hw: function() { return /* binding */ formatMessage; },
1669
- /* harmony export */ sB: function() { return /* binding */ unflatten; },
1670
- /* harmony export */ xE: function() { return /* binding */ getSecondsAsISODuration; }
1637
+ /* harmony export */ SECONDS_PER_DAY: function() { return /* binding */ SECONDS_PER_DAY; },
1638
+ /* harmony export */ SECONDS_PER_HOUR: function() { return /* binding */ SECONDS_PER_HOUR; },
1639
+ /* harmony export */ SECONDS_PER_MINUTE: function() { return /* binding */ SECONDS_PER_MINUTE; },
1640
+ /* harmony export */ SECONDS_PER_SECOND: function() { return /* binding */ SECONDS_PER_SECOND; },
1641
+ /* harmony export */ addHHMMSSTimeStrings: function() { return /* binding */ addHHMMSSTimeStrings; },
1642
+ /* harmony export */ addTwoDurations: function() { return /* binding */ addTwoDurations; },
1643
+ /* harmony export */ countDecimals: function() { return /* binding */ countDecimals; },
1644
+ /* harmony export */ flatten: function() { return /* binding */ flatten; },
1645
+ /* harmony export */ formatMessage: function() { return /* binding */ formatMessage; },
1646
+ /* harmony export */ getDurationAsSeconds: function() { return /* binding */ getDurationAsSeconds; },
1647
+ /* harmony export */ getSecondsAsHHMMSS: function() { return /* binding */ getSecondsAsHHMMSS; },
1648
+ /* harmony export */ getSecondsAsISODuration: function() { return /* binding */ getSecondsAsISODuration; },
1649
+ /* harmony export */ getTimeAsSeconds: function() { return /* binding */ getTimeAsSeconds; },
1650
+ /* harmony export */ stringMatches: function() { return /* binding */ stringMatches; },
1651
+ /* harmony export */ unflatten: function() { return /* binding */ unflatten; }
1671
1652
  /* harmony export */ });
1672
- /* unused harmony exports SECONDS_PER_SECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, getSecondsAsHHMMSS, getTimeAsSeconds, addHHMMSSTimeStrings, countDecimals */
1673
1653
  var SECONDS_PER_SECOND = 1.0;
1674
1654
  var SECONDS_PER_MINUTE = 60;
1675
1655
  var SECONDS_PER_HOUR = 60 * SECONDS_PER_MINUTE;
@@ -1861,13 +1841,40 @@ function stringMatches(str, tester) {
1861
1841
  /***/ 635:
1862
1842
  /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1863
1843
 
1844
+ __webpack_require__.r(__webpack_exports__);
1864
1845
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1865
- /* harmony export */ C6: function() { return /* binding */ __extends; },
1866
- /* harmony export */ Cl: function() { return /* binding */ __assign; },
1867
- /* harmony export */ YH: function() { return /* binding */ __generator; },
1868
- /* harmony export */ sH: function() { return /* binding */ __awaiter; }
1846
+ /* harmony export */ __addDisposableResource: function() { return /* binding */ __addDisposableResource; },
1847
+ /* harmony export */ __assign: function() { return /* binding */ __assign; },
1848
+ /* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },
1849
+ /* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },
1850
+ /* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },
1851
+ /* harmony export */ __await: function() { return /* binding */ __await; },
1852
+ /* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },
1853
+ /* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },
1854
+ /* harmony export */ __classPrivateFieldIn: function() { return /* binding */ __classPrivateFieldIn; },
1855
+ /* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },
1856
+ /* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },
1857
+ /* harmony export */ __decorate: function() { return /* binding */ __decorate; },
1858
+ /* harmony export */ __disposeResources: function() { return /* binding */ __disposeResources; },
1859
+ /* harmony export */ __esDecorate: function() { return /* binding */ __esDecorate; },
1860
+ /* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },
1861
+ /* harmony export */ __extends: function() { return /* binding */ __extends; },
1862
+ /* harmony export */ __generator: function() { return /* binding */ __generator; },
1863
+ /* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },
1864
+ /* harmony export */ __importStar: function() { return /* binding */ __importStar; },
1865
+ /* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },
1866
+ /* harmony export */ __metadata: function() { return /* binding */ __metadata; },
1867
+ /* harmony export */ __param: function() { return /* binding */ __param; },
1868
+ /* harmony export */ __propKey: function() { return /* binding */ __propKey; },
1869
+ /* harmony export */ __read: function() { return /* binding */ __read; },
1870
+ /* harmony export */ __rest: function() { return /* binding */ __rest; },
1871
+ /* harmony export */ __runInitializers: function() { return /* binding */ __runInitializers; },
1872
+ /* harmony export */ __setFunctionName: function() { return /* binding */ __setFunctionName; },
1873
+ /* harmony export */ __spread: function() { return /* binding */ __spread; },
1874
+ /* harmony export */ __spreadArray: function() { return /* binding */ __spreadArray; },
1875
+ /* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },
1876
+ /* harmony export */ __values: function() { return /* binding */ __values; }
1869
1877
  /* harmony export */ });
1870
- /* unused harmony exports __rest, __decorate, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources */
1871
1878
  /******************************************************************************
1872
1879
  Copyright (c) Microsoft Corporation.
1873
1880
 
@@ -2217,7 +2224,7 @@ function __disposeResources(env) {
2217
2224
  return next();
2218
2225
  }
2219
2226
 
2220
- /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ({
2227
+ /* harmony default export */ __webpack_exports__["default"] = ({
2221
2228
  __extends,
2222
2229
  __assign,
2223
2230
  __rest,
@@ -2294,12 +2301,25 @@ function __disposeResources(env) {
2294
2301
  /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
2295
2302
  /******/ }();
2296
2303
  /******/
2304
+ /******/ /* webpack/runtime/make namespace object */
2305
+ /******/ !function() {
2306
+ /******/ // define __esModule on exports
2307
+ /******/ __webpack_require__.r = function(exports) {
2308
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2309
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2310
+ /******/ }
2311
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
2312
+ /******/ };
2313
+ /******/ }();
2314
+ /******/
2297
2315
  /************************************************************************/
2298
2316
  var __webpack_exports__ = {};
2317
+ // ESM COMPAT FLAG
2318
+ __webpack_require__.r(__webpack_exports__);
2299
2319
 
2300
2320
  // EXPORTS
2301
2321
  __webpack_require__.d(__webpack_exports__, {
2302
- Z: function() { return /* binding */ Scorm2004Impl; }
2322
+ Scorm2004API: function() { return /* binding */ Scorm2004Impl; }
2303
2323
  });
2304
2324
 
2305
2325
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.mjs
@@ -2314,6 +2334,27 @@ var regex = __webpack_require__(417);
2314
2334
  var error_codes = __webpack_require__(797);
2315
2335
  // EXTERNAL MODULE: ./src/exceptions.ts
2316
2336
  var exceptions = __webpack_require__(784);
2337
+ ;// ./src/exceptions/scorm2004_exceptions.ts
2338
+
2339
+
2340
+
2341
+ var scorm2004_errors = api_constants.scorm2004_constants.error_descriptions;
2342
+ var Scorm2004ValidationError = (function (_super) {
2343
+ (0,tslib_es6.__extends)(Scorm2004ValidationError, _super);
2344
+ function Scorm2004ValidationError(errorCode) {
2345
+ var _this = this;
2346
+ if ({}.hasOwnProperty.call(scorm2004_errors, String(errorCode))) {
2347
+ _this = _super.call(this, errorCode, scorm2004_errors[String(errorCode)].basicMessage, scorm2004_errors[String(errorCode)].detailMessage) || this;
2348
+ }
2349
+ else {
2350
+ _this = _super.call(this, 101, scorm2004_errors["101"].basicMessage, scorm2004_errors["101"].detailMessage) || this;
2351
+ }
2352
+ return _this;
2353
+ }
2354
+ return Scorm2004ValidationError;
2355
+ }(exceptions.ValidationError));
2356
+
2357
+
2317
2358
  // EXTERNAL MODULE: ./src/utilities.ts
2318
2359
  var utilities = __webpack_require__(864);
2319
2360
  // EXTERNAL MODULE: ./src/cmi/common/base_cmi.ts
@@ -2325,10 +2366,10 @@ var validation = __webpack_require__(449);
2325
2366
 
2326
2367
 
2327
2368
  function check2004ValidFormat(value, regexPattern, allowEmptyString) {
2328
- return (0,validation/* checkValidFormat */.q)(value, regexPattern, error_codes/* default */.A.scorm2004.TYPE_MISMATCH, exceptions/* Scorm2004ValidationError */.wq, allowEmptyString);
2369
+ return (0,validation.checkValidFormat)(value, regexPattern, error_codes.scorm2004_errors.TYPE_MISMATCH, Scorm2004ValidationError, allowEmptyString);
2329
2370
  }
2330
2371
  function check2004ValidRange(value, rangePattern) {
2331
- return (0,validation/* checkValidRange */.W)(value, rangePattern, error_codes/* default */.A.scorm2004.VALUE_OUT_OF_RANGE, exceptions/* Scorm2004ValidationError */.wq);
2372
+ return (0,validation.checkValidRange)(value, rangePattern, error_codes.scorm2004_errors.VALUE_OUT_OF_RANGE, Scorm2004ValidationError);
2332
2373
  }
2333
2374
 
2334
2375
  ;// ./src/cmi/scorm2004/learner_preference.ts
@@ -2340,22 +2381,25 @@ function check2004ValidRange(value, rangePattern) {
2340
2381
 
2341
2382
 
2342
2383
  var CMILearnerPreference = (function (_super) {
2343
- (0,tslib_es6/* __extends */.C6)(CMILearnerPreference, _super);
2384
+ (0,tslib_es6.__extends)(CMILearnerPreference, _super);
2344
2385
  function CMILearnerPreference() {
2345
2386
  var _this = _super.call(this) || this;
2346
- _this.__children = api_constants/* default */.A.scorm2004.student_preference_children;
2387
+ _this.__children = api_constants.scorm2004_constants.student_preference_children;
2347
2388
  _this._audio_level = "1";
2348
2389
  _this._language = "";
2349
2390
  _this._delivery_speed = "1";
2350
2391
  _this._audio_captioning = "0";
2351
2392
  return _this;
2352
2393
  }
2394
+ CMILearnerPreference.prototype.reset = function () {
2395
+ this._initialized = false;
2396
+ };
2353
2397
  Object.defineProperty(CMILearnerPreference.prototype, "_children", {
2354
2398
  get: function () {
2355
2399
  return this.__children;
2356
2400
  },
2357
2401
  set: function (_children) {
2358
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
2402
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
2359
2403
  },
2360
2404
  enumerable: false,
2361
2405
  configurable: true
@@ -2365,8 +2409,8 @@ var CMILearnerPreference = (function (_super) {
2365
2409
  return this._audio_level;
2366
2410
  },
2367
2411
  set: function (audio_level) {
2368
- if (check2004ValidFormat(audio_level, regex/* default */.A.scorm2004.CMIDecimal) &&
2369
- check2004ValidRange(audio_level, regex/* default */.A.scorm2004.audio_range)) {
2412
+ if (check2004ValidFormat(audio_level, regex.scorm2004_regex.CMIDecimal) &&
2413
+ check2004ValidRange(audio_level, regex.scorm2004_regex.audio_range)) {
2370
2414
  this._audio_level = audio_level;
2371
2415
  }
2372
2416
  },
@@ -2378,7 +2422,7 @@ var CMILearnerPreference = (function (_super) {
2378
2422
  return this._language;
2379
2423
  },
2380
2424
  set: function (language) {
2381
- if (check2004ValidFormat(language, regex/* default */.A.scorm2004.CMILang)) {
2425
+ if (check2004ValidFormat(language, regex.scorm2004_regex.CMILang)) {
2382
2426
  this._language = language;
2383
2427
  }
2384
2428
  },
@@ -2390,8 +2434,8 @@ var CMILearnerPreference = (function (_super) {
2390
2434
  return this._delivery_speed;
2391
2435
  },
2392
2436
  set: function (delivery_speed) {
2393
- if (check2004ValidFormat(delivery_speed, regex/* default */.A.scorm2004.CMIDecimal) &&
2394
- check2004ValidRange(delivery_speed, regex/* default */.A.scorm2004.speed_range)) {
2437
+ if (check2004ValidFormat(delivery_speed, regex.scorm2004_regex.CMIDecimal) &&
2438
+ check2004ValidRange(delivery_speed, regex.scorm2004_regex.speed_range)) {
2395
2439
  this._delivery_speed = delivery_speed;
2396
2440
  }
2397
2441
  },
@@ -2403,8 +2447,8 @@ var CMILearnerPreference = (function (_super) {
2403
2447
  return this._audio_captioning;
2404
2448
  },
2405
2449
  set: function (audio_captioning) {
2406
- if (check2004ValidFormat(audio_captioning, regex/* default */.A.scorm2004.CMISInteger) &&
2407
- check2004ValidRange(audio_captioning, regex/* default */.A.scorm2004.text_range)) {
2450
+ if (check2004ValidFormat(audio_captioning, regex.scorm2004_regex.CMISInteger) &&
2451
+ check2004ValidRange(audio_captioning, regex.scorm2004_regex.text_range)) {
2408
2452
  this._audio_captioning = audio_captioning;
2409
2453
  }
2410
2454
  },
@@ -2423,14 +2467,13 @@ var CMILearnerPreference = (function (_super) {
2423
2467
  return result;
2424
2468
  };
2425
2469
  return CMILearnerPreference;
2426
- }(base_cmi/* BaseCMI */.J));
2470
+ }(base_cmi.BaseCMI));
2427
2471
 
2428
2472
 
2429
2473
  // EXTERNAL MODULE: ./src/cmi/common/array.ts
2430
2474
  var array = __webpack_require__(589);
2431
2475
  ;// ./src/constants/response_constants.ts
2432
2476
 
2433
- var scorm2004_regex = regex/* default */.A.scorm2004;
2434
2477
  var LearnerResponses = {
2435
2478
  "true-false": {
2436
2479
  format: "^true$|^false$",
@@ -2439,59 +2482,59 @@ var LearnerResponses = {
2439
2482
  unique: false,
2440
2483
  },
2441
2484
  choice: {
2442
- format: scorm2004_regex.CMILongIdentifier,
2485
+ format: regex.scorm2004_regex.CMILongIdentifier,
2443
2486
  max: 36,
2444
2487
  delimiter: "[,]",
2445
2488
  unique: true,
2446
2489
  },
2447
2490
  "fill-in": {
2448
- format: scorm2004_regex.CMILangString250,
2491
+ format: regex.scorm2004_regex.CMILangString250,
2449
2492
  max: 10,
2450
2493
  delimiter: "[,]",
2451
2494
  unique: false,
2452
2495
  },
2453
2496
  "long-fill-in": {
2454
- format: scorm2004_regex.CMILangString4000,
2497
+ format: regex.scorm2004_regex.CMILangString4000,
2455
2498
  max: 1,
2456
2499
  delimiter: "",
2457
2500
  unique: false,
2458
2501
  },
2459
2502
  matching: {
2460
- format: scorm2004_regex.CMIShortIdentifier,
2461
- format2: scorm2004_regex.CMIShortIdentifier,
2503
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2504
+ format2: regex.scorm2004_regex.CMIShortIdentifier,
2462
2505
  max: 36,
2463
2506
  delimiter: "[,]",
2464
2507
  delimiter2: "[.]",
2465
2508
  unique: false,
2466
2509
  },
2467
2510
  performance: {
2468
- format: "^$|" + scorm2004_regex.CMIShortIdentifier,
2469
- format2: scorm2004_regex.CMIDecimal + "|^$|" + scorm2004_regex.CMIShortIdentifier,
2511
+ format: "^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2512
+ format2: regex.scorm2004_regex.CMIDecimal + "|^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2470
2513
  max: 250,
2471
2514
  delimiter: "[,]",
2472
2515
  delimiter2: "[.]",
2473
2516
  unique: false,
2474
2517
  },
2475
2518
  sequencing: {
2476
- format: scorm2004_regex.CMIShortIdentifier,
2519
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2477
2520
  max: 36,
2478
2521
  delimiter: "[,]",
2479
2522
  unique: false,
2480
2523
  },
2481
2524
  likert: {
2482
- format: scorm2004_regex.CMIShortIdentifier,
2525
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2483
2526
  max: 1,
2484
2527
  delimiter: "",
2485
2528
  unique: false,
2486
2529
  },
2487
2530
  numeric: {
2488
- format: scorm2004_regex.CMIDecimal,
2531
+ format: regex.scorm2004_regex.CMIDecimal,
2489
2532
  max: 1,
2490
2533
  delimiter: "",
2491
2534
  unique: false,
2492
2535
  },
2493
2536
  other: {
2494
- format: scorm2004_regex.CMIString4000,
2537
+ format: regex.scorm2004_regex.CMIString4000,
2495
2538
  max: 1,
2496
2539
  delimiter: "",
2497
2540
  unique: false,
@@ -2511,21 +2554,21 @@ var CorrectResponses = {
2511
2554
  delimiter: "[,]",
2512
2555
  unique: true,
2513
2556
  duplicate: false,
2514
- format: scorm2004_regex.CMILongIdentifier,
2557
+ format: regex.scorm2004_regex.CMILongIdentifier,
2515
2558
  },
2516
2559
  "fill-in": {
2517
2560
  max: 10,
2518
2561
  delimiter: "[,]",
2519
2562
  unique: false,
2520
2563
  duplicate: false,
2521
- format: scorm2004_regex.CMILangString250cr,
2564
+ format: regex.scorm2004_regex.CMILangString250cr,
2522
2565
  },
2523
2566
  "long-fill-in": {
2524
2567
  max: 1,
2525
2568
  delimiter: "",
2526
2569
  unique: false,
2527
2570
  duplicate: true,
2528
- format: scorm2004_regex.CMILangString4000,
2571
+ format: regex.scorm2004_regex.CMILangString4000,
2529
2572
  },
2530
2573
  matching: {
2531
2574
  max: 36,
@@ -2533,8 +2576,8 @@ var CorrectResponses = {
2533
2576
  delimiter2: "[.]",
2534
2577
  unique: false,
2535
2578
  duplicate: false,
2536
- format: scorm2004_regex.CMIShortIdentifier,
2537
- format2: scorm2004_regex.CMIShortIdentifier,
2579
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2580
+ format2: regex.scorm2004_regex.CMIShortIdentifier,
2538
2581
  },
2539
2582
  performance: {
2540
2583
  max: 250,
@@ -2543,22 +2586,22 @@ var CorrectResponses = {
2543
2586
  delimiter3: "[:]",
2544
2587
  unique: false,
2545
2588
  duplicate: false,
2546
- format: "^$|" + scorm2004_regex.CMIShortIdentifier,
2547
- format2: scorm2004_regex.CMIDecimal + "|^$|" + scorm2004_regex.CMIShortIdentifier,
2589
+ format: "^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2590
+ format2: regex.scorm2004_regex.CMIDecimal + "|^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2548
2591
  },
2549
2592
  sequencing: {
2550
2593
  max: 36,
2551
2594
  delimiter: "[,]",
2552
2595
  unique: false,
2553
2596
  duplicate: false,
2554
- format: scorm2004_regex.CMIShortIdentifier,
2597
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2555
2598
  },
2556
2599
  likert: {
2557
2600
  max: 1,
2558
2601
  delimiter: "",
2559
2602
  unique: false,
2560
2603
  duplicate: false,
2561
- format: scorm2004_regex.CMIShortIdentifier,
2604
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2562
2605
  limit: 1,
2563
2606
  },
2564
2607
  numeric: {
@@ -2566,7 +2609,7 @@ var CorrectResponses = {
2566
2609
  delimiter: "[:]",
2567
2610
  unique: false,
2568
2611
  duplicate: false,
2569
- format: scorm2004_regex.CMIDecimal,
2612
+ format: regex.scorm2004_regex.CMIDecimal,
2570
2613
  limit: 1,
2571
2614
  },
2572
2615
  other: {
@@ -2574,7 +2617,7 @@ var CorrectResponses = {
2574
2617
  delimiter: "",
2575
2618
  unique: false,
2576
2619
  duplicate: false,
2577
- format: scorm2004_regex.CMIString4000,
2620
+ format: regex.scorm2004_regex.CMIString4000,
2578
2621
  limit: 1,
2579
2622
  },
2580
2623
  };
@@ -2590,19 +2633,19 @@ var CorrectResponses = {
2590
2633
 
2591
2634
 
2592
2635
  var CMIInteractions = (function (_super) {
2593
- (0,tslib_es6/* __extends */.C6)(CMIInteractions, _super);
2636
+ (0,tslib_es6.__extends)(CMIInteractions, _super);
2594
2637
  function CMIInteractions() {
2595
2638
  return _super.call(this, {
2596
- children: api_constants/* default */.A.scorm2004.interactions_children,
2597
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2598
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2639
+ children: api_constants.scorm2004_constants.interactions_children,
2640
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2641
+ errorClass: Scorm2004ValidationError,
2599
2642
  }) || this;
2600
2643
  }
2601
2644
  return CMIInteractions;
2602
- }(array/* CMIArray */.B));
2645
+ }(array.CMIArray));
2603
2646
 
2604
2647
  var CMIInteractionsObject = (function (_super) {
2605
- (0,tslib_es6/* __extends */.C6)(CMIInteractionsObject, _super);
2648
+ (0,tslib_es6.__extends)(CMIInteractionsObject, _super);
2606
2649
  function CMIInteractionsObject() {
2607
2650
  var _this = _super.call(this) || this;
2608
2651
  _this._id = "";
@@ -2613,15 +2656,15 @@ var CMIInteractionsObject = (function (_super) {
2613
2656
  _this._result = "";
2614
2657
  _this._latency = "";
2615
2658
  _this._description = "";
2616
- _this.objectives = new array/* CMIArray */.B({
2617
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2618
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2619
- children: api_constants/* default */.A.scorm2004.objectives_children,
2659
+ _this.objectives = new array.CMIArray({
2660
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2661
+ errorClass: Scorm2004ValidationError,
2662
+ children: api_constants.scorm2004_constants.objectives_children,
2620
2663
  });
2621
- _this.correct_responses = new array/* CMIArray */.B({
2622
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2623
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2624
- children: api_constants/* default */.A.scorm2004.correct_responses_children,
2664
+ _this.correct_responses = new array.CMIArray({
2665
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2666
+ errorClass: Scorm2004ValidationError,
2667
+ children: api_constants.scorm2004_constants.correct_responses_children,
2625
2668
  });
2626
2669
  return _this;
2627
2670
  }
@@ -2631,12 +2674,33 @@ var CMIInteractionsObject = (function (_super) {
2631
2674
  (_a = this.objectives) === null || _a === void 0 ? void 0 : _a.initialize();
2632
2675
  (_b = this.correct_responses) === null || _b === void 0 ? void 0 : _b.initialize();
2633
2676
  };
2677
+ CMIInteractionsObject.prototype.reset = function () {
2678
+ this._initialized = false;
2679
+ this._id = "";
2680
+ this._type = "";
2681
+ this._timestamp = "";
2682
+ this._weighting = "";
2683
+ this._learner_response = "";
2684
+ this._result = "";
2685
+ this._latency = "";
2686
+ this._description = "";
2687
+ this.objectives = new array.CMIArray({
2688
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2689
+ errorClass: Scorm2004ValidationError,
2690
+ children: api_constants.scorm2004_constants.objectives_children,
2691
+ });
2692
+ this.correct_responses = new array.CMIArray({
2693
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2694
+ errorClass: Scorm2004ValidationError,
2695
+ children: api_constants.scorm2004_constants.correct_responses_children,
2696
+ });
2697
+ };
2634
2698
  Object.defineProperty(CMIInteractionsObject.prototype, "id", {
2635
2699
  get: function () {
2636
2700
  return this._id;
2637
2701
  },
2638
2702
  set: function (id) {
2639
- if (check2004ValidFormat(id, regex/* default */.A.scorm2004.CMILongIdentifier)) {
2703
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
2640
2704
  this._id = id;
2641
2705
  }
2642
2706
  },
@@ -2649,10 +2713,10 @@ var CMIInteractionsObject = (function (_super) {
2649
2713
  },
2650
2714
  set: function (type) {
2651
2715
  if (this.initialized && this._id === "") {
2652
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2716
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2653
2717
  }
2654
2718
  else {
2655
- if (check2004ValidFormat(type, regex/* default */.A.scorm2004.CMIType)) {
2719
+ if (check2004ValidFormat(type, regex.scorm2004_regex.CMIType)) {
2656
2720
  this._type = type;
2657
2721
  }
2658
2722
  }
@@ -2666,10 +2730,10 @@ var CMIInteractionsObject = (function (_super) {
2666
2730
  },
2667
2731
  set: function (timestamp) {
2668
2732
  if (this.initialized && this._id === "") {
2669
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2733
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2670
2734
  }
2671
2735
  else {
2672
- if (check2004ValidFormat(timestamp, regex/* default */.A.scorm2004.CMITime)) {
2736
+ if (check2004ValidFormat(timestamp, regex.scorm2004_regex.CMITime)) {
2673
2737
  this._timestamp = timestamp;
2674
2738
  }
2675
2739
  }
@@ -2683,10 +2747,10 @@ var CMIInteractionsObject = (function (_super) {
2683
2747
  },
2684
2748
  set: function (weighting) {
2685
2749
  if (this.initialized && this._id === "") {
2686
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2750
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2687
2751
  }
2688
2752
  else {
2689
- if (check2004ValidFormat(weighting, regex/* default */.A.scorm2004.CMIDecimal)) {
2753
+ if (check2004ValidFormat(weighting, regex.scorm2004_regex.CMIDecimal)) {
2690
2754
  this._weighting = weighting;
2691
2755
  }
2692
2756
  }
@@ -2700,7 +2764,7 @@ var CMIInteractionsObject = (function (_super) {
2700
2764
  },
2701
2765
  set: function (learner_response) {
2702
2766
  if (this.initialized && (this._type === "" || this._id === "")) {
2703
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2767
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2704
2768
  }
2705
2769
  else {
2706
2770
  var nodes = [];
@@ -2719,28 +2783,28 @@ var CMIInteractionsObject = (function (_super) {
2719
2783
  var values = nodes[i].split(response_type.delimiter2);
2720
2784
  if (values.length === 2) {
2721
2785
  if (!values[0].match(formatRegex)) {
2722
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2786
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2723
2787
  }
2724
2788
  else {
2725
2789
  if (!response_type.format2 ||
2726
2790
  !values[1].match(new RegExp(response_type.format2))) {
2727
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2791
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2728
2792
  }
2729
2793
  }
2730
2794
  }
2731
2795
  else {
2732
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2796
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2733
2797
  }
2734
2798
  }
2735
2799
  else {
2736
2800
  if (!nodes[i].match(formatRegex)) {
2737
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2801
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2738
2802
  }
2739
2803
  else {
2740
2804
  if (nodes[i] !== "" && response_type.unique) {
2741
2805
  for (var j = 0; j < i; j++) {
2742
2806
  if (nodes[i] === nodes[j]) {
2743
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2807
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2744
2808
  }
2745
2809
  }
2746
2810
  }
@@ -2749,12 +2813,12 @@ var CMIInteractionsObject = (function (_super) {
2749
2813
  }
2750
2814
  }
2751
2815
  else {
2752
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE);
2816
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE);
2753
2817
  }
2754
2818
  this._learner_response = learner_response;
2755
2819
  }
2756
2820
  else {
2757
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2821
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2758
2822
  }
2759
2823
  }
2760
2824
  },
@@ -2766,7 +2830,7 @@ var CMIInteractionsObject = (function (_super) {
2766
2830
  return this._result;
2767
2831
  },
2768
2832
  set: function (result) {
2769
- if (check2004ValidFormat(result, regex/* default */.A.scorm2004.CMIResult)) {
2833
+ if (check2004ValidFormat(result, regex.scorm2004_regex.CMIResult)) {
2770
2834
  this._result = result;
2771
2835
  }
2772
2836
  },
@@ -2779,10 +2843,10 @@ var CMIInteractionsObject = (function (_super) {
2779
2843
  },
2780
2844
  set: function (latency) {
2781
2845
  if (this.initialized && this._id === "") {
2782
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2846
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2783
2847
  }
2784
2848
  else {
2785
- if (check2004ValidFormat(latency, regex/* default */.A.scorm2004.CMITimespan)) {
2849
+ if (check2004ValidFormat(latency, regex.scorm2004_regex.CMITimespan)) {
2786
2850
  this._latency = latency;
2787
2851
  }
2788
2852
  }
@@ -2796,10 +2860,10 @@ var CMIInteractionsObject = (function (_super) {
2796
2860
  },
2797
2861
  set: function (description) {
2798
2862
  if (this.initialized && this._id === "") {
2799
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2863
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2800
2864
  }
2801
2865
  else {
2802
- if (check2004ValidFormat(description, regex/* default */.A.scorm2004.CMILangString250, true)) {
2866
+ if (check2004ValidFormat(description, regex.scorm2004_regex.CMILangString250, true)) {
2803
2867
  this._description = description;
2804
2868
  }
2805
2869
  }
@@ -2825,21 +2889,25 @@ var CMIInteractionsObject = (function (_super) {
2825
2889
  return result;
2826
2890
  };
2827
2891
  return CMIInteractionsObject;
2828
- }(base_cmi/* BaseCMI */.J));
2892
+ }(base_cmi.BaseCMI));
2829
2893
 
2830
2894
  var CMIInteractionsObjectivesObject = (function (_super) {
2831
- (0,tslib_es6/* __extends */.C6)(CMIInteractionsObjectivesObject, _super);
2895
+ (0,tslib_es6.__extends)(CMIInteractionsObjectivesObject, _super);
2832
2896
  function CMIInteractionsObjectivesObject() {
2833
2897
  var _this = _super.call(this) || this;
2834
2898
  _this._id = "";
2835
2899
  return _this;
2836
2900
  }
2901
+ CMIInteractionsObjectivesObject.prototype.reset = function () {
2902
+ this._initialized = false;
2903
+ this._id = "";
2904
+ };
2837
2905
  Object.defineProperty(CMIInteractionsObjectivesObject.prototype, "id", {
2838
2906
  get: function () {
2839
2907
  return this._id;
2840
2908
  },
2841
2909
  set: function (id) {
2842
- if (check2004ValidFormat(id, regex/* default */.A.scorm2004.CMILongIdentifier)) {
2910
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
2843
2911
  this._id = id;
2844
2912
  }
2845
2913
  },
@@ -2855,21 +2923,25 @@ var CMIInteractionsObjectivesObject = (function (_super) {
2855
2923
  return result;
2856
2924
  };
2857
2925
  return CMIInteractionsObjectivesObject;
2858
- }(base_cmi/* BaseCMI */.J));
2926
+ }(base_cmi.BaseCMI));
2859
2927
 
2860
2928
  var CMIInteractionsCorrectResponsesObject = (function (_super) {
2861
- (0,tslib_es6/* __extends */.C6)(CMIInteractionsCorrectResponsesObject, _super);
2929
+ (0,tslib_es6.__extends)(CMIInteractionsCorrectResponsesObject, _super);
2862
2930
  function CMIInteractionsCorrectResponsesObject() {
2863
2931
  var _this = _super.call(this) || this;
2864
2932
  _this._pattern = "";
2865
2933
  return _this;
2866
2934
  }
2935
+ CMIInteractionsCorrectResponsesObject.prototype.reset = function () {
2936
+ this._initialized = false;
2937
+ this._pattern = "";
2938
+ };
2867
2939
  Object.defineProperty(CMIInteractionsCorrectResponsesObject.prototype, "pattern", {
2868
2940
  get: function () {
2869
2941
  return this._pattern;
2870
2942
  },
2871
2943
  set: function (pattern) {
2872
- if (check2004ValidFormat(pattern, regex/* default */.A.scorm2004.CMIFeedback)) {
2944
+ if (check2004ValidFormat(pattern, regex.scorm2004_regex.CMIFeedback)) {
2873
2945
  this._pattern = pattern;
2874
2946
  }
2875
2947
  },
@@ -2885,7 +2957,7 @@ var CMIInteractionsCorrectResponsesObject = (function (_super) {
2885
2957
  return result;
2886
2958
  };
2887
2959
  return CMIInteractionsCorrectResponsesObject;
2888
- }(base_cmi/* BaseCMI */.J));
2960
+ }(base_cmi.BaseCMI));
2889
2961
 
2890
2962
 
2891
2963
  // EXTERNAL MODULE: ./src/cmi/common/score.ts
@@ -2899,27 +2971,34 @@ var score = __webpack_require__(434);
2899
2971
 
2900
2972
 
2901
2973
  var Scorm2004CMIScore = (function (_super) {
2902
- (0,tslib_es6/* __extends */.C6)(Scorm2004CMIScore, _super);
2974
+ (0,tslib_es6.__extends)(Scorm2004CMIScore, _super);
2903
2975
  function Scorm2004CMIScore() {
2904
2976
  var _this = _super.call(this, {
2905
- score_children: api_constants/* default */.A.scorm2004.score_children,
2977
+ score_children: api_constants.scorm2004_constants.score_children,
2906
2978
  max: "",
2907
- invalidErrorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2908
- invalidTypeCode: error_codes/* default */.A.scorm2004.TYPE_MISMATCH,
2909
- invalidRangeCode: error_codes/* default */.A.scorm2004.VALUE_OUT_OF_RANGE,
2910
- decimalRegex: regex/* default */.A.scorm2004.CMIDecimal,
2911
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2979
+ invalidErrorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2980
+ invalidTypeCode: error_codes.scorm2004_errors.TYPE_MISMATCH,
2981
+ invalidRangeCode: error_codes.scorm2004_errors.VALUE_OUT_OF_RANGE,
2982
+ decimalRegex: regex.scorm2004_regex.CMIDecimal,
2983
+ errorClass: Scorm2004ValidationError,
2912
2984
  }) || this;
2913
2985
  _this._scaled = "";
2914
2986
  return _this;
2915
2987
  }
2988
+ Scorm2004CMIScore.prototype.reset = function () {
2989
+ this._initialized = false;
2990
+ this._scaled = "";
2991
+ this._raw = "";
2992
+ this._min = "";
2993
+ this._max = "";
2994
+ };
2916
2995
  Object.defineProperty(Scorm2004CMIScore.prototype, "scaled", {
2917
2996
  get: function () {
2918
2997
  return this._scaled;
2919
2998
  },
2920
2999
  set: function (scaled) {
2921
- if (check2004ValidFormat(scaled, regex/* default */.A.scorm2004.CMIDecimal) &&
2922
- check2004ValidRange(scaled, regex/* default */.A.scorm2004.scaled_range)) {
3000
+ if (check2004ValidFormat(scaled, regex.scorm2004_regex.CMIDecimal) &&
3001
+ check2004ValidRange(scaled, regex.scorm2004_regex.scaled_range)) {
2923
3002
  this._scaled = scaled;
2924
3003
  }
2925
3004
  },
@@ -2938,7 +3017,7 @@ var Scorm2004CMIScore = (function (_super) {
2938
3017
  return result;
2939
3018
  };
2940
3019
  return Scorm2004CMIScore;
2941
- }(score/* CMIScore */._));
3020
+ }(score.CMIScore));
2942
3021
 
2943
3022
 
2944
3023
  ;// ./src/cmi/scorm2004/comments.ts
@@ -2951,31 +3030,31 @@ var Scorm2004CMIScore = (function (_super) {
2951
3030
 
2952
3031
 
2953
3032
  var CMICommentsFromLMS = (function (_super) {
2954
- (0,tslib_es6/* __extends */.C6)(CMICommentsFromLMS, _super);
3033
+ (0,tslib_es6.__extends)(CMICommentsFromLMS, _super);
2955
3034
  function CMICommentsFromLMS() {
2956
3035
  return _super.call(this, {
2957
- children: api_constants/* default */.A.scorm2004.comments_children,
2958
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2959
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
3036
+ children: api_constants.scorm2004_constants.comments_children,
3037
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
3038
+ errorClass: Scorm2004ValidationError,
2960
3039
  }) || this;
2961
3040
  }
2962
3041
  return CMICommentsFromLMS;
2963
- }(array/* CMIArray */.B));
3042
+ }(array.CMIArray));
2964
3043
 
2965
3044
  var CMICommentsFromLearner = (function (_super) {
2966
- (0,tslib_es6/* __extends */.C6)(CMICommentsFromLearner, _super);
3045
+ (0,tslib_es6.__extends)(CMICommentsFromLearner, _super);
2967
3046
  function CMICommentsFromLearner() {
2968
3047
  return _super.call(this, {
2969
- children: api_constants/* default */.A.scorm2004.comments_children,
2970
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2971
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
3048
+ children: api_constants.scorm2004_constants.comments_children,
3049
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
3050
+ errorClass: Scorm2004ValidationError,
2972
3051
  }) || this;
2973
3052
  }
2974
3053
  return CMICommentsFromLearner;
2975
- }(array/* CMIArray */.B));
3054
+ }(array.CMIArray));
2976
3055
 
2977
3056
  var CMICommentsObject = (function (_super) {
2978
- (0,tslib_es6/* __extends */.C6)(CMICommentsObject, _super);
3057
+ (0,tslib_es6.__extends)(CMICommentsObject, _super);
2979
3058
  function CMICommentsObject(readOnlyAfterInit) {
2980
3059
  if (readOnlyAfterInit === void 0) { readOnlyAfterInit = false; }
2981
3060
  var _this = _super.call(this) || this;
@@ -2988,16 +3067,19 @@ var CMICommentsObject = (function (_super) {
2988
3067
  _this._readOnlyAfterInit = readOnlyAfterInit;
2989
3068
  return _this;
2990
3069
  }
3070
+ CMICommentsObject.prototype.reset = function () {
3071
+ this._initialized = false;
3072
+ };
2991
3073
  Object.defineProperty(CMICommentsObject.prototype, "comment", {
2992
3074
  get: function () {
2993
3075
  return this._comment;
2994
3076
  },
2995
3077
  set: function (comment) {
2996
3078
  if (this.initialized && this._readOnlyAfterInit) {
2997
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3079
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
2998
3080
  }
2999
3081
  else {
3000
- if (check2004ValidFormat(comment, regex/* default */.A.scorm2004.CMILangString4000, true)) {
3082
+ if (check2004ValidFormat(comment, regex.scorm2004_regex.CMILangString4000, true)) {
3001
3083
  this._comment = comment;
3002
3084
  }
3003
3085
  }
@@ -3011,10 +3093,10 @@ var CMICommentsObject = (function (_super) {
3011
3093
  },
3012
3094
  set: function (location) {
3013
3095
  if (this.initialized && this._readOnlyAfterInit) {
3014
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3096
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3015
3097
  }
3016
3098
  else {
3017
- if (check2004ValidFormat(location, regex/* default */.A.scorm2004.CMIString250)) {
3099
+ if (check2004ValidFormat(location, regex.scorm2004_regex.CMIString250)) {
3018
3100
  this._location = location;
3019
3101
  }
3020
3102
  }
@@ -3028,10 +3110,10 @@ var CMICommentsObject = (function (_super) {
3028
3110
  },
3029
3111
  set: function (timestamp) {
3030
3112
  if (this.initialized && this._readOnlyAfterInit) {
3031
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3113
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3032
3114
  }
3033
3115
  else {
3034
- if (check2004ValidFormat(timestamp, regex/* default */.A.scorm2004.CMITime)) {
3116
+ if (check2004ValidFormat(timestamp, regex.scorm2004_regex.CMITime)) {
3035
3117
  this._timestamp = timestamp;
3036
3118
  }
3037
3119
  }
@@ -3050,7 +3132,7 @@ var CMICommentsObject = (function (_super) {
3050
3132
  return result;
3051
3133
  };
3052
3134
  return CMICommentsObject;
3053
- }(base_cmi/* BaseCMI */.J));
3135
+ }(base_cmi.BaseCMI));
3054
3136
 
3055
3137
 
3056
3138
  ;// ./src/cmi/scorm2004/objectives.ts
@@ -3064,19 +3146,28 @@ var CMICommentsObject = (function (_super) {
3064
3146
 
3065
3147
 
3066
3148
  var CMIObjectives = (function (_super) {
3067
- (0,tslib_es6/* __extends */.C6)(CMIObjectives, _super);
3149
+ (0,tslib_es6.__extends)(CMIObjectives, _super);
3068
3150
  function CMIObjectives() {
3069
3151
  return _super.call(this, {
3070
- children: api_constants/* default */.A.scorm2004.objectives_children,
3071
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
3072
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
3152
+ children: api_constants.scorm2004_constants.objectives_children,
3153
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
3154
+ errorClass: Scorm2004ValidationError,
3073
3155
  }) || this;
3074
3156
  }
3157
+ CMIObjectives.prototype.findObjectiveById = function (id) {
3158
+ return this.childArray.find(function (objective) { return objective.id === id; });
3159
+ };
3160
+ CMIObjectives.prototype.findObjectiveByIndex = function (index) {
3161
+ return this.childArray[index];
3162
+ };
3163
+ CMIObjectives.prototype.setObjectiveByIndex = function (index, objective) {
3164
+ this.childArray[index] = objective;
3165
+ };
3075
3166
  return CMIObjectives;
3076
- }(array/* CMIArray */.B));
3167
+ }(array.CMIArray));
3077
3168
 
3078
3169
  var CMIObjectivesObject = (function (_super) {
3079
- (0,tslib_es6/* __extends */.C6)(CMIObjectivesObject, _super);
3170
+ (0,tslib_es6.__extends)(CMIObjectivesObject, _super);
3080
3171
  function CMIObjectivesObject() {
3081
3172
  var _this = _super.call(this) || this;
3082
3173
  _this._id = "";
@@ -3087,6 +3178,9 @@ var CMIObjectivesObject = (function (_super) {
3087
3178
  _this.score = new Scorm2004CMIScore();
3088
3179
  return _this;
3089
3180
  }
3181
+ CMIObjectivesObject.prototype.reset = function () {
3182
+ this._initialized = false;
3183
+ };
3090
3184
  CMIObjectivesObject.prototype.initialize = function () {
3091
3185
  var _a;
3092
3186
  _super.prototype.initialize.call(this);
@@ -3097,7 +3191,7 @@ var CMIObjectivesObject = (function (_super) {
3097
3191
  return this._id;
3098
3192
  },
3099
3193
  set: function (id) {
3100
- if (check2004ValidFormat(id, regex/* default */.A.scorm2004.CMILongIdentifier)) {
3194
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
3101
3195
  this._id = id;
3102
3196
  }
3103
3197
  },
@@ -3110,10 +3204,10 @@ var CMIObjectivesObject = (function (_super) {
3110
3204
  },
3111
3205
  set: function (success_status) {
3112
3206
  if (this.initialized && this._id === "") {
3113
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3207
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3114
3208
  }
3115
3209
  else {
3116
- if (check2004ValidFormat(success_status, regex/* default */.A.scorm2004.CMISStatus)) {
3210
+ if (check2004ValidFormat(success_status, regex.scorm2004_regex.CMISStatus)) {
3117
3211
  this._success_status = success_status;
3118
3212
  }
3119
3213
  }
@@ -3127,10 +3221,10 @@ var CMIObjectivesObject = (function (_super) {
3127
3221
  },
3128
3222
  set: function (completion_status) {
3129
3223
  if (this.initialized && this._id === "") {
3130
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3224
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3131
3225
  }
3132
3226
  else {
3133
- if (check2004ValidFormat(completion_status, regex/* default */.A.scorm2004.CMICStatus)) {
3227
+ if (check2004ValidFormat(completion_status, regex.scorm2004_regex.CMICStatus)) {
3134
3228
  this._completion_status = completion_status;
3135
3229
  }
3136
3230
  }
@@ -3144,11 +3238,11 @@ var CMIObjectivesObject = (function (_super) {
3144
3238
  },
3145
3239
  set: function (progress_measure) {
3146
3240
  if (this.initialized && this._id === "") {
3147
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3241
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3148
3242
  }
3149
3243
  else {
3150
- if (check2004ValidFormat(progress_measure, regex/* default */.A.scorm2004.CMIDecimal) &&
3151
- check2004ValidRange(progress_measure, regex/* default */.A.scorm2004.progress_range)) {
3244
+ if (check2004ValidFormat(progress_measure, regex.scorm2004_regex.CMIDecimal) &&
3245
+ check2004ValidRange(progress_measure, regex.scorm2004_regex.progress_range)) {
3152
3246
  this._progress_measure = progress_measure;
3153
3247
  }
3154
3248
  }
@@ -3162,10 +3256,10 @@ var CMIObjectivesObject = (function (_super) {
3162
3256
  },
3163
3257
  set: function (description) {
3164
3258
  if (this.initialized && this._id === "") {
3165
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3259
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3166
3260
  }
3167
3261
  else {
3168
- if (check2004ValidFormat(description, regex/* default */.A.scorm2004.CMILangString250, true)) {
3262
+ if (check2004ValidFormat(description, regex.scorm2004_regex.CMILangString250, true)) {
3169
3263
  this._description = description;
3170
3264
  }
3171
3265
  }
@@ -3187,7 +3281,7 @@ var CMIObjectivesObject = (function (_super) {
3187
3281
  return result;
3188
3282
  };
3189
3283
  return CMIObjectivesObject;
3190
- }(base_cmi/* BaseCMI */.J));
3284
+ }(base_cmi.BaseCMI));
3191
3285
 
3192
3286
 
3193
3287
  ;// ./src/cmi/scorm2004/cmi.ts
@@ -3205,12 +3299,12 @@ var CMIObjectivesObject = (function (_super) {
3205
3299
 
3206
3300
 
3207
3301
  var CMI = (function (_super) {
3208
- (0,tslib_es6/* __extends */.C6)(CMI, _super);
3302
+ (0,tslib_es6.__extends)(CMI, _super);
3209
3303
  function CMI(initialized) {
3210
3304
  if (initialized === void 0) { initialized = false; }
3211
3305
  var _this = _super.call(this) || this;
3212
3306
  _this.__version = "1.0";
3213
- _this.__children = api_constants/* default */.A.scorm2004.cmi_children;
3307
+ _this.__children = api_constants.scorm2004_constants.cmi_children;
3214
3308
  _this._completion_status = "unknown";
3215
3309
  _this._completion_threshold = "";
3216
3310
  _this._credit = "credit";
@@ -3249,12 +3343,27 @@ var CMI = (function (_super) {
3249
3343
  (_e = this.interactions) === null || _e === void 0 ? void 0 : _e.initialize();
3250
3344
  (_f = this.objectives) === null || _f === void 0 ? void 0 : _f.initialize();
3251
3345
  };
3346
+ CMI.prototype.reset = function () {
3347
+ var _a, _b, _c, _d, _e, _f;
3348
+ this._initialized = false;
3349
+ this._completion_status = "incomplete";
3350
+ this._exit = "";
3351
+ this._session_time = "PT0H0M0S";
3352
+ this._progress_measure = "";
3353
+ this._location = "";
3354
+ (_a = this.objectives) === null || _a === void 0 ? void 0 : _a.reset(false);
3355
+ (_b = this.interactions) === null || _b === void 0 ? void 0 : _b.reset(true);
3356
+ (_c = this.score) === null || _c === void 0 ? void 0 : _c.reset();
3357
+ (_d = this.comments_from_learner) === null || _d === void 0 ? void 0 : _d.reset();
3358
+ (_e = this.comments_from_lms) === null || _e === void 0 ? void 0 : _e.reset();
3359
+ (_f = this.learner_preference) === null || _f === void 0 ? void 0 : _f.reset();
3360
+ };
3252
3361
  Object.defineProperty(CMI.prototype, "_version", {
3253
3362
  get: function () {
3254
3363
  return this.__version;
3255
3364
  },
3256
3365
  set: function (_version) {
3257
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3366
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3258
3367
  },
3259
3368
  enumerable: false,
3260
3369
  configurable: true
@@ -3264,7 +3373,7 @@ var CMI = (function (_super) {
3264
3373
  return this.__children;
3265
3374
  },
3266
3375
  set: function (_children) {
3267
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3376
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3268
3377
  },
3269
3378
  enumerable: false,
3270
3379
  configurable: true
@@ -3274,7 +3383,7 @@ var CMI = (function (_super) {
3274
3383
  return this._completion_status;
3275
3384
  },
3276
3385
  set: function (completion_status) {
3277
- if (check2004ValidFormat(completion_status, regex/* default */.A.scorm2004.CMICStatus)) {
3386
+ if (check2004ValidFormat(completion_status, regex.scorm2004_regex.CMICStatus)) {
3278
3387
  this._completion_status = completion_status;
3279
3388
  }
3280
3389
  },
@@ -3287,7 +3396,7 @@ var CMI = (function (_super) {
3287
3396
  },
3288
3397
  set: function (completion_threshold) {
3289
3398
  if (this.initialized) {
3290
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3399
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3291
3400
  }
3292
3401
  else {
3293
3402
  this._completion_threshold = completion_threshold;
@@ -3302,7 +3411,7 @@ var CMI = (function (_super) {
3302
3411
  },
3303
3412
  set: function (credit) {
3304
3413
  if (this.initialized) {
3305
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3414
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3306
3415
  }
3307
3416
  else {
3308
3417
  this._credit = credit;
@@ -3317,7 +3426,7 @@ var CMI = (function (_super) {
3317
3426
  },
3318
3427
  set: function (entry) {
3319
3428
  if (this.initialized) {
3320
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3429
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3321
3430
  }
3322
3431
  else {
3323
3432
  this._entry = entry;
@@ -3329,12 +3438,12 @@ var CMI = (function (_super) {
3329
3438
  Object.defineProperty(CMI.prototype, "exit", {
3330
3439
  get: function () {
3331
3440
  if (!this.jsonString) {
3332
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.WRITE_ONLY_ELEMENT);
3441
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.WRITE_ONLY_ELEMENT);
3333
3442
  }
3334
3443
  return this._exit;
3335
3444
  },
3336
3445
  set: function (exit) {
3337
- if (check2004ValidFormat(exit, regex/* default */.A.scorm2004.CMIExit, true)) {
3446
+ if (check2004ValidFormat(exit, regex.scorm2004_regex.CMIExit, true)) {
3338
3447
  this._exit = exit;
3339
3448
  }
3340
3449
  },
@@ -3347,7 +3456,7 @@ var CMI = (function (_super) {
3347
3456
  },
3348
3457
  set: function (launch_data) {
3349
3458
  if (this.initialized) {
3350
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3459
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3351
3460
  }
3352
3461
  else {
3353
3462
  this._launch_data = launch_data;
@@ -3362,7 +3471,7 @@ var CMI = (function (_super) {
3362
3471
  },
3363
3472
  set: function (learner_id) {
3364
3473
  if (this.initialized) {
3365
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3474
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3366
3475
  }
3367
3476
  else {
3368
3477
  this._learner_id = learner_id;
@@ -3377,7 +3486,7 @@ var CMI = (function (_super) {
3377
3486
  },
3378
3487
  set: function (learner_name) {
3379
3488
  if (this.initialized) {
3380
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3489
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3381
3490
  }
3382
3491
  else {
3383
3492
  this._learner_name = learner_name;
@@ -3391,7 +3500,7 @@ var CMI = (function (_super) {
3391
3500
  return this._location;
3392
3501
  },
3393
3502
  set: function (location) {
3394
- if (check2004ValidFormat(location, regex/* default */.A.scorm2004.CMIString1000)) {
3503
+ if (check2004ValidFormat(location, regex.scorm2004_regex.CMIString1000)) {
3395
3504
  this._location = location;
3396
3505
  }
3397
3506
  },
@@ -3404,7 +3513,7 @@ var CMI = (function (_super) {
3404
3513
  },
3405
3514
  set: function (max_time_allowed) {
3406
3515
  if (this.initialized) {
3407
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3516
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3408
3517
  }
3409
3518
  else {
3410
3519
  this._max_time_allowed = max_time_allowed;
@@ -3419,7 +3528,7 @@ var CMI = (function (_super) {
3419
3528
  },
3420
3529
  set: function (mode) {
3421
3530
  if (this.initialized) {
3422
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3531
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3423
3532
  }
3424
3533
  else {
3425
3534
  this._mode = mode;
@@ -3433,8 +3542,8 @@ var CMI = (function (_super) {
3433
3542
  return this._progress_measure;
3434
3543
  },
3435
3544
  set: function (progress_measure) {
3436
- if (check2004ValidFormat(progress_measure, regex/* default */.A.scorm2004.CMIDecimal) &&
3437
- check2004ValidRange(progress_measure, regex/* default */.A.scorm2004.progress_range)) {
3545
+ if (check2004ValidFormat(progress_measure, regex.scorm2004_regex.CMIDecimal) &&
3546
+ check2004ValidRange(progress_measure, regex.scorm2004_regex.progress_range)) {
3438
3547
  this._progress_measure = progress_measure;
3439
3548
  }
3440
3549
  },
@@ -3447,7 +3556,7 @@ var CMI = (function (_super) {
3447
3556
  },
3448
3557
  set: function (scaled_passing_score) {
3449
3558
  if (this.initialized) {
3450
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3559
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3451
3560
  }
3452
3561
  else {
3453
3562
  this._scaled_passing_score = scaled_passing_score;
@@ -3459,12 +3568,12 @@ var CMI = (function (_super) {
3459
3568
  Object.defineProperty(CMI.prototype, "session_time", {
3460
3569
  get: function () {
3461
3570
  if (!this.jsonString) {
3462
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.WRITE_ONLY_ELEMENT);
3571
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.WRITE_ONLY_ELEMENT);
3463
3572
  }
3464
3573
  return this._session_time;
3465
3574
  },
3466
3575
  set: function (session_time) {
3467
- if (check2004ValidFormat(session_time, regex/* default */.A.scorm2004.CMITimespan)) {
3576
+ if (check2004ValidFormat(session_time, regex.scorm2004_regex.CMITimespan)) {
3468
3577
  this._session_time = session_time;
3469
3578
  }
3470
3579
  },
@@ -3476,7 +3585,7 @@ var CMI = (function (_super) {
3476
3585
  return this._success_status;
3477
3586
  },
3478
3587
  set: function (success_status) {
3479
- if (check2004ValidFormat(success_status, regex/* default */.A.scorm2004.CMISStatus)) {
3588
+ if (check2004ValidFormat(success_status, regex.scorm2004_regex.CMISStatus)) {
3480
3589
  this._success_status = success_status;
3481
3590
  }
3482
3591
  },
@@ -3488,7 +3597,7 @@ var CMI = (function (_super) {
3488
3597
  return this._suspend_data;
3489
3598
  },
3490
3599
  set: function (suspend_data) {
3491
- if (check2004ValidFormat(suspend_data, regex/* default */.A.scorm2004.CMIString64000, true)) {
3600
+ if (check2004ValidFormat(suspend_data, regex.scorm2004_regex.CMIString64000, true)) {
3492
3601
  this._suspend_data = suspend_data;
3493
3602
  }
3494
3603
  },
@@ -3501,7 +3610,7 @@ var CMI = (function (_super) {
3501
3610
  },
3502
3611
  set: function (time_limit_action) {
3503
3612
  if (this.initialized) {
3504
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3613
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3505
3614
  }
3506
3615
  else {
3507
3616
  this._time_limit_action = time_limit_action;
@@ -3516,7 +3625,7 @@ var CMI = (function (_super) {
3516
3625
  },
3517
3626
  set: function (total_time) {
3518
3627
  if (this.initialized) {
3519
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3628
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3520
3629
  }
3521
3630
  else {
3522
3631
  this._total_time = total_time;
@@ -3530,9 +3639,9 @@ var CMI = (function (_super) {
3530
3639
  var startTime = this.start_time;
3531
3640
  if (typeof startTime !== "undefined" && startTime !== null) {
3532
3641
  var seconds = new Date().getTime() - startTime;
3533
- sessionTime = utilities/* getSecondsAsISODuration */.xE(seconds / 1000);
3642
+ sessionTime = utilities.getSecondsAsISODuration(seconds / 1000);
3534
3643
  }
3535
- return utilities/* addTwoDurations */.$o(this._total_time, sessionTime, regex/* default */.A.scorm2004.CMITimespan);
3644
+ return utilities.addTwoDurations(this._total_time, sessionTime, regex.scorm2004_regex.CMITimespan);
3536
3645
  };
3537
3646
  CMI.prototype.toJSON = function () {
3538
3647
  this.jsonString = true;
@@ -3565,7 +3674,7 @@ var CMI = (function (_super) {
3565
3674
  return result;
3566
3675
  };
3567
3676
  return CMI;
3568
- }(base_cmi/* BaseRootCMI */.r));
3677
+ }(base_cmi.BaseRootCMI));
3569
3678
 
3570
3679
 
3571
3680
  ;// ./src/constants/language_constants.ts
@@ -3974,11 +4083,15 @@ var enums = __webpack_require__(56);
3974
4083
 
3975
4084
 
3976
4085
 
4086
+
4087
+
3977
4088
  var ADL = (function (_super) {
3978
- (0,tslib_es6/* __extends */.C6)(ADL, _super);
4089
+ (0,tslib_es6.__extends)(ADL, _super);
3979
4090
  function ADL() {
3980
4091
  var _this = _super.call(this) || this;
4092
+ _this.data = new ADLData();
3981
4093
  _this.nav = new ADLNav();
4094
+ _this.data = new ADLData();
3982
4095
  return _this;
3983
4096
  }
3984
4097
  ADL.prototype.initialize = function () {
@@ -3986,19 +4099,25 @@ var ADL = (function (_super) {
3986
4099
  _super.prototype.initialize.call(this);
3987
4100
  (_a = this.nav) === null || _a === void 0 ? void 0 : _a.initialize();
3988
4101
  };
4102
+ ADL.prototype.reset = function () {
4103
+ var _a;
4104
+ this._initialized = false;
4105
+ (_a = this.nav) === null || _a === void 0 ? void 0 : _a.reset();
4106
+ };
3989
4107
  ADL.prototype.toJSON = function () {
3990
4108
  this.jsonString = true;
3991
4109
  var result = {
3992
4110
  nav: this.nav,
4111
+ data: this.data,
3993
4112
  };
3994
4113
  delete this.jsonString;
3995
4114
  return result;
3996
4115
  };
3997
4116
  return ADL;
3998
- }(base_cmi/* BaseCMI */.J));
4117
+ }(base_cmi.BaseCMI));
3999
4118
 
4000
4119
  var ADLNav = (function (_super) {
4001
- (0,tslib_es6/* __extends */.C6)(ADLNav, _super);
4120
+ (0,tslib_es6.__extends)(ADLNav, _super);
4002
4121
  function ADLNav() {
4003
4122
  var _this = _super.call(this) || this;
4004
4123
  _this._request = "_none_";
@@ -4010,12 +4129,18 @@ var ADLNav = (function (_super) {
4010
4129
  _super.prototype.initialize.call(this);
4011
4130
  (_a = this.request_valid) === null || _a === void 0 ? void 0 : _a.initialize();
4012
4131
  };
4132
+ ADLNav.prototype.reset = function () {
4133
+ var _a;
4134
+ this._initialized = false;
4135
+ this._request = "_none_";
4136
+ (_a = this.request_valid) === null || _a === void 0 ? void 0 : _a.reset();
4137
+ };
4013
4138
  Object.defineProperty(ADLNav.prototype, "request", {
4014
4139
  get: function () {
4015
4140
  return this._request;
4016
4141
  },
4017
4142
  set: function (request) {
4018
- if (check2004ValidFormat(request, regex/* default */.A.scorm2004.NAVEvent)) {
4143
+ if (check2004ValidFormat(request, regex.scorm2004_regex.NAVEvent)) {
4019
4144
  this._request = request;
4020
4145
  }
4021
4146
  },
@@ -4031,10 +4156,69 @@ var ADLNav = (function (_super) {
4031
4156
  return result;
4032
4157
  };
4033
4158
  return ADLNav;
4034
- }(base_cmi/* BaseCMI */.J));
4159
+ }(base_cmi.BaseCMI));
4160
+
4161
+ var ADLData = (function (_super) {
4162
+ (0,tslib_es6.__extends)(ADLData, _super);
4163
+ function ADLData() {
4164
+ return _super.call(this, {
4165
+ children: api_constants.scorm2004_constants.adl_data_children,
4166
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
4167
+ errorClass: Scorm2004ValidationError,
4168
+ }) || this;
4169
+ }
4170
+ return ADLData;
4171
+ }(array.CMIArray));
4172
+
4173
+ var ADLDataObject = (function (_super) {
4174
+ (0,tslib_es6.__extends)(ADLDataObject, _super);
4175
+ function ADLDataObject() {
4176
+ var _this = _super.call(this) || this;
4177
+ _this._id = "";
4178
+ _this._store = "";
4179
+ return _this;
4180
+ }
4181
+ ADLDataObject.prototype.reset = function () {
4182
+ this._initialized = false;
4183
+ };
4184
+ Object.defineProperty(ADLDataObject.prototype, "id", {
4185
+ get: function () {
4186
+ return this._id;
4187
+ },
4188
+ set: function (id) {
4189
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
4190
+ this._id = id;
4191
+ }
4192
+ },
4193
+ enumerable: false,
4194
+ configurable: true
4195
+ });
4196
+ Object.defineProperty(ADLDataObject.prototype, "store", {
4197
+ get: function () {
4198
+ return this._store;
4199
+ },
4200
+ set: function (store) {
4201
+ if (check2004ValidFormat(store, regex.scorm2004_regex.CMILangString4000)) {
4202
+ this._store = store;
4203
+ }
4204
+ },
4205
+ enumerable: false,
4206
+ configurable: true
4207
+ });
4208
+ ADLDataObject.prototype.toJSON = function () {
4209
+ this.jsonString = true;
4210
+ var result = {
4211
+ id: this._id,
4212
+ store: this._store,
4213
+ };
4214
+ delete this.jsonString;
4215
+ return result;
4216
+ };
4217
+ return ADLDataObject;
4218
+ }(base_cmi.BaseCMI));
4035
4219
 
4036
4220
  var ADLNavRequestValid = (function (_super) {
4037
- (0,tslib_es6/* __extends */.C6)(ADLNavRequestValid, _super);
4221
+ (0,tslib_es6.__extends)(ADLNavRequestValid, _super);
4038
4222
  function ADLNavRequestValid() {
4039
4223
  var _this = _super.call(this) || this;
4040
4224
  _this._continue = "unknown";
@@ -4043,15 +4227,20 @@ var ADLNavRequestValid = (function (_super) {
4043
4227
  _this._jump = {};
4044
4228
  return _this;
4045
4229
  }
4230
+ ADLNavRequestValid.prototype.reset = function () {
4231
+ this._initialized = false;
4232
+ this._continue = "unknown";
4233
+ this._previous = "unknown";
4234
+ };
4046
4235
  Object.defineProperty(ADLNavRequestValid.prototype, "continue", {
4047
4236
  get: function () {
4048
4237
  return this._continue;
4049
4238
  },
4050
4239
  set: function (_continue) {
4051
4240
  if (this.initialized) {
4052
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4241
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4053
4242
  }
4054
- if (check2004ValidFormat(_continue, regex/* default */.A.scorm2004.NAVBoolean)) {
4243
+ if (check2004ValidFormat(_continue, regex.scorm2004_regex.NAVBoolean)) {
4055
4244
  this._continue = _continue;
4056
4245
  }
4057
4246
  },
@@ -4064,9 +4253,9 @@ var ADLNavRequestValid = (function (_super) {
4064
4253
  },
4065
4254
  set: function (_previous) {
4066
4255
  if (this.initialized) {
4067
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4256
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4068
4257
  }
4069
- if (check2004ValidFormat(_previous, regex/* default */.A.scorm2004.NAVBoolean)) {
4258
+ if (check2004ValidFormat(_previous, regex.scorm2004_regex.NAVBoolean)) {
4070
4259
  this._previous = _previous;
4071
4260
  }
4072
4261
  },
@@ -4079,17 +4268,17 @@ var ADLNavRequestValid = (function (_super) {
4079
4268
  },
4080
4269
  set: function (choice) {
4081
4270
  if (this.initialized) {
4082
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4271
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4083
4272
  }
4084
4273
  if (typeof choice !== "object") {
4085
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4274
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4086
4275
  }
4087
4276
  for (var key in choice) {
4088
4277
  if ({}.hasOwnProperty.call(choice, key)) {
4089
- if (check2004ValidFormat(choice[key], regex/* default */.A.scorm2004.NAVBoolean) &&
4090
- check2004ValidFormat(key, regex/* default */.A.scorm2004.NAVTarget)) {
4278
+ if (check2004ValidFormat(choice[key], regex.scorm2004_regex.NAVBoolean) &&
4279
+ check2004ValidFormat(key, regex.scorm2004_regex.NAVTarget)) {
4091
4280
  this._choice[key] =
4092
- enums/* NAVBoolean */.K$[choice[key]];
4281
+ enums.NAVBoolean[choice[key]];
4093
4282
  }
4094
4283
  }
4095
4284
  }
@@ -4103,16 +4292,16 @@ var ADLNavRequestValid = (function (_super) {
4103
4292
  },
4104
4293
  set: function (jump) {
4105
4294
  if (this.initialized) {
4106
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4295
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4107
4296
  }
4108
4297
  if (typeof jump !== "object") {
4109
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4298
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4110
4299
  }
4111
4300
  for (var key in jump) {
4112
4301
  if ({}.hasOwnProperty.call(jump, key)) {
4113
- if (check2004ValidFormat(jump[key], regex/* default */.A.scorm2004.NAVBoolean) &&
4114
- check2004ValidFormat(key, regex/* default */.A.scorm2004.NAVTarget)) {
4115
- this._jump[key] = enums/* NAVBoolean */.K$[jump[key]];
4302
+ if (check2004ValidFormat(jump[key], regex.scorm2004_regex.NAVBoolean) &&
4303
+ check2004ValidFormat(key, regex.scorm2004_regex.NAVTarget)) {
4304
+ this._jump[key] = enums.NAVBoolean[jump[key]];
4116
4305
  }
4117
4306
  }
4118
4307
  }
@@ -4132,7 +4321,7 @@ var ADLNavRequestValid = (function (_super) {
4132
4321
  return result;
4133
4322
  };
4134
4323
  return ADLNavRequestValid;
4135
- }(base_cmi/* BaseCMI */.J));
4324
+ }(base_cmi.BaseCMI));
4136
4325
 
4137
4326
 
4138
4327
  ;// ./src/Scorm2004API.ts
@@ -4151,9 +4340,8 @@ var ADLNavRequestValid = (function (_super) {
4151
4340
 
4152
4341
 
4153
4342
 
4154
-
4155
4343
  var Scorm2004Impl = (function (_super) {
4156
- (0,tslib_es6/* __extends */.C6)(Scorm2004Impl, _super);
4344
+ (0,tslib_es6.__extends)(Scorm2004Impl, _super);
4157
4345
  function Scorm2004Impl(settings) {
4158
4346
  var _this = this;
4159
4347
  if (settings) {
@@ -4161,8 +4349,9 @@ var Scorm2004Impl = (function (_super) {
4161
4349
  settings.mastery_override = false;
4162
4350
  }
4163
4351
  }
4164
- _this = _super.call(this, error_codes/* default */.A.scorm2004, settings) || this;
4352
+ _this = _super.call(this, error_codes.scorm2004_errors, settings) || this;
4165
4353
  _this._version = "1.0";
4354
+ _this._globalObjectives = [];
4166
4355
  _this.cmi = new CMI();
4167
4356
  _this.adl = new ADL();
4168
4357
  _this.Initialize = _this.lmsInitialize;
@@ -4176,9 +4365,10 @@ var Scorm2004Impl = (function (_super) {
4176
4365
  return _this;
4177
4366
  }
4178
4367
  Scorm2004Impl.prototype.reset = function (settings) {
4368
+ var _a, _b;
4179
4369
  this.commonReset(settings);
4180
- this.cmi = new CMI();
4181
- this.adl = new ADL();
4370
+ (_a = this.cmi) === null || _a === void 0 ? void 0 : _a.reset();
4371
+ (_b = this.adl) === null || _b === void 0 ? void 0 : _b.reset();
4182
4372
  };
4183
4373
  Object.defineProperty(Scorm2004Impl.prototype, "version", {
4184
4374
  get: function () {
@@ -4187,14 +4377,21 @@ var Scorm2004Impl = (function (_super) {
4187
4377
  enumerable: false,
4188
4378
  configurable: true
4189
4379
  });
4380
+ Object.defineProperty(Scorm2004Impl.prototype, "globalObjectives", {
4381
+ get: function () {
4382
+ return this._globalObjectives;
4383
+ },
4384
+ enumerable: false,
4385
+ configurable: true
4386
+ });
4190
4387
  Scorm2004Impl.prototype.lmsInitialize = function () {
4191
4388
  this.cmi.initialize();
4192
4389
  return this.initialize("Initialize");
4193
4390
  };
4194
4391
  Scorm2004Impl.prototype.lmsFinish = function () {
4195
4392
  var _this = this;
4196
- (function () { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
4197
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
4393
+ (function () { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
4394
+ return (0,tslib_es6.__generator)(this, function (_a) {
4198
4395
  switch (_a.label) {
4199
4396
  case 0: return [4, this.internalFinish()];
4200
4397
  case 1:
@@ -4203,18 +4400,18 @@ var Scorm2004Impl = (function (_super) {
4203
4400
  }
4204
4401
  });
4205
4402
  }); })();
4206
- return api_constants/* default */.A.global.SCORM_TRUE;
4403
+ return api_constants.global_constants.SCORM_TRUE;
4207
4404
  };
4208
4405
  Scorm2004Impl.prototype.internalFinish = function () {
4209
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
4406
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
4210
4407
  var result, navActions, request, choiceJumpRegex, matches, target, action;
4211
4408
  var _a, _b, _c, _d;
4212
- return (0,tslib_es6/* __generator */.YH)(this, function (_e) {
4409
+ return (0,tslib_es6.__generator)(this, function (_e) {
4213
4410
  switch (_e.label) {
4214
4411
  case 0: return [4, this.terminate("Terminate", true)];
4215
4412
  case 1:
4216
4413
  result = _e.sent();
4217
- if (result === api_constants/* default */.A.global.SCORM_TRUE) {
4414
+ if (result === api_constants.global_constants.SCORM_TRUE) {
4218
4415
  if (this.adl.nav.request !== "_none_") {
4219
4416
  navActions = {
4220
4417
  continue: "SequenceNext",
@@ -4227,7 +4424,7 @@ var Scorm2004Impl = (function (_super) {
4227
4424
  abandonAll: "SequenceAbandonAll",
4228
4425
  };
4229
4426
  request = this.adl.nav.request;
4230
- choiceJumpRegex = new RegExp(regex/* default */.A.scorm2004.NAVEvent);
4427
+ choiceJumpRegex = new RegExp(regex.scorm2004_regex.NAVEvent);
4231
4428
  matches = request.match(choiceJumpRegex);
4232
4429
  target = "";
4233
4430
  if (matches) {
@@ -4256,7 +4453,7 @@ var Scorm2004Impl = (function (_super) {
4256
4453
  };
4257
4454
  Scorm2004Impl.prototype.lmsGetValue = function (CMIElement) {
4258
4455
  var adlNavRequestRegex = "^adl\\.nav\\.request_valid\\.(choice|jump)\\.{target=\\S{0,}([a-zA-Z0-9-_]+)}$";
4259
- if ((0,utilities/* stringMatches */.J6)(CMIElement, adlNavRequestRegex)) {
4456
+ if ((0,utilities.stringMatches)(CMIElement, adlNavRequestRegex)) {
4260
4457
  var matches = CMIElement.match(adlNavRequestRegex);
4261
4458
  var request = matches[1];
4262
4459
  var target = matches[2].replace("{target=", "").replace("}", "");
@@ -4278,8 +4475,8 @@ var Scorm2004Impl = (function (_super) {
4278
4475
  this.scheduleCommit(500, "LMSCommit");
4279
4476
  }
4280
4477
  else {
4281
- (function () { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
4282
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
4478
+ (function () { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
4479
+ return (0,tslib_es6.__generator)(this, function (_a) {
4283
4480
  switch (_a.label) {
4284
4481
  case 0: return [4, this.commit("LMSCommit", false)];
4285
4482
  case 1:
@@ -4289,7 +4486,7 @@ var Scorm2004Impl = (function (_super) {
4289
4486
  });
4290
4487
  }); })();
4291
4488
  }
4292
- return api_constants/* default */.A.global.SCORM_TRUE;
4489
+ return api_constants.global_constants.SCORM_TRUE;
4293
4490
  };
4294
4491
  Scorm2004Impl.prototype.lmsGetLastError = function () {
4295
4492
  return this.getLastError("GetLastError");
@@ -4301,29 +4498,58 @@ var Scorm2004Impl = (function (_super) {
4301
4498
  return this.getDiagnostic("GetDiagnostic", CMIErrorCode);
4302
4499
  };
4303
4500
  Scorm2004Impl.prototype.setCMIValue = function (CMIElement, value) {
4501
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.objectives\\.\\d+")) {
4502
+ var parts = CMIElement.split(".");
4503
+ var index = Number(parts[2]);
4504
+ var element_base = "cmi.objectives.".concat(index);
4505
+ var objective_id_1;
4506
+ var setting_id = (0,utilities.stringMatches)(CMIElement, "cmi\\.objectives\\.\\d+\\.id");
4507
+ if (setting_id) {
4508
+ objective_id_1 = value;
4509
+ }
4510
+ else {
4511
+ var objective = this.cmi.objectives.findObjectiveByIndex(index);
4512
+ objective_id_1 = objective ? objective.id : undefined;
4513
+ }
4514
+ var is_global = objective_id_1 && this.settings.globalObjectiveIds.includes(objective_id_1);
4515
+ if (is_global) {
4516
+ var global_index = this._globalObjectives.findIndex(function (obj) { return obj.id === objective_id_1; });
4517
+ if (global_index === -1) {
4518
+ global_index = this._globalObjectives.length;
4519
+ var newGlobalObjective = new CMIObjectivesObject();
4520
+ newGlobalObjective.id = objective_id_1;
4521
+ this._globalObjectives.push(newGlobalObjective);
4522
+ }
4523
+ var global_element = CMIElement.replace(element_base, "_globalObjectives.".concat(global_index));
4524
+ this._commonSetCMIValue("SetGlobalObjectiveValue", true, global_element, value);
4525
+ }
4526
+ }
4304
4527
  return this._commonSetCMIValue("SetValue", true, CMIElement, value);
4305
4528
  };
4306
4529
  Scorm2004Impl.prototype.getChildElement = function (CMIElement, value, foundFirstIndex) {
4307
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.objectives\\.\\d+")) {
4530
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.objectives\\.\\d+")) {
4308
4531
  return new CMIObjectivesObject();
4309
4532
  }
4310
4533
  if (foundFirstIndex) {
4311
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.interactions\\.\\d+\\.correct_responses\\.\\d+")) {
4534
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.interactions\\.\\d+\\.correct_responses\\.\\d+")) {
4312
4535
  return this.createCorrectResponsesObject(CMIElement, value);
4313
4536
  }
4314
- else if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.interactions\\.\\d+\\.objectives\\.\\d+")) {
4537
+ else if ((0,utilities.stringMatches)(CMIElement, "cmi\\.interactions\\.\\d+\\.objectives\\.\\d+")) {
4315
4538
  return new CMIInteractionsObjectivesObject();
4316
4539
  }
4317
4540
  }
4318
- else if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.interactions\\.\\d+")) {
4541
+ else if ((0,utilities.stringMatches)(CMIElement, "cmi\\.interactions\\.\\d+")) {
4319
4542
  return new CMIInteractionsObject();
4320
4543
  }
4321
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.comments_from_learner\\.\\d+")) {
4544
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.comments_from_learner\\.\\d+")) {
4322
4545
  return new CMICommentsObject();
4323
4546
  }
4324
- else if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.comments_from_lms\\.\\d+")) {
4547
+ else if ((0,utilities.stringMatches)(CMIElement, "cmi\\.comments_from_lms\\.\\d+")) {
4325
4548
  return new CMICommentsObject(true);
4326
4549
  }
4550
+ if ((0,utilities.stringMatches)(CMIElement, "adl\\.data\\.\\d+")) {
4551
+ return new ADLDataObject();
4552
+ }
4327
4553
  return null;
4328
4554
  };
4329
4555
  Scorm2004Impl.prototype.createCorrectResponsesObject = function (CMIElement, value) {
@@ -4332,7 +4558,7 @@ var Scorm2004Impl = (function (_super) {
4332
4558
  var interaction = this.cmi.interactions.childArray[index];
4333
4559
  if (this.isInitialized()) {
4334
4560
  if (!interaction.type) {
4335
- this.throwSCORMError(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
4561
+ this.throwSCORMError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
4336
4562
  }
4337
4563
  else {
4338
4564
  this.checkDuplicateChoiceResponse(interaction, value);
@@ -4341,7 +4567,7 @@ var Scorm2004Impl = (function (_super) {
4341
4567
  this.checkValidResponseType(response_type, value, interaction.type);
4342
4568
  }
4343
4569
  else {
4344
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Incorrect Response Type: " + interaction.type);
4570
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Incorrect Response Type: " + interaction.type);
4345
4571
  }
4346
4572
  }
4347
4573
  }
@@ -4362,7 +4588,7 @@ var Scorm2004Impl = (function (_super) {
4362
4588
  this.checkCorrectResponseValue(interaction_type, nodes, value);
4363
4589
  }
4364
4590
  else if (nodes.length > response_type.max) {
4365
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Data Model Element Pattern Too Long");
4591
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Data Model Element Pattern Too Long");
4366
4592
  }
4367
4593
  };
4368
4594
  Scorm2004Impl.prototype.checkDuplicateChoiceResponse = function (interaction, value) {
@@ -4371,7 +4597,7 @@ var Scorm2004Impl = (function (_super) {
4371
4597
  for (var i = 0; i < interaction_count && this.lastErrorCode === "0"; i++) {
4372
4598
  var response = interaction.correct_responses.childArray[i];
4373
4599
  if (response.pattern === value) {
4374
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE);
4600
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE);
4375
4601
  }
4376
4602
  }
4377
4603
  }
@@ -4394,12 +4620,12 @@ var Scorm2004Impl = (function (_super) {
4394
4620
  }
4395
4621
  else {
4396
4622
  if (this.lastErrorCode === "0") {
4397
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Data Model Element Pattern Already Exists");
4623
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Data Model Element Pattern Already Exists");
4398
4624
  }
4399
4625
  }
4400
4626
  }
4401
4627
  else {
4402
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Data Model Element Collection Limit Reached");
4628
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Data Model Element Collection Limit Reached");
4403
4629
  }
4404
4630
  };
4405
4631
  Scorm2004Impl.prototype.getCMIValue = function (CMIElement) {
@@ -4409,11 +4635,11 @@ var Scorm2004Impl = (function (_super) {
4409
4635
  var basicMessage = "";
4410
4636
  var detailMessage = "";
4411
4637
  errorNumber = String(errorNumber);
4412
- if (api_constants/* default */.A.scorm2004.error_descriptions[errorNumber]) {
4638
+ if (api_constants.scorm2004_constants.error_descriptions[errorNumber]) {
4413
4639
  basicMessage =
4414
- api_constants/* default */.A.scorm2004.error_descriptions[errorNumber].basicMessage;
4640
+ api_constants.scorm2004_constants.error_descriptions[errorNumber].basicMessage;
4415
4641
  detailMessage =
4416
- api_constants/* default */.A.scorm2004.error_descriptions[errorNumber].detailMessage;
4642
+ api_constants.scorm2004_constants.error_descriptions[errorNumber].detailMessage;
4417
4643
  }
4418
4644
  return detail ? detailMessage : basicMessage;
4419
4645
  };
@@ -4439,36 +4665,36 @@ var Scorm2004Impl = (function (_super) {
4439
4665
  if (values.length === 2) {
4440
4666
  var matches = values[0].match(formatRegex);
4441
4667
  if (!matches) {
4442
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4668
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4443
4669
  }
4444
4670
  else {
4445
4671
  if (!response.format2 ||
4446
4672
  !values[1].match(new RegExp(response.format2))) {
4447
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4673
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4448
4674
  }
4449
4675
  }
4450
4676
  }
4451
4677
  else {
4452
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4678
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4453
4679
  }
4454
4680
  }
4455
4681
  else {
4456
4682
  var matches = nodes[i].match(formatRegex);
4457
4683
  if ((!matches && value !== "") ||
4458
4684
  (!matches && interaction_type === "true-false")) {
4459
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4685
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4460
4686
  }
4461
4687
  else {
4462
4688
  if (interaction_type === "numeric" && nodes.length > 1) {
4463
4689
  if (Number(nodes[0]) > Number(nodes[1])) {
4464
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4690
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4465
4691
  }
4466
4692
  }
4467
4693
  else {
4468
4694
  if (nodes[i] !== "" && response.unique) {
4469
4695
  for (var j = 0; j < i && this.lastErrorCode === "0"; j++) {
4470
4696
  if (nodes[i] === nodes[j]) {
4471
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4697
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4472
4698
  }
4473
4699
  }
4474
4700
  }
@@ -4487,12 +4713,12 @@ var Scorm2004Impl = (function (_super) {
4487
4713
  while (matches) {
4488
4714
  switch (matches[2]) {
4489
4715
  case "lang":
4490
- langMatches = node.match(regex/* default */.A.scorm2004.CMILangcr);
4716
+ langMatches = node.match(regex.scorm2004_regex.CMILangcr);
4491
4717
  if (langMatches) {
4492
4718
  var lang = langMatches[3];
4493
4719
  if (lang !== undefined && lang.length > 0) {
4494
4720
  if (!language_constants.includes(lang.toLowerCase())) {
4495
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4721
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4496
4722
  }
4497
4723
  }
4498
4724
  }
@@ -4501,7 +4727,7 @@ var Scorm2004Impl = (function (_super) {
4501
4727
  case "case_matters":
4502
4728
  if (!seenLang && !seenOrder && !seenCase) {
4503
4729
  if (matches[3] !== "true" && matches[3] !== "false") {
4504
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4730
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4505
4731
  }
4506
4732
  }
4507
4733
  seenCase = true;
@@ -4509,7 +4735,7 @@ var Scorm2004Impl = (function (_super) {
4509
4735
  case "order_matters":
4510
4736
  if (!seenCase && !seenLang && !seenOrder) {
4511
4737
  if (matches[3] !== "true" && matches[3] !== "false") {
4512
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4738
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4513
4739
  }
4514
4740
  }
4515
4741
  seenOrder = true;
@@ -4530,10 +4756,10 @@ var Scorm2004Impl = (function (_super) {
4530
4756
  cmiExport.cmi.total_time = this.cmi.getCurrentTotalTime();
4531
4757
  }
4532
4758
  var result = [];
4533
- var flattened = utilities/* flatten */.Bq(cmiExport);
4759
+ var flattened = utilities.flatten(cmiExport);
4534
4760
  switch (this.settings.dataCommitFormat) {
4535
4761
  case "flattened":
4536
- return utilities/* flatten */.Bq(cmiExport);
4762
+ return utilities.flatten(cmiExport);
4537
4763
  case "params":
4538
4764
  for (var item in flattened) {
4539
4765
  if ({}.hasOwnProperty.call(flattened, item)) {
@@ -4549,23 +4775,23 @@ var Scorm2004Impl = (function (_super) {
4549
4775
  Scorm2004Impl.prototype.renderCommitObject = function (terminateCommit) {
4550
4776
  var cmiExport = this.renderCommitCMI(terminateCommit);
4551
4777
  var totalTimeDuration = this.cmi.getCurrentTotalTime();
4552
- var totalTimeSeconds = utilities/* getDurationAsSeconds */.OI(totalTimeDuration, regex/* default */.A.scorm2004.CMITimespan);
4553
- var completionStatus = enums/* CompletionStatus */.lC.unknown;
4554
- var successStatus = enums/* SuccessStatus */.YE.unknown;
4778
+ var totalTimeSeconds = utilities.getDurationAsSeconds(totalTimeDuration, regex.scorm2004_regex.CMITimespan);
4779
+ var completionStatus = enums.CompletionStatus.unknown;
4780
+ var successStatus = enums.SuccessStatus.unknown;
4555
4781
  if (this.cmi.completion_status) {
4556
4782
  if (this.cmi.completion_status === "completed") {
4557
- completionStatus = enums/* CompletionStatus */.lC.completed;
4783
+ completionStatus = enums.CompletionStatus.completed;
4558
4784
  }
4559
4785
  else if (this.cmi.completion_status === "incomplete") {
4560
- completionStatus = enums/* CompletionStatus */.lC.incomplete;
4786
+ completionStatus = enums.CompletionStatus.incomplete;
4561
4787
  }
4562
4788
  }
4563
4789
  if (this.cmi.success_status) {
4564
4790
  if (this.cmi.success_status === "passed") {
4565
- successStatus = enums/* SuccessStatus */.YE.passed;
4791
+ successStatus = enums.SuccessStatus.passed;
4566
4792
  }
4567
4793
  else if (this.cmi.success_status === "failed") {
4568
- successStatus = enums/* SuccessStatus */.YE.failed;
4794
+ successStatus = enums.SuccessStatus.failed;
4569
4795
  }
4570
4796
  }
4571
4797
  var score = this.cmi.score;
@@ -4597,10 +4823,10 @@ var Scorm2004Impl = (function (_super) {
4597
4823
  return commitObject;
4598
4824
  };
4599
4825
  Scorm2004Impl.prototype.storeData = function (terminateCommit) {
4600
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
4826
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
4601
4827
  var navRequest, commitObject, result;
4602
4828
  var _a, _b, _c;
4603
- return (0,tslib_es6/* __generator */.YH)(this, function (_d) {
4829
+ return (0,tslib_es6.__generator)(this, function (_d) {
4604
4830
  switch (_d.label) {
4605
4831
  case 0:
4606
4832
  if (terminateCommit) {
@@ -4644,7 +4870,7 @@ var Scorm2004Impl = (function (_super) {
4644
4870
  }
4645
4871
  return [2, result];
4646
4872
  case 2: return [2, {
4647
- result: api_constants/* default */.A.global.SCORM_TRUE,
4873
+ result: api_constants.global_constants.SCORM_TRUE,
4648
4874
  errorCode: 0,
4649
4875
  }];
4650
4876
  }
@@ -4652,10 +4878,10 @@ var Scorm2004Impl = (function (_super) {
4652
4878
  });
4653
4879
  };
4654
4880
  return Scorm2004Impl;
4655
- }(BaseAPI/* default */.A));
4881
+ }(BaseAPI["default"]));
4656
4882
 
4657
4883
 
4658
- var __webpack_exports__Scorm2004Impl = __webpack_exports__.Z;
4659
- export { __webpack_exports__Scorm2004Impl as Scorm2004Impl };
4884
+ var __webpack_exports__Scorm2004API = __webpack_exports__.Scorm2004API;
4885
+ export { __webpack_exports__Scorm2004API as Scorm2004API };
4660
4886
 
4661
4887
  //# sourceMappingURL=scorm2004.js.map