scorm-again 2.5.0 → 2.6.0

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