scorm-again 2.4.1 → 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 (87) hide show
  1. package/README.md +23 -23
  2. package/dist/aicc.js +676 -493
  3. package/dist/aicc.js.map +1 -1
  4. package/dist/aicc.min.js +1 -1
  5. package/dist/aicc.min.js.map +1 -1
  6. package/dist/esm/aicc.js +692 -496
  7. package/dist/esm/aicc.js.map +1 -1
  8. package/dist/esm/aicc.min.js +1 -1
  9. package/dist/esm/aicc.min.js.map +1 -1
  10. package/dist/esm/scorm-again.js +1151 -743
  11. package/dist/esm/scorm-again.js.map +1 -1
  12. package/dist/esm/scorm-again.min.js +1 -1
  13. package/dist/esm/scorm-again.min.js.map +1 -1
  14. package/dist/esm/scorm12.js +534 -401
  15. package/dist/esm/scorm12.js.map +1 -1
  16. package/dist/esm/scorm12.min.js +1 -1
  17. package/dist/esm/scorm12.min.js.map +1 -1
  18. package/dist/esm/scorm2004.js +712 -465
  19. package/dist/esm/scorm2004.js.map +1 -1
  20. package/dist/esm/scorm2004.min.js +1 -1
  21. package/dist/esm/scorm2004.min.js.map +1 -1
  22. package/dist/scorm-again.js +1127 -731
  23. package/dist/scorm-again.js.map +1 -1
  24. package/dist/scorm-again.min.js +1 -1
  25. package/dist/scorm-again.min.js.map +1 -1
  26. package/dist/scorm12.js +521 -400
  27. package/dist/scorm12.js.map +1 -1
  28. package/dist/scorm12.min.js +1 -1
  29. package/dist/scorm12.min.js.map +1 -1
  30. package/dist/scorm2004.js +698 -464
  31. package/dist/scorm2004.js.map +1 -1
  32. package/dist/scorm2004.min.js +1 -1
  33. package/dist/scorm2004.min.js.map +1 -1
  34. package/package.json +15 -15
  35. package/src/AICC.ts +3 -0
  36. package/src/BaseAPI.ts +60 -95
  37. package/src/Scorm12API.ts +14 -14
  38. package/src/Scorm2004API.ts +107 -37
  39. package/src/cmi/aicc/attempts.ts +22 -12
  40. package/src/cmi/aicc/cmi.ts +2 -2
  41. package/src/cmi/aicc/core.ts +44 -26
  42. package/src/cmi/aicc/evaluation.ts +31 -12
  43. package/src/cmi/aicc/paths.ts +29 -15
  44. package/src/cmi/aicc/student_data.ts +14 -5
  45. package/src/cmi/aicc/student_demographics.ts +31 -24
  46. package/src/cmi/aicc/student_preferences.ts +11 -11
  47. package/src/cmi/aicc/tries.ts +24 -14
  48. package/src/cmi/aicc/validation.ts +3 -4
  49. package/src/cmi/common/array.ts +17 -5
  50. package/src/cmi/common/base_cmi.ts +3 -1
  51. package/src/cmi/common/score.ts +16 -13
  52. package/src/cmi/scorm12/cmi.ts +25 -10
  53. package/src/cmi/scorm12/interactions.ts +62 -28
  54. package/src/cmi/scorm12/nav.ts +13 -5
  55. package/src/cmi/scorm12/objectives.ts +28 -18
  56. package/src/cmi/scorm12/student_data.ts +15 -8
  57. package/src/cmi/scorm12/student_preference.ts +20 -13
  58. package/src/cmi/scorm12/validation.ts +7 -7
  59. package/src/cmi/scorm2004/adl.ts +141 -25
  60. package/src/cmi/scorm2004/cmi.ts +50 -55
  61. package/src/cmi/scorm2004/comments.ts +21 -20
  62. package/src/cmi/scorm2004/interactions.ts +73 -32
  63. package/src/cmi/scorm2004/learner_preference.ts +20 -13
  64. package/src/cmi/scorm2004/objectives.ts +41 -16
  65. package/src/cmi/scorm2004/score.ts +22 -11
  66. package/src/cmi/scorm2004/validation.ts +4 -4
  67. package/src/constants/api_constants.ts +8 -29
  68. package/src/constants/default_settings.ts +26 -12
  69. package/src/constants/enums.ts +9 -0
  70. package/src/constants/error_codes.ts +5 -12
  71. package/src/constants/regex.ts +5 -11
  72. package/src/constants/response_constants.ts +1 -2
  73. package/src/exceptions/aicc_exceptions.ts +29 -0
  74. package/src/exceptions/scorm12_exceptions.ts +29 -0
  75. package/src/exceptions/scorm2004_exceptions.ts +29 -0
  76. package/src/exceptions.ts +1 -86
  77. package/src/types/api_types.ts +29 -5
  78. package/test/AICC.spec.ts +114 -43
  79. package/test/Scorm12API.spec.ts +37 -39
  80. package/test/Scorm2004API.spec.ts +165 -80
  81. package/test/cmi/aicc_cmi.spec.ts +6 -9
  82. package/test/cmi/scorm12_cmi.spec.ts +8 -8
  83. package/test/cmi/scorm2004_cmi.spec.ts +8 -9
  84. package/test/exceptions.spec.ts +11 -9
  85. package/test/types/api_types.spec.ts +40 -47
  86. package/test/utilities.spec.ts +1 -4
  87. package/webpack.config.js +4 -0
@@ -3,10 +3,12 @@
3
3
  /***/ 429:
4
4
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5
5
 
6
+ // ESM COMPAT FLAG
7
+ __webpack_require__.r(__webpack_exports__);
6
8
 
7
9
  // EXPORTS
8
10
  __webpack_require__.d(__webpack_exports__, {
9
- A: function() { return /* binding */ src_BaseAPI; }
11
+ "default": function() { return /* binding */ src_BaseAPI; }
10
12
  });
11
13
 
12
14
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.mjs
@@ -15,15 +17,16 @@ var tslib_es6 = __webpack_require__(635);
15
17
  var array = __webpack_require__(589);
16
18
  // EXTERNAL MODULE: ./src/exceptions.ts
17
19
  var exceptions = __webpack_require__(784);
18
- // EXTERNAL MODULE: ./src/constants/error_codes.ts
19
- var error_codes = __webpack_require__(797);
20
20
  // EXTERNAL MODULE: ./src/constants/api_constants.ts
21
21
  var api_constants = __webpack_require__(340);
22
22
  // EXTERNAL MODULE: ./src/utilities.ts
23
23
  var utilities = __webpack_require__(864);
24
+ // EXTERNAL MODULE: ./src/constants/enums.ts
25
+ var enums = __webpack_require__(56);
24
26
  ;// ./src/constants/default_settings.ts
25
27
 
26
28
 
29
+
27
30
  var DefaultSettings = {
28
31
  autocommit: false,
29
32
  autocommitSeconds: 10,
@@ -33,7 +36,7 @@ var DefaultSettings = {
33
36
  dataCommitFormat: "json",
34
37
  commitRequestDataType: "application/json;charset=UTF-8",
35
38
  autoProgress: false,
36
- logLevel: api_constants/* default */.A.global.LOG_LEVEL_ERROR,
39
+ logLevel: enums.LogLevelEnum.ERROR,
37
40
  selfReportSessionTime: false,
38
41
  alwaysSendTotalTime: false,
39
42
  renderCommonCommitFields: false,
@@ -42,9 +45,9 @@ var DefaultSettings = {
42
45
  xhrWithCredentials: false,
43
46
  fetchMode: "cors",
44
47
  responseHandler: function (response) {
45
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
48
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
46
49
  var responseText, httpResult;
47
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
50
+ return (0,tslib_es6.__generator)(this, function (_a) {
48
51
  switch (_a.label) {
49
52
  case 0:
50
53
  if (!(typeof response !== "undefined")) return [3, 2];
@@ -59,13 +62,13 @@ var DefaultSettings = {
59
62
  !{}.hasOwnProperty.call(httpResult, "result")) {
60
63
  if (response.status === 200) {
61
64
  return [2, {
62
- result: api_constants/* default */.A.global.SCORM_TRUE,
65
+ result: api_constants.global_constants.SCORM_TRUE,
63
66
  errorCode: 0,
64
67
  }];
65
68
  }
66
69
  else {
67
70
  return [2, {
68
- result: api_constants/* default */.A.global.SCORM_FALSE,
71
+ result: api_constants.global_constants.SCORM_FALSE,
69
72
  errorCode: 101,
70
73
  }];
71
74
  }
@@ -75,14 +78,14 @@ var DefaultSettings = {
75
78
  result: httpResult.result,
76
79
  errorCode: httpResult.errorCode
77
80
  ? httpResult.errorCode
78
- : httpResult.result === api_constants/* default */.A.global.SCORM_TRUE
81
+ : httpResult.result === api_constants.global_constants.SCORM_TRUE
79
82
  ? 0
80
83
  : 101,
81
84
  }];
82
85
  }
83
86
  _a.label = 2;
84
87
  case 2: return [2, {
85
- result: api_constants/* default */.A.global.SCORM_FALSE,
88
+ result: api_constants.global_constants.SCORM_FALSE,
86
89
  errorCode: 101,
87
90
  }];
88
91
  }
@@ -94,16 +97,28 @@ var DefaultSettings = {
94
97
  },
95
98
  onLogMessage: function (messageLevel, logMessage) {
96
99
  switch (messageLevel) {
97
- case api_constants/* default */.A.global.LOG_LEVEL_ERROR:
100
+ case "4":
101
+ case 4:
102
+ case "ERROR":
103
+ case enums.LogLevelEnum.ERROR:
98
104
  console.error(logMessage);
99
105
  break;
100
- case api_constants/* default */.A.global.LOG_LEVEL_WARNING:
106
+ case "3":
107
+ case 3:
108
+ case "WARN":
109
+ case enums.LogLevelEnum.WARN:
101
110
  console.warn(logMessage);
102
111
  break;
103
- case api_constants/* default */.A.global.LOG_LEVEL_INFO:
112
+ case "2":
113
+ case 2:
114
+ case "INFO":
115
+ case enums.LogLevelEnum.INFO:
104
116
  console.info(logMessage);
105
117
  break;
106
- case api_constants/* default */.A.global.LOG_LEVEL_DEBUG:
118
+ case "1":
119
+ case 1:
120
+ case "DEBUG":
121
+ case enums.LogLevelEnum.DEBUG:
107
122
  if (console.debug) {
108
123
  console.debug(logMessage);
109
124
  }
@@ -115,6 +130,7 @@ var DefaultSettings = {
115
130
  },
116
131
  scoItemIds: [],
117
132
  scoItemIdValidator: false,
133
+ globalObjectiveIds: [],
118
134
  };
119
135
 
120
136
  ;// ./src/helpers/scheduled_commit.ts
@@ -135,7 +151,7 @@ var ScheduledCommit = (function () {
135
151
  ScheduledCommit.prototype.wrapper = function () {
136
152
  var _this = this;
137
153
  if (!this._cancelled) {
138
- (function () { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () { return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
154
+ (function () { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () { return (0,tslib_es6.__generator)(this, function (_a) {
139
155
  switch (_a.label) {
140
156
  case 0: return [4, this._API.commit(this._callback)];
141
157
  case 1: return [2, _a.sent()];
@@ -163,7 +179,7 @@ var BaseAPI = (function () {
163
179
  if (_newTarget === BaseAPI) {
164
180
  throw new TypeError("Cannot construct BaseAPI instances directly");
165
181
  }
166
- this.currentState = api_constants/* default */.A.global.STATE_NOT_INITIALIZED;
182
+ this.currentState = api_constants.global_constants.STATE_NOT_INITIALIZED;
167
183
  this.lastErrorCode = "0";
168
184
  this.listenerArray = [];
169
185
  this._error_codes = error_codes;
@@ -172,15 +188,21 @@ var BaseAPI = (function () {
172
188
  }
173
189
  this.apiLogLevel = this.settings.logLevel;
174
190
  this.selfReportSessionTime = this.settings.selfReportSessionTime;
191
+ if (this.apiLogLevel === undefined) {
192
+ this.apiLogLevel = enums.LogLevelEnum.NONE;
193
+ }
175
194
  }
176
195
  BaseAPI.prototype.commonReset = function (settings) {
177
- this.settings = (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, this.settings), settings);
178
- this.currentState = api_constants/* default */.A.global.STATE_NOT_INITIALIZED;
196
+ this.apiLog("reset", "Called", enums.LogLevelEnum.INFO);
197
+ this.settings = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this.settings), settings);
198
+ this.clearScheduledCommit();
199
+ this.currentState = api_constants.global_constants.STATE_NOT_INITIALIZED;
179
200
  this.lastErrorCode = "0";
180
201
  this.listenerArray = [];
202
+ this.startingData = undefined;
181
203
  };
182
204
  BaseAPI.prototype.initialize = function (callbackName, initializeMessage, terminationMessage) {
183
- var returnValue = api_constants/* default */.A.global.SCORM_FALSE;
205
+ var returnValue = api_constants.global_constants.SCORM_FALSE;
184
206
  if (this.isInitialized()) {
185
207
  this.throwSCORMError(this._error_codes.INITIALIZED, initializeMessage);
186
208
  }
@@ -191,17 +213,17 @@ var BaseAPI = (function () {
191
213
  if (this.selfReportSessionTime) {
192
214
  this.cmi.setStartTime();
193
215
  }
194
- this.currentState = api_constants/* default */.A.global.STATE_INITIALIZED;
216
+ this.currentState = api_constants.global_constants.STATE_INITIALIZED;
195
217
  this.lastErrorCode = "0";
196
- returnValue = api_constants/* default */.A.global.SCORM_TRUE;
218
+ returnValue = api_constants.global_constants.SCORM_TRUE;
197
219
  this.processListeners(callbackName);
198
220
  }
199
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
221
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
200
222
  this.clearSCORMError(returnValue);
201
223
  return returnValue;
202
224
  };
203
225
  BaseAPI.prototype.apiLog = function (functionName, logMessage, messageLevel, CMIElement) {
204
- logMessage = (0,utilities/* formatMessage */.hw)(functionName, logMessage, CMIElement);
226
+ logMessage = (0,utilities.formatMessage)(functionName, logMessage, CMIElement);
205
227
  if (messageLevel >= this.apiLogLevel) {
206
228
  this.settings.onLogMessage(messageLevel, logMessage);
207
229
  }
@@ -218,20 +240,20 @@ var BaseAPI = (function () {
218
240
  return this._settings;
219
241
  },
220
242
  set: function (settings) {
221
- this._settings = (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, this._settings), settings);
243
+ this._settings = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this._settings), settings);
222
244
  },
223
245
  enumerable: false,
224
246
  configurable: true
225
247
  });
226
248
  BaseAPI.prototype.terminate = function (callbackName, checkTerminated) {
227
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
249
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
228
250
  var returnValue, result;
229
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
251
+ return (0,tslib_es6.__generator)(this, function (_a) {
230
252
  switch (_a.label) {
231
253
  case 0:
232
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
254
+ returnValue = api_constants.global_constants.SCORM_FALSE;
233
255
  if (!this.checkState(checkTerminated, this._error_codes.TERMINATION_BEFORE_INIT, this._error_codes.MULTIPLE_TERMINATION)) return [3, 2];
234
- this.currentState = api_constants/* default */.A.global.STATE_TERMINATED;
256
+ this.currentState = api_constants.global_constants.STATE_TERMINATED;
235
257
  return [4, this.storeData(true)];
236
258
  case 1:
237
259
  result = _a.sent();
@@ -241,14 +263,14 @@ var BaseAPI = (function () {
241
263
  returnValue =
242
264
  typeof result !== "undefined" && result.result
243
265
  ? result.result
244
- : api_constants/* default */.A.global.SCORM_FALSE;
266
+ : api_constants.global_constants.SCORM_FALSE;
245
267
  if (checkTerminated)
246
268
  this.lastErrorCode = "0";
247
- returnValue = api_constants/* default */.A.global.SCORM_TRUE;
269
+ returnValue = api_constants.global_constants.SCORM_TRUE;
248
270
  this.processListeners(callbackName);
249
271
  _a.label = 2;
250
272
  case 2:
251
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
273
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
252
274
  this.clearSCORMError(returnValue);
253
275
  return [2, returnValue];
254
276
  }
@@ -268,7 +290,7 @@ var BaseAPI = (function () {
268
290
  }
269
291
  this.processListeners(callbackName, CMIElement);
270
292
  }
271
- this.apiLog(callbackName, ": returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
293
+ this.apiLog(callbackName, ": returned: " + returnValue, enums.LogLevelEnum.INFO, CMIElement);
272
294
  if (returnValue === undefined) {
273
295
  return "";
274
296
  }
@@ -279,7 +301,7 @@ var BaseAPI = (function () {
279
301
  if (value !== undefined) {
280
302
  value = String(value);
281
303
  }
282
- var returnValue = api_constants/* default */.A.global.SCORM_FALSE;
304
+ var returnValue = api_constants.global_constants.SCORM_FALSE;
283
305
  if (this.checkState(checkTerminated, this._error_codes.STORE_BEFORE_INIT, this._error_codes.STORE_AFTER_TERM)) {
284
306
  if (checkTerminated)
285
307
  this.lastErrorCode = "0";
@@ -292,27 +314,26 @@ var BaseAPI = (function () {
292
314
  this.processListeners(callbackName, CMIElement, value);
293
315
  }
294
316
  if (returnValue === undefined) {
295
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
317
+ returnValue = api_constants.global_constants.SCORM_FALSE;
296
318
  }
297
319
  if (String(this.lastErrorCode) === "0") {
298
320
  if (this.settings.autocommit) {
299
321
  this.scheduleCommit(this.settings.autocommitSeconds * 1000, commitCallback);
300
322
  }
301
323
  }
302
- this.apiLog(callbackName, ": " + value + ": result: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
324
+ this.apiLog(callbackName, ": " + value + ": result: " + returnValue, enums.LogLevelEnum.INFO, CMIElement);
303
325
  this.clearSCORMError(returnValue);
304
326
  return returnValue;
305
327
  };
306
328
  BaseAPI.prototype.commit = function (callbackName_1) {
307
- return (0,tslib_es6/* __awaiter */.sH)(this, arguments, void 0, function (callbackName, checkTerminated) {
329
+ return (0,tslib_es6.__awaiter)(this, arguments, void 0, function (callbackName, checkTerminated) {
308
330
  var returnValue, result;
309
331
  if (checkTerminated === void 0) { checkTerminated = false; }
310
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
332
+ return (0,tslib_es6.__generator)(this, function (_a) {
311
333
  switch (_a.label) {
312
334
  case 0:
313
- console.log("commit");
314
335
  this.clearScheduledCommit();
315
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
336
+ returnValue = api_constants.global_constants.SCORM_FALSE;
316
337
  if (!this.checkState(checkTerminated, this._error_codes.COMMIT_BEFORE_INIT, this._error_codes.COMMIT_AFTER_TERM)) return [3, 2];
317
338
  return [4, this.storeData(false)];
318
339
  case 1:
@@ -323,14 +344,14 @@ var BaseAPI = (function () {
323
344
  returnValue =
324
345
  typeof result !== "undefined" && result.result
325
346
  ? result.result
326
- : api_constants/* default */.A.global.SCORM_FALSE;
327
- this.apiLog(callbackName, " Result: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_DEBUG, "HttpRequest");
347
+ : api_constants.global_constants.SCORM_FALSE;
348
+ this.apiLog(callbackName, " Result: " + returnValue, enums.LogLevelEnum.DEBUG, "HttpRequest");
328
349
  if (checkTerminated)
329
350
  this.lastErrorCode = "0";
330
351
  this.processListeners(callbackName);
331
352
  _a.label = 2;
332
353
  case 2:
333
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
354
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
334
355
  this.clearSCORMError(returnValue);
335
356
  return [2, returnValue];
336
357
  }
@@ -340,7 +361,7 @@ var BaseAPI = (function () {
340
361
  BaseAPI.prototype.getLastError = function (callbackName) {
341
362
  var returnValue = String(this.lastErrorCode);
342
363
  this.processListeners(callbackName);
343
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
364
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
344
365
  return returnValue;
345
366
  };
346
367
  BaseAPI.prototype.getErrorString = function (callbackName, CMIErrorCode) {
@@ -349,7 +370,7 @@ var BaseAPI = (function () {
349
370
  returnValue = this.getLmsErrorMessageDetails(CMIErrorCode);
350
371
  this.processListeners(callbackName);
351
372
  }
352
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
373
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
353
374
  return returnValue;
354
375
  };
355
376
  BaseAPI.prototype.getDiagnostic = function (callbackName, CMIErrorCode) {
@@ -358,7 +379,7 @@ var BaseAPI = (function () {
358
379
  returnValue = this.getLmsErrorMessageDetails(CMIErrorCode, true);
359
380
  this.processListeners(callbackName);
360
381
  }
361
- this.apiLog(callbackName, "returned: " + returnValue, api_constants/* default */.A.global.LOG_LEVEL_INFO);
382
+ this.apiLog(callbackName, "returned: " + returnValue, enums.LogLevelEnum.INFO);
362
383
  return returnValue;
363
384
  };
364
385
  BaseAPI.prototype.checkState = function (checkTerminated, beforeInitError, afterTermError) {
@@ -384,11 +405,11 @@ var BaseAPI = (function () {
384
405
  };
385
406
  BaseAPI.prototype._commonSetCMIValue = function (methodName, scorm2004, CMIElement, value) {
386
407
  if (!CMIElement || CMIElement === "") {
387
- return api_constants/* default */.A.global.SCORM_FALSE;
408
+ return api_constants.global_constants.SCORM_FALSE;
388
409
  }
389
410
  var structure = CMIElement.split(".");
390
411
  var refObject = this;
391
- var returnValue = api_constants/* default */.A.global.SCORM_FALSE;
412
+ var returnValue = api_constants.global_constants.SCORM_FALSE;
392
413
  var foundFirstIndex = false;
393
414
  var invalidErrorMessage = "The data model element passed to ".concat(methodName, " (").concat(CMIElement, ") is not a valid SCORM data model element.");
394
415
  var invalidErrorCode = scorm2004
@@ -402,20 +423,20 @@ var BaseAPI = (function () {
402
423
  this.throwSCORMError(this._error_codes.READ_ONLY_ELEMENT);
403
424
  }
404
425
  else {
405
- refObject = (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, refObject), { attribute: value });
426
+ refObject = (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, refObject), { attribute: value });
406
427
  }
407
428
  }
408
429
  else if (!this._checkObjectHasProperty(refObject, attribute)) {
409
430
  this.throwSCORMError(invalidErrorCode, invalidErrorMessage);
410
431
  }
411
432
  else {
412
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "\\.correct_responses\\.\\d+") &&
433
+ if ((0,utilities.stringMatches)(CMIElement, "\\.correct_responses\\.\\d+") &&
413
434
  this.isInitialized()) {
414
435
  this.validateCorrectResponse(CMIElement, value);
415
436
  }
416
437
  if (!scorm2004 || this.lastErrorCode === "0") {
417
438
  refObject[attribute] = value;
418
- returnValue = api_constants/* default */.A.global.SCORM_TRUE;
439
+ returnValue = api_constants.global_constants.SCORM_TRUE;
419
440
  }
420
441
  }
421
442
  }
@@ -425,7 +446,7 @@ var BaseAPI = (function () {
425
446
  this.throwSCORMError(invalidErrorCode, invalidErrorMessage);
426
447
  break;
427
448
  }
428
- if (refObject instanceof array/* CMIArray */.B) {
449
+ if (refObject instanceof array.CMIArray) {
429
450
  var index = parseInt(structure[idx + 1], 10);
430
451
  if (!isNaN(index)) {
431
452
  var item = refObject.childArray[index];
@@ -451,8 +472,8 @@ var BaseAPI = (function () {
451
472
  }
452
473
  }
453
474
  }
454
- if (returnValue === api_constants/* default */.A.global.SCORM_FALSE) {
455
- this.apiLog(methodName, "There was an error setting the value for: ".concat(CMIElement, ", value of: ").concat(value), api_constants/* default */.A.global.LOG_LEVEL_WARNING);
475
+ if (returnValue === api_constants.global_constants.SCORM_FALSE) {
476
+ this.apiLog(methodName, "There was an error setting the value for: ".concat(CMIElement, ", value of: ").concat(value), enums.LogLevelEnum.WARN);
456
477
  }
457
478
  return returnValue;
458
479
  };
@@ -494,7 +515,7 @@ var BaseAPI = (function () {
494
515
  this.throwSCORMError(invalidErrorCode, invalidErrorMessage);
495
516
  break;
496
517
  }
497
- if (refObject instanceof array/* CMIArray */.B) {
518
+ if (refObject instanceof array.CMIArray) {
498
519
  var index = parseInt(structure[idx + 1], 10);
499
520
  if (!isNaN(index)) {
500
521
  var item = refObject.childArray[index];
@@ -512,10 +533,10 @@ var BaseAPI = (function () {
512
533
  if (refObject === null || refObject === undefined) {
513
534
  if (!scorm2004) {
514
535
  if (attribute === "_children") {
515
- this.throwSCORMError(error_codes/* default */.A.scorm12.CHILDREN_ERROR);
536
+ this.throwSCORMError(this._error_codes.CHILDREN_ERROR);
516
537
  }
517
538
  else if (attribute === "_count") {
518
- this.throwSCORMError(error_codes/* default */.A.scorm12.COUNT_ERROR);
539
+ this.throwSCORMError(this._error_codes.COUNT_ERROR);
519
540
  }
520
541
  }
521
542
  }
@@ -524,13 +545,13 @@ var BaseAPI = (function () {
524
545
  }
525
546
  };
526
547
  BaseAPI.prototype.isInitialized = function () {
527
- return this.currentState === api_constants/* default */.A.global.STATE_INITIALIZED;
548
+ return this.currentState === api_constants.global_constants.STATE_INITIALIZED;
528
549
  };
529
550
  BaseAPI.prototype.isNotInitialized = function () {
530
- return this.currentState === api_constants/* default */.A.global.STATE_NOT_INITIALIZED;
551
+ return this.currentState === api_constants.global_constants.STATE_NOT_INITIALIZED;
531
552
  };
532
553
  BaseAPI.prototype.isTerminated = function () {
533
- return this.currentState === api_constants/* default */.A.global.STATE_TERMINATED;
554
+ return this.currentState === api_constants.global_constants.STATE_TERMINATED;
534
555
  };
535
556
  BaseAPI.prototype.on = function (listenerName, callback) {
536
557
  if (!callback)
@@ -550,7 +571,7 @@ var BaseAPI = (function () {
550
571
  CMIElement: CMIElement,
551
572
  callback: callback,
552
573
  });
553
- this.apiLog("on", "Added event listener: ".concat(this.listenerArray.length), api_constants/* default */.A.global.LOG_LEVEL_INFO, functionName);
574
+ this.apiLog("on", "Added event listener: ".concat(this.listenerArray.length), enums.LogLevelEnum.INFO, functionName);
554
575
  }
555
576
  };
556
577
  BaseAPI.prototype.off = function (listenerName, callback) {
@@ -573,7 +594,7 @@ var BaseAPI = (function () {
573
594
  });
574
595
  if (removeIndex !== -1) {
575
596
  this_1.listenerArray.splice(removeIndex, 1);
576
- this_1.apiLog("off", "Removed event listener: ".concat(this_1.listenerArray.length), api_constants/* default */.A.global.LOG_LEVEL_INFO, functionName);
597
+ this_1.apiLog("off", "Removed event listener: ".concat(this_1.listenerArray.length), enums.LogLevelEnum.INFO, functionName);
577
598
  }
578
599
  };
579
600
  var this_1 = this;
@@ -606,7 +627,7 @@ var BaseAPI = (function () {
606
627
  }
607
628
  };
608
629
  BaseAPI.prototype.processListeners = function (functionName, CMIElement, value) {
609
- this.apiLog(functionName, value, api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
630
+ this.apiLog(functionName, value, enums.LogLevelEnum.INFO, CMIElement);
610
631
  for (var i = 0; i < this.listenerArray.length; i++) {
611
632
  var listener = this.listenerArray[i];
612
633
  var functionsMatch = listener.functionName === functionName;
@@ -622,7 +643,7 @@ var BaseAPI = (function () {
622
643
  CMIElementsMatch = listener.CMIElement === CMIElement;
623
644
  }
624
645
  if (functionsMatch && (!listenerHasCMIElement || CMIElementsMatch)) {
625
- this.apiLog("processListeners", "Processing listener: ".concat(listener.functionName), api_constants/* default */.A.global.LOG_LEVEL_INFO, CMIElement);
646
+ this.apiLog("processListeners", "Processing listener: ".concat(listener.functionName), enums.LogLevelEnum.INFO, CMIElement);
626
647
  listener.callback(CMIElement, value);
627
648
  }
628
649
  }
@@ -631,11 +652,11 @@ var BaseAPI = (function () {
631
652
  if (!message) {
632
653
  message = this.getLmsErrorMessageDetails(errorNumber);
633
654
  }
634
- this.apiLog("throwSCORMError", errorNumber + ": " + message, api_constants/* default */.A.global.LOG_LEVEL_ERROR);
655
+ this.apiLog("throwSCORMError", errorNumber + ": " + message, enums.LogLevelEnum.ERROR);
635
656
  this.lastErrorCode = String(errorNumber);
636
657
  };
637
658
  BaseAPI.prototype.clearSCORMError = function (success) {
638
- if (success !== undefined && success !== api_constants/* default */.A.global.SCORM_FALSE) {
659
+ if (success !== undefined && success !== api_constants.global_constants.SCORM_FALSE) {
639
660
  this.lastErrorCode = "0";
640
661
  }
641
662
  };
@@ -701,7 +722,7 @@ var BaseAPI = (function () {
701
722
  result.forEach(function (element) {
702
723
  obj = {};
703
724
  obj[element[0]] = element[1];
704
- _this.loadFromJSON((0,utilities/* unflatten */.sB)(obj), CMIElement);
725
+ _this.loadFromJSON((0,utilities.unflatten)(obj), CMIElement);
705
726
  });
706
727
  };
707
728
  BaseAPI.prototype.loadFromJSON = function (json, CMIElement) {
@@ -741,21 +762,21 @@ var BaseAPI = (function () {
741
762
  return JSON.parse(this.renderCMIToJSONString());
742
763
  };
743
764
  BaseAPI.prototype.processHttpRequest = function (url_1, params_1) {
744
- return (0,tslib_es6/* __awaiter */.sH)(this, arguments, void 0, function (url, params, immediate) {
765
+ return (0,tslib_es6.__awaiter)(this, arguments, void 0, function (url, params, immediate) {
745
766
  var api, genericError, process;
746
767
  var _this = this;
747
768
  if (immediate === void 0) { immediate = false; }
748
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
769
+ return (0,tslib_es6.__generator)(this, function (_a) {
749
770
  switch (_a.label) {
750
771
  case 0:
751
772
  api = this;
752
773
  genericError = {
753
- result: api_constants/* default */.A.global.SCORM_FALSE,
774
+ result: api_constants.global_constants.SCORM_FALSE,
754
775
  errorCode: this.error_codes.GENERAL,
755
776
  };
756
777
  if (immediate) {
757
- this.performFetch(url, params).then(function (response) { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
758
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
778
+ this.performFetch(url, params).then(function (response) { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
779
+ return (0,tslib_es6.__generator)(this, function (_a) {
759
780
  switch (_a.label) {
760
781
  case 0: return [4, this.transformResponse(response)];
761
782
  case 1:
@@ -765,13 +786,13 @@ var BaseAPI = (function () {
765
786
  });
766
787
  }); });
767
788
  return [2, {
768
- result: api_constants/* default */.A.global.SCORM_TRUE,
789
+ result: api_constants.global_constants.SCORM_TRUE,
769
790
  errorCode: 0,
770
791
  }];
771
792
  }
772
- process = function (url, params, settings) { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
793
+ process = function (url, params, settings) { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
773
794
  var response, e_1;
774
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
795
+ return (0,tslib_es6.__generator)(this, function (_a) {
775
796
  switch (_a.label) {
776
797
  case 0:
777
798
  _a.trys.push([0, 2, , 3]);
@@ -782,7 +803,7 @@ var BaseAPI = (function () {
782
803
  return [2, this.transformResponse(response)];
783
804
  case 2:
784
805
  e_1 = _a.sent();
785
- this.apiLog("processHttpRequest", e_1, api_constants/* default */.A.global.LOG_LEVEL_ERROR);
806
+ this.apiLog("processHttpRequest", e_1, enums.LogLevelEnum.ERROR);
786
807
  api.processListeners("CommitError");
787
808
  return [2, genericError];
788
809
  case 3: return [2];
@@ -798,14 +819,14 @@ var BaseAPI = (function () {
798
819
  BaseAPI.prototype.scheduleCommit = function (when, callback) {
799
820
  if (!this._timeout) {
800
821
  this._timeout = new ScheduledCommit(this, when, callback);
801
- this.apiLog("scheduleCommit", "scheduled", api_constants/* default */.A.global.LOG_LEVEL_DEBUG, "");
822
+ this.apiLog("scheduleCommit", "scheduled", enums.LogLevelEnum.DEBUG, "");
802
823
  }
803
824
  };
804
825
  BaseAPI.prototype.clearScheduledCommit = function () {
805
826
  if (this._timeout) {
806
827
  this._timeout.cancel();
807
828
  this._timeout = undefined;
808
- this.apiLog("clearScheduledCommit", "cleared", api_constants/* default */.A.global.LOG_LEVEL_DEBUG, "");
829
+ this.apiLog("clearScheduledCommit", "cleared", enums.LogLevelEnum.DEBUG, "");
809
830
  }
810
831
  };
811
832
  BaseAPI.prototype._checkObjectHasProperty = function (refObject, attribute) {
@@ -814,9 +835,9 @@ var BaseAPI = (function () {
814
835
  attribute in refObject);
815
836
  };
816
837
  BaseAPI.prototype.handleValueAccessException = function (e, returnValue) {
817
- if (e instanceof exceptions/* ValidationError */.yI) {
838
+ if (e instanceof exceptions.ValidationError) {
818
839
  this.lastErrorCode = String(e.errorCode);
819
- returnValue = api_constants/* default */.A.global.SCORM_FALSE;
840
+ returnValue = api_constants.global_constants.SCORM_FALSE;
820
841
  }
821
842
  else {
822
843
  if (e instanceof Error && e.message) {
@@ -834,20 +855,20 @@ var BaseAPI = (function () {
834
855
  var commitObject = this.settings.renderCommonCommitFields
835
856
  ? this.renderCommitObject(shouldTerminateCommit)
836
857
  : this.renderCommitCMI(shouldTerminateCommit);
837
- if (this.apiLogLevel === api_constants/* default */.A.global.LOG_LEVEL_DEBUG) {
858
+ if ([enums.LogLevelEnum.DEBUG, "1", 1, "DEBUG"].includes(this.apiLogLevel)) {
838
859
  console.debug("Commit (terminated: " + (terminateCommit ? "yes" : "no") + "): ");
839
860
  console.debug(commitObject);
840
861
  }
841
862
  return commitObject;
842
863
  };
843
864
  BaseAPI.prototype.performFetch = function (url, params) {
844
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
845
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
865
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
866
+ return (0,tslib_es6.__generator)(this, function (_a) {
846
867
  return [2, fetch(url, {
847
868
  method: "POST",
848
869
  mode: this.settings.fetchMode,
849
870
  body: params instanceof Array ? params.join("&") : JSON.stringify(params),
850
- headers: (0,tslib_es6/* __assign */.Cl)((0,tslib_es6/* __assign */.Cl)({}, this.settings.xhrHeaders), { "Content-Type": this.settings.commitRequestDataType }),
871
+ headers: (0,tslib_es6.__assign)((0,tslib_es6.__assign)({}, this.settings.xhrHeaders), { "Content-Type": this.settings.commitRequestDataType }),
851
872
  credentials: this.settings.xhrWithCredentials ? "include" : undefined,
852
873
  keepalive: true,
853
874
  })];
@@ -855,9 +876,9 @@ var BaseAPI = (function () {
855
876
  });
856
877
  };
857
878
  BaseAPI.prototype.transformResponse = function (response) {
858
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
879
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
859
880
  var result, _a;
860
- return (0,tslib_es6/* __generator */.YH)(this, function (_c) {
881
+ return (0,tslib_es6.__generator)(this, function (_c) {
861
882
  switch (_c.label) {
862
883
  case 0:
863
884
  if (!(typeof this.settings.responseHandler === "function")) return [3, 2];
@@ -873,8 +894,7 @@ var BaseAPI = (function () {
873
894
  result = _a;
874
895
  if (response.status >= 200 &&
875
896
  response.status <= 299 &&
876
- (result.result === true ||
877
- result.result === api_constants/* default */.A.global.SCORM_TRUE)) {
897
+ (result.result === true || result.result === api_constants.global_constants.SCORM_TRUE)) {
878
898
  this.processListeners("CommitSuccess");
879
899
  }
880
900
  else {
@@ -895,29 +915,40 @@ var BaseAPI = (function () {
895
915
  /***/ 589:
896
916
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
897
917
 
918
+ __webpack_require__.r(__webpack_exports__);
898
919
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
899
- /* harmony export */ B: function() { return /* binding */ CMIArray; }
920
+ /* harmony export */ CMIArray: function() { return /* binding */ CMIArray; }
900
921
  /* harmony export */ });
901
- /* unused harmony export scorm12_error_codes */
902
922
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(635);
903
923
  /* harmony import */ var _base_cmi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(319);
904
- /* harmony import */ var _constants_error_codes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(797);
905
- /* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(784);
924
+ /* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(784);
925
+ /* harmony import */ var _constants_error_codes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(797);
906
926
 
907
927
 
908
928
 
909
929
 
910
- var scorm12_error_codes = _constants_error_codes__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.scorm12;
911
930
  var CMIArray = (function (_super) {
912
- (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__extends */ .C6)(CMIArray, _super);
931
+ (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__extends)(CMIArray, _super);
913
932
  function CMIArray(params) {
914
933
  var _this = _super.call(this) || this;
915
934
  _this.__children = params.children;
916
- _this._errorCode = params.errorCode || scorm12_error_codes.GENERAL;
917
- _this._errorClass = params.errorClass || _exceptions__WEBPACK_IMPORTED_MODULE_2__/* .BaseScormValidationError */ .$h;
935
+ _this._errorCode = params.errorCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_2__.scorm12_errors.GENERAL;
936
+ _this._errorClass = params.errorClass || _exceptions__WEBPACK_IMPORTED_MODULE_1__.BaseScormValidationError;
918
937
  _this.childArray = [];
919
938
  return _this;
920
939
  }
940
+ CMIArray.prototype.reset = function (wipe) {
941
+ if (wipe === void 0) { wipe = false; }
942
+ this._initialized = false;
943
+ if (wipe) {
944
+ this.childArray = [];
945
+ }
946
+ else {
947
+ for (var i = 0; i < this.childArray.length; i++) {
948
+ this.childArray[i].reset();
949
+ }
950
+ }
951
+ };
921
952
  Object.defineProperty(CMIArray.prototype, "_children", {
922
953
  get: function () {
923
954
  return this.__children;
@@ -948,7 +979,7 @@ var CMIArray = (function (_super) {
948
979
  return result;
949
980
  };
950
981
  return CMIArray;
951
- }(_base_cmi__WEBPACK_IMPORTED_MODULE_0__/* .BaseCMI */ .J));
982
+ }(_base_cmi__WEBPACK_IMPORTED_MODULE_0__.BaseCMI));
952
983
 
953
984
 
954
985
 
@@ -957,9 +988,10 @@ var CMIArray = (function (_super) {
957
988
  /***/ 319:
958
989
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
959
990
 
991
+ __webpack_require__.r(__webpack_exports__);
960
992
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
961
- /* harmony export */ J: function() { return /* binding */ BaseCMI; },
962
- /* harmony export */ r: function() { return /* binding */ BaseRootCMI; }
993
+ /* harmony export */ BaseCMI: function() { return /* binding */ BaseCMI; },
994
+ /* harmony export */ BaseRootCMI: function() { return /* binding */ BaseRootCMI; }
963
995
  /* harmony export */ });
964
996
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
965
997
 
@@ -992,7 +1024,7 @@ var BaseCMI = (function () {
992
1024
  }());
993
1025
 
994
1026
  var BaseRootCMI = (function (_super) {
995
- (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__extends */ .C6)(BaseRootCMI, _super);
1027
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(BaseRootCMI, _super);
996
1028
  function BaseRootCMI() {
997
1029
  return _super !== null && _super.apply(this, arguments) || this;
998
1030
  }
@@ -1006,10 +1038,10 @@ var BaseRootCMI = (function (_super) {
1006
1038
  /***/ 434:
1007
1039
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1008
1040
 
1041
+ __webpack_require__.r(__webpack_exports__);
1009
1042
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1010
- /* harmony export */ _: function() { return /* binding */ CMIScore; }
1043
+ /* harmony export */ CMIScore: function() { return /* binding */ CMIScore; }
1011
1044
  /* harmony export */ });
1012
- /* unused harmony export scorm12_error_codes */
1013
1045
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(635);
1014
1046
  /* harmony import */ var _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(340);
1015
1047
  /* harmony import */ var _constants_regex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(417);
@@ -1022,30 +1054,30 @@ var BaseRootCMI = (function (_super) {
1022
1054
 
1023
1055
 
1024
1056
 
1025
- var scorm12_constants = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.scorm12;
1026
- var scorm12_regex = _constants_regex__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.scorm12;
1027
- var scorm12_error_codes = _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.scorm12;
1028
1057
  var CMIScore = (function (_super) {
1029
- (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__extends */ .C6)(CMIScore, _super);
1058
+ (0,tslib__WEBPACK_IMPORTED_MODULE_4__.__extends)(CMIScore, _super);
1030
1059
  function CMIScore(params) {
1031
1060
  var _this = _super.call(this) || this;
1032
1061
  _this._raw = "";
1033
1062
  _this._min = "";
1034
- _this.__children = params.score_children || scorm12_constants.score_children;
1063
+ _this.__children = params.score_children || _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__.scorm12_constants.score_children;
1035
1064
  _this.__score_range = !params.score_range
1036
1065
  ? false
1037
- : scorm12_regex.score_range;
1066
+ : _constants_regex__WEBPACK_IMPORTED_MODULE_1__.scorm12_regex.score_range;
1038
1067
  _this._max = params.max || params.max === "" ? params.max : "100";
1039
1068
  _this.__invalid_error_code =
1040
- params.invalidErrorCode || scorm12_error_codes.INVALID_SET_VALUE;
1069
+ params.invalidErrorCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.INVALID_SET_VALUE;
1041
1070
  _this.__invalid_type_code =
1042
- params.invalidTypeCode || scorm12_error_codes.TYPE_MISMATCH;
1071
+ params.invalidTypeCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.TYPE_MISMATCH;
1043
1072
  _this.__invalid_range_code =
1044
- params.invalidRangeCode || scorm12_error_codes.VALUE_OUT_OF_RANGE;
1045
- _this.__decimal_regex = params.decimalRegex || scorm12_regex.CMIDecimal;
1073
+ params.invalidRangeCode || _constants_error_codes__WEBPACK_IMPORTED_MODULE_3__.scorm12_errors.VALUE_OUT_OF_RANGE;
1074
+ _this.__decimal_regex = params.decimalRegex || _constants_regex__WEBPACK_IMPORTED_MODULE_1__.scorm12_regex.CMIDecimal;
1046
1075
  _this.__error_class = params.errorClass;
1047
1076
  return _this;
1048
1077
  }
1078
+ CMIScore.prototype.reset = function () {
1079
+ this._initialized = false;
1080
+ };
1049
1081
  Object.defineProperty(CMIScore.prototype, "_children", {
1050
1082
  get: function () {
1051
1083
  return this.__children;
@@ -1061,9 +1093,9 @@ var CMIScore = (function (_super) {
1061
1093
  return this._raw;
1062
1094
  },
1063
1095
  set: function (raw) {
1064
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidFormat */ .q)(raw, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1096
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(raw, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1065
1097
  (!this.__score_range ||
1066
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidRange */ .W)(raw, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1098
+ (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(raw, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1067
1099
  this._raw = raw;
1068
1100
  }
1069
1101
  },
@@ -1075,9 +1107,9 @@ var CMIScore = (function (_super) {
1075
1107
  return this._min;
1076
1108
  },
1077
1109
  set: function (min) {
1078
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidFormat */ .q)(min, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1110
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(min, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1079
1111
  (!this.__score_range ||
1080
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidRange */ .W)(min, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1112
+ (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(min, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1081
1113
  this._min = min;
1082
1114
  }
1083
1115
  },
@@ -1089,9 +1121,9 @@ var CMIScore = (function (_super) {
1089
1121
  return this._max;
1090
1122
  },
1091
1123
  set: function (max) {
1092
- if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidFormat */ .q)(max, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1124
+ if ((0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidFormat)(max, this.__decimal_regex, this.__invalid_type_code, this.__error_class) &&
1093
1125
  (!this.__score_range ||
1094
- (0,_validation__WEBPACK_IMPORTED_MODULE_5__/* .checkValidRange */ .W)(max, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1126
+ (0,_validation__WEBPACK_IMPORTED_MODULE_5__.checkValidRange)(max, this.__score_range, this.__invalid_range_code, this.__error_class))) {
1095
1127
  this._max = max;
1096
1128
  }
1097
1129
  },
@@ -1109,7 +1141,7 @@ var CMIScore = (function (_super) {
1109
1141
  return result;
1110
1142
  };
1111
1143
  return CMIScore;
1112
- }(_base_cmi__WEBPACK_IMPORTED_MODULE_2__/* .BaseCMI */ .J));
1144
+ }(_base_cmi__WEBPACK_IMPORTED_MODULE_2__.BaseCMI));
1113
1145
 
1114
1146
 
1115
1147
 
@@ -1118,9 +1150,10 @@ var CMIScore = (function (_super) {
1118
1150
  /***/ 449:
1119
1151
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1120
1152
 
1153
+ __webpack_require__.r(__webpack_exports__);
1121
1154
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1122
- /* harmony export */ W: function() { return /* binding */ checkValidRange; },
1123
- /* harmony export */ q: function() { return /* binding */ checkValidFormat; }
1155
+ /* harmony export */ checkValidFormat: function() { return /* binding */ checkValidFormat; },
1156
+ /* harmony export */ checkValidRange: function() { return /* binding */ checkValidRange; }
1124
1157
  /* harmony export */ });
1125
1158
  function checkValidFormat(value, regexPattern, errorCode, errorClass, allowEmptyString) {
1126
1159
  if (typeof value !== "string") {
@@ -1158,21 +1191,23 @@ function checkValidRange(value, rangePattern, errorCode, errorClass) {
1158
1191
  /***/ 340:
1159
1192
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1160
1193
 
1194
+ __webpack_require__.r(__webpack_exports__);
1195
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1196
+ /* harmony export */ aicc_constants: function() { return /* binding */ aicc_constants; },
1197
+ /* harmony export */ global_constants: function() { return /* binding */ global_constants; },
1198
+ /* harmony export */ scorm12_constants: function() { return /* binding */ scorm12_constants; },
1199
+ /* harmony export */ scorm2004_constants: function() { return /* binding */ scorm2004_constants; }
1200
+ /* harmony export */ });
1161
1201
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1162
1202
 
1163
- var global = {
1203
+ var global_constants = {
1164
1204
  SCORM_TRUE: "true",
1165
1205
  SCORM_FALSE: "false",
1166
1206
  STATE_NOT_INITIALIZED: 0,
1167
1207
  STATE_INITIALIZED: 1,
1168
1208
  STATE_TERMINATED: 2,
1169
- LOG_LEVEL_DEBUG: 1,
1170
- LOG_LEVEL_INFO: 2,
1171
- LOG_LEVEL_WARNING: 3,
1172
- LOG_LEVEL_ERROR: 4,
1173
- LOG_LEVEL_NONE: 5,
1174
1209
  };
1175
- var scorm12 = {
1210
+ var scorm12_constants = {
1176
1211
  cmi_children: "core,suspend_data,launch_data,comments,objectives,student_data,student_preference,interactions",
1177
1212
  core_children: "student_id,student_name,lesson_location,credit,lesson_status,entry,score,total_time,lesson_mode,exit,session_time",
1178
1213
  score_children: "raw,min,max",
@@ -1233,7 +1268,7 @@ var scorm12 = {
1233
1268
  },
1234
1269
  },
1235
1270
  };
1236
- var aicc = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)({}, scorm12), {
1271
+ var aicc_constants = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, scorm12_constants), {
1237
1272
  cmi_children: "core,suspend_data,launch_data,comments,objectives,student_data,student_preference,interactions,evaluation",
1238
1273
  student_preference_children: "audio,language,lesson_type,speed,text,text_color,text_location,text_size,video,windows",
1239
1274
  student_data_children: "attempt_number,tries,mastery_score,max_time_allowed,time_limit_action",
@@ -1242,7 +1277,7 @@ var aicc = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__W
1242
1277
  attempt_records_children: "score,lesson_status",
1243
1278
  paths_children: "location_id,date,time,status,why_left,time_in_element",
1244
1279
  });
1245
- var scorm2004 = {
1280
+ var scorm2004_constants = {
1246
1281
  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",
1247
1282
  comments_children: "comment,timestamp,location",
1248
1283
  score_children: "max,raw,scaled,min",
@@ -1251,6 +1286,7 @@ var scorm2004 = {
1251
1286
  student_data_children: "mastery_score,max_time_allowed,time_limit_action",
1252
1287
  student_preference_children: "audio_level,audio_captioning,delivery_speed,language",
1253
1288
  interactions_children: "id,type,objectives,timestamp,correct_responses,weighting,learner_response,result,latency,description",
1289
+ adl_data_children: "id,store",
1254
1290
  error_descriptions: {
1255
1291
  "0": {
1256
1292
  basicMessage: "No Error",
@@ -1358,13 +1394,6 @@ var scorm2004 = {
1358
1394
  },
1359
1395
  },
1360
1396
  };
1361
- var APIConstants = {
1362
- global: global,
1363
- scorm12: scorm12,
1364
- aicc: aicc,
1365
- scorm2004: scorm2004,
1366
- };
1367
- /* harmony default export */ __webpack_exports__.A = (APIConstants);
1368
1397
 
1369
1398
 
1370
1399
  /***/ }),
@@ -1372,10 +1401,12 @@ var APIConstants = {
1372
1401
  /***/ 56:
1373
1402
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1374
1403
 
1404
+ __webpack_require__.r(__webpack_exports__);
1375
1405
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1376
- /* harmony export */ K$: function() { return /* binding */ NAVBoolean; },
1377
- /* harmony export */ YE: function() { return /* binding */ SuccessStatus; },
1378
- /* harmony export */ lC: function() { return /* binding */ CompletionStatus; }
1406
+ /* harmony export */ CompletionStatus: function() { return /* binding */ CompletionStatus; },
1407
+ /* harmony export */ LogLevelEnum: function() { return /* binding */ LogLevelEnum; },
1408
+ /* harmony export */ NAVBoolean: function() { return /* binding */ NAVBoolean; },
1409
+ /* harmony export */ SuccessStatus: function() { return /* binding */ SuccessStatus; }
1379
1410
  /* harmony export */ });
1380
1411
  var NAVBoolean;
1381
1412
  (function (NAVBoolean) {
@@ -1395,6 +1426,15 @@ var CompletionStatus;
1395
1426
  CompletionStatus["incomplete"] = "incomplete";
1396
1427
  CompletionStatus["unknown"] = "unknown";
1397
1428
  })(CompletionStatus || (CompletionStatus = {}));
1429
+ var LogLevelEnum;
1430
+ (function (LogLevelEnum) {
1431
+ LogLevelEnum[LogLevelEnum["_"] = 0] = "_";
1432
+ LogLevelEnum[LogLevelEnum["DEBUG"] = 1] = "DEBUG";
1433
+ LogLevelEnum[LogLevelEnum["INFO"] = 2] = "INFO";
1434
+ LogLevelEnum[LogLevelEnum["WARN"] = 3] = "WARN";
1435
+ LogLevelEnum[LogLevelEnum["ERROR"] = 4] = "ERROR";
1436
+ LogLevelEnum[LogLevelEnum["NONE"] = 5] = "NONE";
1437
+ })(LogLevelEnum || (LogLevelEnum = {}));
1398
1438
 
1399
1439
 
1400
1440
  /***/ }),
@@ -1402,9 +1442,15 @@ var CompletionStatus;
1402
1442
  /***/ 797:
1403
1443
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1404
1444
 
1445
+ __webpack_require__.r(__webpack_exports__);
1446
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1447
+ /* harmony export */ global_errors: function() { return /* binding */ global_errors; },
1448
+ /* harmony export */ scorm12_errors: function() { return /* binding */ scorm12_errors; },
1449
+ /* harmony export */ scorm2004_errors: function() { return /* binding */ scorm2004_errors; }
1450
+ /* harmony export */ });
1405
1451
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1406
1452
 
1407
- var global = {
1453
+ var global_errors = {
1408
1454
  GENERAL: 101,
1409
1455
  INITIALIZATION_FAILED: 101,
1410
1456
  INITIALIZED: 101,
@@ -1434,13 +1480,8 @@ var global = {
1434
1480
  VALUE_OUT_OF_RANGE: 101,
1435
1481
  DEPENDENCY_NOT_ESTABLISHED: 101,
1436
1482
  };
1437
- 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 });
1438
- 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 });
1439
- var ErrorCodes = {
1440
- scorm12: scorm12,
1441
- scorm2004: scorm2004,
1442
- };
1443
- /* harmony default export */ __webpack_exports__.A = (ErrorCodes);
1483
+ 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 });
1484
+ 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 });
1444
1485
 
1445
1486
 
1446
1487
  /***/ }),
@@ -1448,9 +1489,15 @@ var ErrorCodes = {
1448
1489
  /***/ 417:
1449
1490
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1450
1491
 
1492
+ __webpack_require__.r(__webpack_exports__);
1493
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1494
+ /* harmony export */ aicc_regex: function() { return /* binding */ aicc_regex; },
1495
+ /* harmony export */ scorm12_regex: function() { return /* binding */ scorm12_regex; },
1496
+ /* harmony export */ scorm2004_regex: function() { return /* binding */ scorm2004_regex; }
1497
+ /* harmony export */ });
1451
1498
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1452
1499
 
1453
- var scorm12 = {
1500
+ var scorm12_regex = {
1454
1501
  CMIString256: "^.{0,255}$",
1455
1502
  CMIString4096: "^.{0,4096}$",
1456
1503
  CMITime: "^(?:[01]\\d|2[0123]):(?:[012345]\\d):(?:[012345]\\d)$",
@@ -1473,10 +1520,10 @@ var scorm12 = {
1473
1520
  weighting_range: "-100#100",
1474
1521
  text_range: "-1#1",
1475
1522
  };
1476
- var aicc = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)((0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__assign */ .Cl)({}, scorm12), {
1523
+ var aicc_regex = (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, scorm12_regex), {
1477
1524
  CMIIdentifier: "^\\w{1,255}$",
1478
1525
  });
1479
- var scorm2004 = {
1526
+ var scorm2004_regex = {
1480
1527
  CMIString200: "^[\\u0000-\\uFFFF]{0,200}$",
1481
1528
  CMIString250: "^[\\u0000-\\uFFFF]{0,250}$",
1482
1529
  CMIString1000: "^[\\u0000-\\uFFFF]{0,1000}$",
@@ -1503,7 +1550,7 @@ var scorm2004 = {
1503
1550
  CMIExit: "^(time-out|suspend|logout|normal)$",
1504
1551
  CMIType: "^(true-false|choice|fill-in|long-fill-in|matching|performance|sequencing|likert|numeric|other)$",
1505
1552
  CMIResult: "^(correct|incorrect|unanticipated|neutral|-?([0-9]{1,4})(\\.[0-9]{1,18})?)$",
1506
- NAVEvent: "^(previous|continue|exit|exitAll|abandon|abandonAll|suspendAll|_none_|(\\{target=\\S{0,}[a-zA-Z0-9-_]+})?choice|(\\{target=\\S{0,}[a-zA-Z0-9-_]+})?jump)$",
1553
+ NAVEvent: "^(previous|continue|exit|exitAll|abandon|abandonAll|suspendAll|_none_|(\\{target=(?<choice_target>\\S{0,}[a-zA-Z0-9-_]+)})?choice|(\\{target=(?<jump_target>\\S{0,}[a-zA-Z0-9-_]+)})?jump)$",
1507
1554
  NAVBoolean: "^(unknown|true|false$)",
1508
1555
  NAVTarget: "^{target=\\S{0,}[a-zA-Z0-9-_]+}$",
1509
1556
  scaled_range: "-1#1",
@@ -1512,12 +1559,6 @@ var scorm2004 = {
1512
1559
  text_range: "-1#1",
1513
1560
  progress_range: "0#1",
1514
1561
  };
1515
- var Regex = {
1516
- aicc: aicc,
1517
- scorm12: scorm12,
1518
- scorm2004: scorm2004,
1519
- };
1520
- /* harmony default export */ __webpack_exports__.A = (Regex);
1521
1562
 
1522
1563
 
1523
1564
  /***/ }),
@@ -1525,21 +1566,15 @@ var Regex = {
1525
1566
  /***/ 784:
1526
1567
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1527
1568
 
1569
+ __webpack_require__.r(__webpack_exports__);
1528
1570
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1529
- /* harmony export */ $h: function() { return /* binding */ BaseScormValidationError; },
1530
- /* harmony export */ wq: function() { return /* binding */ Scorm2004ValidationError; },
1531
- /* harmony export */ yI: function() { return /* binding */ ValidationError; }
1571
+ /* harmony export */ BaseScormValidationError: function() { return /* binding */ BaseScormValidationError; },
1572
+ /* harmony export */ ValidationError: function() { return /* binding */ ValidationError; }
1532
1573
  /* harmony export */ });
1533
- /* unused harmony exports Scorm12ValidationError, AICCValidationError */
1534
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(635);
1535
- /* harmony import */ var _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(340);
1536
-
1574
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(635);
1537
1575
 
1538
- var scorm12_errors = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.scorm12.error_descriptions;
1539
- var aicc_errors = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.aicc.error_descriptions;
1540
- var scorm2004_errors = _constants_api_constants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.scorm2004.error_descriptions;
1541
1576
  var BaseScormValidationError = (function (_super) {
1542
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(BaseScormValidationError, _super);
1577
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(BaseScormValidationError, _super);
1543
1578
  function BaseScormValidationError(errorCode) {
1544
1579
  var _this = _super.call(this, errorCode.toString()) || this;
1545
1580
  _this._errorCode = errorCode;
@@ -1553,18 +1588,15 @@ var BaseScormValidationError = (function (_super) {
1553
1588
  enumerable: false,
1554
1589
  configurable: true
1555
1590
  });
1556
- BaseScormValidationError.prototype.setMessage = function (message) {
1557
- this.message = message;
1558
- };
1559
1591
  return BaseScormValidationError;
1560
1592
  }(Error));
1561
1593
 
1562
1594
  var ValidationError = (function (_super) {
1563
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(ValidationError, _super);
1595
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(ValidationError, _super);
1564
1596
  function ValidationError(errorCode, errorMessage, detailedMessage) {
1565
1597
  var _this = _super.call(this, errorCode) || this;
1566
1598
  _this._detailedMessage = "";
1567
- _this.setMessage(errorMessage);
1599
+ _this.message = errorMessage;
1568
1600
  _this._errorMessage = errorMessage;
1569
1601
  if (detailedMessage) {
1570
1602
  _this._detailedMessage = detailedMessage;
@@ -1588,51 +1620,6 @@ var ValidationError = (function (_super) {
1588
1620
  return ValidationError;
1589
1621
  }(BaseScormValidationError));
1590
1622
 
1591
- var Scorm12ValidationError = (function (_super) {
1592
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(Scorm12ValidationError, _super);
1593
- function Scorm12ValidationError(errorCode) {
1594
- var _this = this;
1595
- if ({}.hasOwnProperty.call(scorm12_errors, String(errorCode))) {
1596
- _this = _super.call(this, errorCode, scorm12_errors[String(errorCode)].basicMessage, scorm12_errors[String(errorCode)].detailMessage) || this;
1597
- }
1598
- else {
1599
- _this = _super.call(this, 101, scorm12_errors["101"].basicMessage, scorm12_errors["101"].detailMessage) || this;
1600
- }
1601
- return _this;
1602
- }
1603
- return Scorm12ValidationError;
1604
- }(ValidationError));
1605
-
1606
- var AICCValidationError = (function (_super) {
1607
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(AICCValidationError, _super);
1608
- function AICCValidationError(errorCode) {
1609
- var _this = this;
1610
- if ({}.hasOwnProperty.call(aicc_errors, String(errorCode))) {
1611
- _this = _super.call(this, errorCode, aicc_errors[String(errorCode)].basicMessage, aicc_errors[String(errorCode)].detailMessage) || this;
1612
- }
1613
- else {
1614
- _this = _super.call(this, 101, aicc_errors["101"].basicMessage, aicc_errors["101"].detailMessage) || this;
1615
- }
1616
- return _this;
1617
- }
1618
- return AICCValidationError;
1619
- }(ValidationError));
1620
-
1621
- var Scorm2004ValidationError = (function (_super) {
1622
- (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__extends */ .C6)(Scorm2004ValidationError, _super);
1623
- function Scorm2004ValidationError(errorCode) {
1624
- var _this = this;
1625
- if ({}.hasOwnProperty.call(scorm2004_errors, String(errorCode))) {
1626
- _this = _super.call(this, errorCode, scorm2004_errors[String(errorCode)].basicMessage, scorm2004_errors[String(errorCode)].detailMessage) || this;
1627
- }
1628
- else {
1629
- _this = _super.call(this, 101, scorm2004_errors["101"].basicMessage, scorm2004_errors["101"].detailMessage) || this;
1630
- }
1631
- return _this;
1632
- }
1633
- return Scorm2004ValidationError;
1634
- }(ValidationError));
1635
-
1636
1623
 
1637
1624
 
1638
1625
  /***/ }),
@@ -1640,16 +1627,24 @@ var Scorm2004ValidationError = (function (_super) {
1640
1627
  /***/ 864:
1641
1628
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1642
1629
 
1630
+ __webpack_require__.r(__webpack_exports__);
1643
1631
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1644
- /* harmony export */ $o: function() { return /* binding */ addTwoDurations; },
1645
- /* harmony export */ Bq: function() { return /* binding */ flatten; },
1646
- /* harmony export */ J6: function() { return /* binding */ stringMatches; },
1647
- /* harmony export */ OI: function() { return /* binding */ getDurationAsSeconds; },
1648
- /* harmony export */ hw: function() { return /* binding */ formatMessage; },
1649
- /* harmony export */ sB: function() { return /* binding */ unflatten; },
1650
- /* harmony export */ xE: function() { return /* binding */ getSecondsAsISODuration; }
1632
+ /* harmony export */ SECONDS_PER_DAY: function() { return /* binding */ SECONDS_PER_DAY; },
1633
+ /* harmony export */ SECONDS_PER_HOUR: function() { return /* binding */ SECONDS_PER_HOUR; },
1634
+ /* harmony export */ SECONDS_PER_MINUTE: function() { return /* binding */ SECONDS_PER_MINUTE; },
1635
+ /* harmony export */ SECONDS_PER_SECOND: function() { return /* binding */ SECONDS_PER_SECOND; },
1636
+ /* harmony export */ addHHMMSSTimeStrings: function() { return /* binding */ addHHMMSSTimeStrings; },
1637
+ /* harmony export */ addTwoDurations: function() { return /* binding */ addTwoDurations; },
1638
+ /* harmony export */ countDecimals: function() { return /* binding */ countDecimals; },
1639
+ /* harmony export */ flatten: function() { return /* binding */ flatten; },
1640
+ /* harmony export */ formatMessage: function() { return /* binding */ formatMessage; },
1641
+ /* harmony export */ getDurationAsSeconds: function() { return /* binding */ getDurationAsSeconds; },
1642
+ /* harmony export */ getSecondsAsHHMMSS: function() { return /* binding */ getSecondsAsHHMMSS; },
1643
+ /* harmony export */ getSecondsAsISODuration: function() { return /* binding */ getSecondsAsISODuration; },
1644
+ /* harmony export */ getTimeAsSeconds: function() { return /* binding */ getTimeAsSeconds; },
1645
+ /* harmony export */ stringMatches: function() { return /* binding */ stringMatches; },
1646
+ /* harmony export */ unflatten: function() { return /* binding */ unflatten; }
1651
1647
  /* harmony export */ });
1652
- /* unused harmony exports SECONDS_PER_SECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, getSecondsAsHHMMSS, getTimeAsSeconds, addHHMMSSTimeStrings, countDecimals */
1653
1648
  var SECONDS_PER_SECOND = 1.0;
1654
1649
  var SECONDS_PER_MINUTE = 60;
1655
1650
  var SECONDS_PER_HOUR = 60 * SECONDS_PER_MINUTE;
@@ -1841,13 +1836,40 @@ function stringMatches(str, tester) {
1841
1836
  /***/ 635:
1842
1837
  /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1843
1838
 
1839
+ __webpack_require__.r(__webpack_exports__);
1844
1840
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1845
- /* harmony export */ C6: function() { return /* binding */ __extends; },
1846
- /* harmony export */ Cl: function() { return /* binding */ __assign; },
1847
- /* harmony export */ YH: function() { return /* binding */ __generator; },
1848
- /* harmony export */ sH: function() { return /* binding */ __awaiter; }
1841
+ /* harmony export */ __addDisposableResource: function() { return /* binding */ __addDisposableResource; },
1842
+ /* harmony export */ __assign: function() { return /* binding */ __assign; },
1843
+ /* harmony export */ __asyncDelegator: function() { return /* binding */ __asyncDelegator; },
1844
+ /* harmony export */ __asyncGenerator: function() { return /* binding */ __asyncGenerator; },
1845
+ /* harmony export */ __asyncValues: function() { return /* binding */ __asyncValues; },
1846
+ /* harmony export */ __await: function() { return /* binding */ __await; },
1847
+ /* harmony export */ __awaiter: function() { return /* binding */ __awaiter; },
1848
+ /* harmony export */ __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },
1849
+ /* harmony export */ __classPrivateFieldIn: function() { return /* binding */ __classPrivateFieldIn; },
1850
+ /* harmony export */ __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },
1851
+ /* harmony export */ __createBinding: function() { return /* binding */ __createBinding; },
1852
+ /* harmony export */ __decorate: function() { return /* binding */ __decorate; },
1853
+ /* harmony export */ __disposeResources: function() { return /* binding */ __disposeResources; },
1854
+ /* harmony export */ __esDecorate: function() { return /* binding */ __esDecorate; },
1855
+ /* harmony export */ __exportStar: function() { return /* binding */ __exportStar; },
1856
+ /* harmony export */ __extends: function() { return /* binding */ __extends; },
1857
+ /* harmony export */ __generator: function() { return /* binding */ __generator; },
1858
+ /* harmony export */ __importDefault: function() { return /* binding */ __importDefault; },
1859
+ /* harmony export */ __importStar: function() { return /* binding */ __importStar; },
1860
+ /* harmony export */ __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },
1861
+ /* harmony export */ __metadata: function() { return /* binding */ __metadata; },
1862
+ /* harmony export */ __param: function() { return /* binding */ __param; },
1863
+ /* harmony export */ __propKey: function() { return /* binding */ __propKey; },
1864
+ /* harmony export */ __read: function() { return /* binding */ __read; },
1865
+ /* harmony export */ __rest: function() { return /* binding */ __rest; },
1866
+ /* harmony export */ __runInitializers: function() { return /* binding */ __runInitializers; },
1867
+ /* harmony export */ __setFunctionName: function() { return /* binding */ __setFunctionName; },
1868
+ /* harmony export */ __spread: function() { return /* binding */ __spread; },
1869
+ /* harmony export */ __spreadArray: function() { return /* binding */ __spreadArray; },
1870
+ /* harmony export */ __spreadArrays: function() { return /* binding */ __spreadArrays; },
1871
+ /* harmony export */ __values: function() { return /* binding */ __values; }
1849
1872
  /* harmony export */ });
1850
- /* 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 */
1851
1873
  /******************************************************************************
1852
1874
  Copyright (c) Microsoft Corporation.
1853
1875
 
@@ -2197,7 +2219,7 @@ function __disposeResources(env) {
2197
2219
  return next();
2198
2220
  }
2199
2221
 
2200
- /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ({
2222
+ /* harmony default export */ __webpack_exports__["default"] = ({
2201
2223
  __extends,
2202
2224
  __assign,
2203
2225
  __rest,
@@ -2274,12 +2296,25 @@ function __disposeResources(env) {
2274
2296
  /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
2275
2297
  /******/ }();
2276
2298
  /******/
2299
+ /******/ /* webpack/runtime/make namespace object */
2300
+ /******/ !function() {
2301
+ /******/ // define __esModule on exports
2302
+ /******/ __webpack_require__.r = function(exports) {
2303
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2304
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2305
+ /******/ }
2306
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
2307
+ /******/ };
2308
+ /******/ }();
2309
+ /******/
2277
2310
  /************************************************************************/
2278
2311
  var __webpack_exports__ = {};
2312
+ // ESM COMPAT FLAG
2313
+ __webpack_require__.r(__webpack_exports__);
2279
2314
 
2280
2315
  // EXPORTS
2281
2316
  __webpack_require__.d(__webpack_exports__, {
2282
- Z: function() { return /* binding */ Scorm2004Impl; }
2317
+ Scorm2004Impl: function() { return /* binding */ Scorm2004Impl; }
2283
2318
  });
2284
2319
 
2285
2320
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.mjs
@@ -2294,6 +2329,27 @@ var regex = __webpack_require__(417);
2294
2329
  var error_codes = __webpack_require__(797);
2295
2330
  // EXTERNAL MODULE: ./src/exceptions.ts
2296
2331
  var exceptions = __webpack_require__(784);
2332
+ ;// ./src/exceptions/scorm2004_exceptions.ts
2333
+
2334
+
2335
+
2336
+ var scorm2004_errors = api_constants.scorm2004_constants.error_descriptions;
2337
+ var Scorm2004ValidationError = (function (_super) {
2338
+ (0,tslib_es6.__extends)(Scorm2004ValidationError, _super);
2339
+ function Scorm2004ValidationError(errorCode) {
2340
+ var _this = this;
2341
+ if ({}.hasOwnProperty.call(scorm2004_errors, String(errorCode))) {
2342
+ _this = _super.call(this, errorCode, scorm2004_errors[String(errorCode)].basicMessage, scorm2004_errors[String(errorCode)].detailMessage) || this;
2343
+ }
2344
+ else {
2345
+ _this = _super.call(this, 101, scorm2004_errors["101"].basicMessage, scorm2004_errors["101"].detailMessage) || this;
2346
+ }
2347
+ return _this;
2348
+ }
2349
+ return Scorm2004ValidationError;
2350
+ }(exceptions.ValidationError));
2351
+
2352
+
2297
2353
  // EXTERNAL MODULE: ./src/utilities.ts
2298
2354
  var utilities = __webpack_require__(864);
2299
2355
  // EXTERNAL MODULE: ./src/cmi/common/base_cmi.ts
@@ -2305,10 +2361,10 @@ var validation = __webpack_require__(449);
2305
2361
 
2306
2362
 
2307
2363
  function check2004ValidFormat(value, regexPattern, allowEmptyString) {
2308
- return (0,validation/* checkValidFormat */.q)(value, regexPattern, error_codes/* default */.A.scorm2004.TYPE_MISMATCH, exceptions/* Scorm2004ValidationError */.wq, allowEmptyString);
2364
+ return (0,validation.checkValidFormat)(value, regexPattern, error_codes.scorm2004_errors.TYPE_MISMATCH, Scorm2004ValidationError, allowEmptyString);
2309
2365
  }
2310
2366
  function check2004ValidRange(value, rangePattern) {
2311
- return (0,validation/* checkValidRange */.W)(value, rangePattern, error_codes/* default */.A.scorm2004.VALUE_OUT_OF_RANGE, exceptions/* Scorm2004ValidationError */.wq);
2367
+ return (0,validation.checkValidRange)(value, rangePattern, error_codes.scorm2004_errors.VALUE_OUT_OF_RANGE, Scorm2004ValidationError);
2312
2368
  }
2313
2369
 
2314
2370
  ;// ./src/cmi/scorm2004/learner_preference.ts
@@ -2320,22 +2376,25 @@ function check2004ValidRange(value, rangePattern) {
2320
2376
 
2321
2377
 
2322
2378
  var CMILearnerPreference = (function (_super) {
2323
- (0,tslib_es6/* __extends */.C6)(CMILearnerPreference, _super);
2379
+ (0,tslib_es6.__extends)(CMILearnerPreference, _super);
2324
2380
  function CMILearnerPreference() {
2325
2381
  var _this = _super.call(this) || this;
2326
- _this.__children = api_constants/* default */.A.scorm2004.student_preference_children;
2382
+ _this.__children = api_constants.scorm2004_constants.student_preference_children;
2327
2383
  _this._audio_level = "1";
2328
2384
  _this._language = "";
2329
2385
  _this._delivery_speed = "1";
2330
2386
  _this._audio_captioning = "0";
2331
2387
  return _this;
2332
2388
  }
2389
+ CMILearnerPreference.prototype.reset = function () {
2390
+ this._initialized = false;
2391
+ };
2333
2392
  Object.defineProperty(CMILearnerPreference.prototype, "_children", {
2334
2393
  get: function () {
2335
2394
  return this.__children;
2336
2395
  },
2337
2396
  set: function (_children) {
2338
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
2397
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
2339
2398
  },
2340
2399
  enumerable: false,
2341
2400
  configurable: true
@@ -2345,8 +2404,8 @@ var CMILearnerPreference = (function (_super) {
2345
2404
  return this._audio_level;
2346
2405
  },
2347
2406
  set: function (audio_level) {
2348
- if (check2004ValidFormat(audio_level, regex/* default */.A.scorm2004.CMIDecimal) &&
2349
- check2004ValidRange(audio_level, regex/* default */.A.scorm2004.audio_range)) {
2407
+ if (check2004ValidFormat(audio_level, regex.scorm2004_regex.CMIDecimal) &&
2408
+ check2004ValidRange(audio_level, regex.scorm2004_regex.audio_range)) {
2350
2409
  this._audio_level = audio_level;
2351
2410
  }
2352
2411
  },
@@ -2358,7 +2417,7 @@ var CMILearnerPreference = (function (_super) {
2358
2417
  return this._language;
2359
2418
  },
2360
2419
  set: function (language) {
2361
- if (check2004ValidFormat(language, regex/* default */.A.scorm2004.CMILang)) {
2420
+ if (check2004ValidFormat(language, regex.scorm2004_regex.CMILang)) {
2362
2421
  this._language = language;
2363
2422
  }
2364
2423
  },
@@ -2370,8 +2429,8 @@ var CMILearnerPreference = (function (_super) {
2370
2429
  return this._delivery_speed;
2371
2430
  },
2372
2431
  set: function (delivery_speed) {
2373
- if (check2004ValidFormat(delivery_speed, regex/* default */.A.scorm2004.CMIDecimal) &&
2374
- check2004ValidRange(delivery_speed, regex/* default */.A.scorm2004.speed_range)) {
2432
+ if (check2004ValidFormat(delivery_speed, regex.scorm2004_regex.CMIDecimal) &&
2433
+ check2004ValidRange(delivery_speed, regex.scorm2004_regex.speed_range)) {
2375
2434
  this._delivery_speed = delivery_speed;
2376
2435
  }
2377
2436
  },
@@ -2383,8 +2442,8 @@ var CMILearnerPreference = (function (_super) {
2383
2442
  return this._audio_captioning;
2384
2443
  },
2385
2444
  set: function (audio_captioning) {
2386
- if (check2004ValidFormat(audio_captioning, regex/* default */.A.scorm2004.CMISInteger) &&
2387
- check2004ValidRange(audio_captioning, regex/* default */.A.scorm2004.text_range)) {
2445
+ if (check2004ValidFormat(audio_captioning, regex.scorm2004_regex.CMISInteger) &&
2446
+ check2004ValidRange(audio_captioning, regex.scorm2004_regex.text_range)) {
2388
2447
  this._audio_captioning = audio_captioning;
2389
2448
  }
2390
2449
  },
@@ -2403,14 +2462,13 @@ var CMILearnerPreference = (function (_super) {
2403
2462
  return result;
2404
2463
  };
2405
2464
  return CMILearnerPreference;
2406
- }(base_cmi/* BaseCMI */.J));
2465
+ }(base_cmi.BaseCMI));
2407
2466
 
2408
2467
 
2409
2468
  // EXTERNAL MODULE: ./src/cmi/common/array.ts
2410
2469
  var array = __webpack_require__(589);
2411
2470
  ;// ./src/constants/response_constants.ts
2412
2471
 
2413
- var scorm2004_regex = regex/* default */.A.scorm2004;
2414
2472
  var LearnerResponses = {
2415
2473
  "true-false": {
2416
2474
  format: "^true$|^false$",
@@ -2419,59 +2477,59 @@ var LearnerResponses = {
2419
2477
  unique: false,
2420
2478
  },
2421
2479
  choice: {
2422
- format: scorm2004_regex.CMILongIdentifier,
2480
+ format: regex.scorm2004_regex.CMILongIdentifier,
2423
2481
  max: 36,
2424
2482
  delimiter: "[,]",
2425
2483
  unique: true,
2426
2484
  },
2427
2485
  "fill-in": {
2428
- format: scorm2004_regex.CMILangString250,
2486
+ format: regex.scorm2004_regex.CMILangString250,
2429
2487
  max: 10,
2430
2488
  delimiter: "[,]",
2431
2489
  unique: false,
2432
2490
  },
2433
2491
  "long-fill-in": {
2434
- format: scorm2004_regex.CMILangString4000,
2492
+ format: regex.scorm2004_regex.CMILangString4000,
2435
2493
  max: 1,
2436
2494
  delimiter: "",
2437
2495
  unique: false,
2438
2496
  },
2439
2497
  matching: {
2440
- format: scorm2004_regex.CMIShortIdentifier,
2441
- format2: scorm2004_regex.CMIShortIdentifier,
2498
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2499
+ format2: regex.scorm2004_regex.CMIShortIdentifier,
2442
2500
  max: 36,
2443
2501
  delimiter: "[,]",
2444
2502
  delimiter2: "[.]",
2445
2503
  unique: false,
2446
2504
  },
2447
2505
  performance: {
2448
- format: "^$|" + scorm2004_regex.CMIShortIdentifier,
2449
- format2: scorm2004_regex.CMIDecimal + "|^$|" + scorm2004_regex.CMIShortIdentifier,
2506
+ format: "^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2507
+ format2: regex.scorm2004_regex.CMIDecimal + "|^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2450
2508
  max: 250,
2451
2509
  delimiter: "[,]",
2452
2510
  delimiter2: "[.]",
2453
2511
  unique: false,
2454
2512
  },
2455
2513
  sequencing: {
2456
- format: scorm2004_regex.CMIShortIdentifier,
2514
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2457
2515
  max: 36,
2458
2516
  delimiter: "[,]",
2459
2517
  unique: false,
2460
2518
  },
2461
2519
  likert: {
2462
- format: scorm2004_regex.CMIShortIdentifier,
2520
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2463
2521
  max: 1,
2464
2522
  delimiter: "",
2465
2523
  unique: false,
2466
2524
  },
2467
2525
  numeric: {
2468
- format: scorm2004_regex.CMIDecimal,
2526
+ format: regex.scorm2004_regex.CMIDecimal,
2469
2527
  max: 1,
2470
2528
  delimiter: "",
2471
2529
  unique: false,
2472
2530
  },
2473
2531
  other: {
2474
- format: scorm2004_regex.CMIString4000,
2532
+ format: regex.scorm2004_regex.CMIString4000,
2475
2533
  max: 1,
2476
2534
  delimiter: "",
2477
2535
  unique: false,
@@ -2491,21 +2549,21 @@ var CorrectResponses = {
2491
2549
  delimiter: "[,]",
2492
2550
  unique: true,
2493
2551
  duplicate: false,
2494
- format: scorm2004_regex.CMILongIdentifier,
2552
+ format: regex.scorm2004_regex.CMILongIdentifier,
2495
2553
  },
2496
2554
  "fill-in": {
2497
2555
  max: 10,
2498
2556
  delimiter: "[,]",
2499
2557
  unique: false,
2500
2558
  duplicate: false,
2501
- format: scorm2004_regex.CMILangString250cr,
2559
+ format: regex.scorm2004_regex.CMILangString250cr,
2502
2560
  },
2503
2561
  "long-fill-in": {
2504
2562
  max: 1,
2505
2563
  delimiter: "",
2506
2564
  unique: false,
2507
2565
  duplicate: true,
2508
- format: scorm2004_regex.CMILangString4000,
2566
+ format: regex.scorm2004_regex.CMILangString4000,
2509
2567
  },
2510
2568
  matching: {
2511
2569
  max: 36,
@@ -2513,8 +2571,8 @@ var CorrectResponses = {
2513
2571
  delimiter2: "[.]",
2514
2572
  unique: false,
2515
2573
  duplicate: false,
2516
- format: scorm2004_regex.CMIShortIdentifier,
2517
- format2: scorm2004_regex.CMIShortIdentifier,
2574
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2575
+ format2: regex.scorm2004_regex.CMIShortIdentifier,
2518
2576
  },
2519
2577
  performance: {
2520
2578
  max: 250,
@@ -2523,22 +2581,22 @@ var CorrectResponses = {
2523
2581
  delimiter3: "[:]",
2524
2582
  unique: false,
2525
2583
  duplicate: false,
2526
- format: "^$|" + scorm2004_regex.CMIShortIdentifier,
2527
- format2: scorm2004_regex.CMIDecimal + "|^$|" + scorm2004_regex.CMIShortIdentifier,
2584
+ format: "^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2585
+ format2: regex.scorm2004_regex.CMIDecimal + "|^$|" + regex.scorm2004_regex.CMIShortIdentifier,
2528
2586
  },
2529
2587
  sequencing: {
2530
2588
  max: 36,
2531
2589
  delimiter: "[,]",
2532
2590
  unique: false,
2533
2591
  duplicate: false,
2534
- format: scorm2004_regex.CMIShortIdentifier,
2592
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2535
2593
  },
2536
2594
  likert: {
2537
2595
  max: 1,
2538
2596
  delimiter: "",
2539
2597
  unique: false,
2540
2598
  duplicate: false,
2541
- format: scorm2004_regex.CMIShortIdentifier,
2599
+ format: regex.scorm2004_regex.CMIShortIdentifier,
2542
2600
  limit: 1,
2543
2601
  },
2544
2602
  numeric: {
@@ -2546,7 +2604,7 @@ var CorrectResponses = {
2546
2604
  delimiter: "[:]",
2547
2605
  unique: false,
2548
2606
  duplicate: false,
2549
- format: scorm2004_regex.CMIDecimal,
2607
+ format: regex.scorm2004_regex.CMIDecimal,
2550
2608
  limit: 1,
2551
2609
  },
2552
2610
  other: {
@@ -2554,7 +2612,7 @@ var CorrectResponses = {
2554
2612
  delimiter: "",
2555
2613
  unique: false,
2556
2614
  duplicate: false,
2557
- format: scorm2004_regex.CMIString4000,
2615
+ format: regex.scorm2004_regex.CMIString4000,
2558
2616
  limit: 1,
2559
2617
  },
2560
2618
  };
@@ -2570,19 +2628,19 @@ var CorrectResponses = {
2570
2628
 
2571
2629
 
2572
2630
  var CMIInteractions = (function (_super) {
2573
- (0,tslib_es6/* __extends */.C6)(CMIInteractions, _super);
2631
+ (0,tslib_es6.__extends)(CMIInteractions, _super);
2574
2632
  function CMIInteractions() {
2575
2633
  return _super.call(this, {
2576
- children: api_constants/* default */.A.scorm2004.interactions_children,
2577
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2578
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2634
+ children: api_constants.scorm2004_constants.interactions_children,
2635
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2636
+ errorClass: Scorm2004ValidationError,
2579
2637
  }) || this;
2580
2638
  }
2581
2639
  return CMIInteractions;
2582
- }(array/* CMIArray */.B));
2640
+ }(array.CMIArray));
2583
2641
 
2584
2642
  var CMIInteractionsObject = (function (_super) {
2585
- (0,tslib_es6/* __extends */.C6)(CMIInteractionsObject, _super);
2643
+ (0,tslib_es6.__extends)(CMIInteractionsObject, _super);
2586
2644
  function CMIInteractionsObject() {
2587
2645
  var _this = _super.call(this) || this;
2588
2646
  _this._id = "";
@@ -2593,15 +2651,15 @@ var CMIInteractionsObject = (function (_super) {
2593
2651
  _this._result = "";
2594
2652
  _this._latency = "";
2595
2653
  _this._description = "";
2596
- _this.objectives = new array/* CMIArray */.B({
2597
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2598
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2599
- children: api_constants/* default */.A.scorm2004.objectives_children,
2654
+ _this.objectives = new array.CMIArray({
2655
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2656
+ errorClass: Scorm2004ValidationError,
2657
+ children: api_constants.scorm2004_constants.objectives_children,
2600
2658
  });
2601
- _this.correct_responses = new array/* CMIArray */.B({
2602
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2603
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2604
- children: api_constants/* default */.A.scorm2004.correct_responses_children,
2659
+ _this.correct_responses = new array.CMIArray({
2660
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2661
+ errorClass: Scorm2004ValidationError,
2662
+ children: api_constants.scorm2004_constants.correct_responses_children,
2605
2663
  });
2606
2664
  return _this;
2607
2665
  }
@@ -2611,12 +2669,33 @@ var CMIInteractionsObject = (function (_super) {
2611
2669
  (_a = this.objectives) === null || _a === void 0 ? void 0 : _a.initialize();
2612
2670
  (_b = this.correct_responses) === null || _b === void 0 ? void 0 : _b.initialize();
2613
2671
  };
2672
+ CMIInteractionsObject.prototype.reset = function () {
2673
+ this._initialized = false;
2674
+ this._id = "";
2675
+ this._type = "";
2676
+ this._timestamp = "";
2677
+ this._weighting = "";
2678
+ this._learner_response = "";
2679
+ this._result = "";
2680
+ this._latency = "";
2681
+ this._description = "";
2682
+ this.objectives = new array.CMIArray({
2683
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2684
+ errorClass: Scorm2004ValidationError,
2685
+ children: api_constants.scorm2004_constants.objectives_children,
2686
+ });
2687
+ this.correct_responses = new array.CMIArray({
2688
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2689
+ errorClass: Scorm2004ValidationError,
2690
+ children: api_constants.scorm2004_constants.correct_responses_children,
2691
+ });
2692
+ };
2614
2693
  Object.defineProperty(CMIInteractionsObject.prototype, "id", {
2615
2694
  get: function () {
2616
2695
  return this._id;
2617
2696
  },
2618
2697
  set: function (id) {
2619
- if (check2004ValidFormat(id, regex/* default */.A.scorm2004.CMILongIdentifier)) {
2698
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
2620
2699
  this._id = id;
2621
2700
  }
2622
2701
  },
@@ -2629,10 +2708,10 @@ var CMIInteractionsObject = (function (_super) {
2629
2708
  },
2630
2709
  set: function (type) {
2631
2710
  if (this.initialized && this._id === "") {
2632
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2711
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2633
2712
  }
2634
2713
  else {
2635
- if (check2004ValidFormat(type, regex/* default */.A.scorm2004.CMIType)) {
2714
+ if (check2004ValidFormat(type, regex.scorm2004_regex.CMIType)) {
2636
2715
  this._type = type;
2637
2716
  }
2638
2717
  }
@@ -2646,10 +2725,10 @@ var CMIInteractionsObject = (function (_super) {
2646
2725
  },
2647
2726
  set: function (timestamp) {
2648
2727
  if (this.initialized && this._id === "") {
2649
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2728
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2650
2729
  }
2651
2730
  else {
2652
- if (check2004ValidFormat(timestamp, regex/* default */.A.scorm2004.CMITime)) {
2731
+ if (check2004ValidFormat(timestamp, regex.scorm2004_regex.CMITime)) {
2653
2732
  this._timestamp = timestamp;
2654
2733
  }
2655
2734
  }
@@ -2663,10 +2742,10 @@ var CMIInteractionsObject = (function (_super) {
2663
2742
  },
2664
2743
  set: function (weighting) {
2665
2744
  if (this.initialized && this._id === "") {
2666
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2745
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2667
2746
  }
2668
2747
  else {
2669
- if (check2004ValidFormat(weighting, regex/* default */.A.scorm2004.CMIDecimal)) {
2748
+ if (check2004ValidFormat(weighting, regex.scorm2004_regex.CMIDecimal)) {
2670
2749
  this._weighting = weighting;
2671
2750
  }
2672
2751
  }
@@ -2680,7 +2759,7 @@ var CMIInteractionsObject = (function (_super) {
2680
2759
  },
2681
2760
  set: function (learner_response) {
2682
2761
  if (this.initialized && (this._type === "" || this._id === "")) {
2683
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2762
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2684
2763
  }
2685
2764
  else {
2686
2765
  var nodes = [];
@@ -2699,28 +2778,28 @@ var CMIInteractionsObject = (function (_super) {
2699
2778
  var values = nodes[i].split(response_type.delimiter2);
2700
2779
  if (values.length === 2) {
2701
2780
  if (!values[0].match(formatRegex)) {
2702
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2781
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2703
2782
  }
2704
2783
  else {
2705
2784
  if (!response_type.format2 ||
2706
2785
  !values[1].match(new RegExp(response_type.format2))) {
2707
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2786
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2708
2787
  }
2709
2788
  }
2710
2789
  }
2711
2790
  else {
2712
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2791
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2713
2792
  }
2714
2793
  }
2715
2794
  else {
2716
2795
  if (!nodes[i].match(formatRegex)) {
2717
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2796
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2718
2797
  }
2719
2798
  else {
2720
2799
  if (nodes[i] !== "" && response_type.unique) {
2721
2800
  for (var j = 0; j < i; j++) {
2722
2801
  if (nodes[i] === nodes[j]) {
2723
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2802
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2724
2803
  }
2725
2804
  }
2726
2805
  }
@@ -2729,12 +2808,12 @@ var CMIInteractionsObject = (function (_super) {
2729
2808
  }
2730
2809
  }
2731
2810
  else {
2732
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE);
2811
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE);
2733
2812
  }
2734
2813
  this._learner_response = learner_response;
2735
2814
  }
2736
2815
  else {
2737
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
2816
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
2738
2817
  }
2739
2818
  }
2740
2819
  },
@@ -2746,7 +2825,7 @@ var CMIInteractionsObject = (function (_super) {
2746
2825
  return this._result;
2747
2826
  },
2748
2827
  set: function (result) {
2749
- if (check2004ValidFormat(result, regex/* default */.A.scorm2004.CMIResult)) {
2828
+ if (check2004ValidFormat(result, regex.scorm2004_regex.CMIResult)) {
2750
2829
  this._result = result;
2751
2830
  }
2752
2831
  },
@@ -2759,10 +2838,10 @@ var CMIInteractionsObject = (function (_super) {
2759
2838
  },
2760
2839
  set: function (latency) {
2761
2840
  if (this.initialized && this._id === "") {
2762
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2841
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2763
2842
  }
2764
2843
  else {
2765
- if (check2004ValidFormat(latency, regex/* default */.A.scorm2004.CMITimespan)) {
2844
+ if (check2004ValidFormat(latency, regex.scorm2004_regex.CMITimespan)) {
2766
2845
  this._latency = latency;
2767
2846
  }
2768
2847
  }
@@ -2776,10 +2855,10 @@ var CMIInteractionsObject = (function (_super) {
2776
2855
  },
2777
2856
  set: function (description) {
2778
2857
  if (this.initialized && this._id === "") {
2779
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
2858
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
2780
2859
  }
2781
2860
  else {
2782
- if (check2004ValidFormat(description, regex/* default */.A.scorm2004.CMILangString250, true)) {
2861
+ if (check2004ValidFormat(description, regex.scorm2004_regex.CMILangString250, true)) {
2783
2862
  this._description = description;
2784
2863
  }
2785
2864
  }
@@ -2805,21 +2884,25 @@ var CMIInteractionsObject = (function (_super) {
2805
2884
  return result;
2806
2885
  };
2807
2886
  return CMIInteractionsObject;
2808
- }(base_cmi/* BaseCMI */.J));
2887
+ }(base_cmi.BaseCMI));
2809
2888
 
2810
2889
  var CMIInteractionsObjectivesObject = (function (_super) {
2811
- (0,tslib_es6/* __extends */.C6)(CMIInteractionsObjectivesObject, _super);
2890
+ (0,tslib_es6.__extends)(CMIInteractionsObjectivesObject, _super);
2812
2891
  function CMIInteractionsObjectivesObject() {
2813
2892
  var _this = _super.call(this) || this;
2814
2893
  _this._id = "";
2815
2894
  return _this;
2816
2895
  }
2896
+ CMIInteractionsObjectivesObject.prototype.reset = function () {
2897
+ this._initialized = false;
2898
+ this._id = "";
2899
+ };
2817
2900
  Object.defineProperty(CMIInteractionsObjectivesObject.prototype, "id", {
2818
2901
  get: function () {
2819
2902
  return this._id;
2820
2903
  },
2821
2904
  set: function (id) {
2822
- if (check2004ValidFormat(id, regex/* default */.A.scorm2004.CMILongIdentifier)) {
2905
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
2823
2906
  this._id = id;
2824
2907
  }
2825
2908
  },
@@ -2835,21 +2918,25 @@ var CMIInteractionsObjectivesObject = (function (_super) {
2835
2918
  return result;
2836
2919
  };
2837
2920
  return CMIInteractionsObjectivesObject;
2838
- }(base_cmi/* BaseCMI */.J));
2921
+ }(base_cmi.BaseCMI));
2839
2922
 
2840
2923
  var CMIInteractionsCorrectResponsesObject = (function (_super) {
2841
- (0,tslib_es6/* __extends */.C6)(CMIInteractionsCorrectResponsesObject, _super);
2924
+ (0,tslib_es6.__extends)(CMIInteractionsCorrectResponsesObject, _super);
2842
2925
  function CMIInteractionsCorrectResponsesObject() {
2843
2926
  var _this = _super.call(this) || this;
2844
2927
  _this._pattern = "";
2845
2928
  return _this;
2846
2929
  }
2930
+ CMIInteractionsCorrectResponsesObject.prototype.reset = function () {
2931
+ this._initialized = false;
2932
+ this._pattern = "";
2933
+ };
2847
2934
  Object.defineProperty(CMIInteractionsCorrectResponsesObject.prototype, "pattern", {
2848
2935
  get: function () {
2849
2936
  return this._pattern;
2850
2937
  },
2851
2938
  set: function (pattern) {
2852
- if (check2004ValidFormat(pattern, regex/* default */.A.scorm2004.CMIFeedback)) {
2939
+ if (check2004ValidFormat(pattern, regex.scorm2004_regex.CMIFeedback)) {
2853
2940
  this._pattern = pattern;
2854
2941
  }
2855
2942
  },
@@ -2865,7 +2952,7 @@ var CMIInteractionsCorrectResponsesObject = (function (_super) {
2865
2952
  return result;
2866
2953
  };
2867
2954
  return CMIInteractionsCorrectResponsesObject;
2868
- }(base_cmi/* BaseCMI */.J));
2955
+ }(base_cmi.BaseCMI));
2869
2956
 
2870
2957
 
2871
2958
  // EXTERNAL MODULE: ./src/cmi/common/score.ts
@@ -2879,27 +2966,34 @@ var score = __webpack_require__(434);
2879
2966
 
2880
2967
 
2881
2968
  var Scorm2004CMIScore = (function (_super) {
2882
- (0,tslib_es6/* __extends */.C6)(Scorm2004CMIScore, _super);
2969
+ (0,tslib_es6.__extends)(Scorm2004CMIScore, _super);
2883
2970
  function Scorm2004CMIScore() {
2884
2971
  var _this = _super.call(this, {
2885
- score_children: api_constants/* default */.A.scorm2004.score_children,
2972
+ score_children: api_constants.scorm2004_constants.score_children,
2886
2973
  max: "",
2887
- invalidErrorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2888
- invalidTypeCode: error_codes/* default */.A.scorm2004.TYPE_MISMATCH,
2889
- invalidRangeCode: error_codes/* default */.A.scorm2004.VALUE_OUT_OF_RANGE,
2890
- decimalRegex: regex/* default */.A.scorm2004.CMIDecimal,
2891
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
2974
+ invalidErrorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
2975
+ invalidTypeCode: error_codes.scorm2004_errors.TYPE_MISMATCH,
2976
+ invalidRangeCode: error_codes.scorm2004_errors.VALUE_OUT_OF_RANGE,
2977
+ decimalRegex: regex.scorm2004_regex.CMIDecimal,
2978
+ errorClass: Scorm2004ValidationError,
2892
2979
  }) || this;
2893
2980
  _this._scaled = "";
2894
2981
  return _this;
2895
2982
  }
2983
+ Scorm2004CMIScore.prototype.reset = function () {
2984
+ this._initialized = false;
2985
+ this._scaled = "";
2986
+ this._raw = "";
2987
+ this._min = "";
2988
+ this._max = "";
2989
+ };
2896
2990
  Object.defineProperty(Scorm2004CMIScore.prototype, "scaled", {
2897
2991
  get: function () {
2898
2992
  return this._scaled;
2899
2993
  },
2900
2994
  set: function (scaled) {
2901
- if (check2004ValidFormat(scaled, regex/* default */.A.scorm2004.CMIDecimal) &&
2902
- check2004ValidRange(scaled, regex/* default */.A.scorm2004.scaled_range)) {
2995
+ if (check2004ValidFormat(scaled, regex.scorm2004_regex.CMIDecimal) &&
2996
+ check2004ValidRange(scaled, regex.scorm2004_regex.scaled_range)) {
2903
2997
  this._scaled = scaled;
2904
2998
  }
2905
2999
  },
@@ -2918,7 +3012,7 @@ var Scorm2004CMIScore = (function (_super) {
2918
3012
  return result;
2919
3013
  };
2920
3014
  return Scorm2004CMIScore;
2921
- }(score/* CMIScore */._));
3015
+ }(score.CMIScore));
2922
3016
 
2923
3017
 
2924
3018
  ;// ./src/cmi/scorm2004/comments.ts
@@ -2931,31 +3025,31 @@ var Scorm2004CMIScore = (function (_super) {
2931
3025
 
2932
3026
 
2933
3027
  var CMICommentsFromLMS = (function (_super) {
2934
- (0,tslib_es6/* __extends */.C6)(CMICommentsFromLMS, _super);
3028
+ (0,tslib_es6.__extends)(CMICommentsFromLMS, _super);
2935
3029
  function CMICommentsFromLMS() {
2936
3030
  return _super.call(this, {
2937
- children: api_constants/* default */.A.scorm2004.comments_children,
2938
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2939
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
3031
+ children: api_constants.scorm2004_constants.comments_children,
3032
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
3033
+ errorClass: Scorm2004ValidationError,
2940
3034
  }) || this;
2941
3035
  }
2942
3036
  return CMICommentsFromLMS;
2943
- }(array/* CMIArray */.B));
3037
+ }(array.CMIArray));
2944
3038
 
2945
3039
  var CMICommentsFromLearner = (function (_super) {
2946
- (0,tslib_es6/* __extends */.C6)(CMICommentsFromLearner, _super);
3040
+ (0,tslib_es6.__extends)(CMICommentsFromLearner, _super);
2947
3041
  function CMICommentsFromLearner() {
2948
3042
  return _super.call(this, {
2949
- children: api_constants/* default */.A.scorm2004.comments_children,
2950
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
2951
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
3043
+ children: api_constants.scorm2004_constants.comments_children,
3044
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
3045
+ errorClass: Scorm2004ValidationError,
2952
3046
  }) || this;
2953
3047
  }
2954
3048
  return CMICommentsFromLearner;
2955
- }(array/* CMIArray */.B));
3049
+ }(array.CMIArray));
2956
3050
 
2957
3051
  var CMICommentsObject = (function (_super) {
2958
- (0,tslib_es6/* __extends */.C6)(CMICommentsObject, _super);
3052
+ (0,tslib_es6.__extends)(CMICommentsObject, _super);
2959
3053
  function CMICommentsObject(readOnlyAfterInit) {
2960
3054
  if (readOnlyAfterInit === void 0) { readOnlyAfterInit = false; }
2961
3055
  var _this = _super.call(this) || this;
@@ -2968,16 +3062,19 @@ var CMICommentsObject = (function (_super) {
2968
3062
  _this._readOnlyAfterInit = readOnlyAfterInit;
2969
3063
  return _this;
2970
3064
  }
3065
+ CMICommentsObject.prototype.reset = function () {
3066
+ this._initialized = false;
3067
+ };
2971
3068
  Object.defineProperty(CMICommentsObject.prototype, "comment", {
2972
3069
  get: function () {
2973
3070
  return this._comment;
2974
3071
  },
2975
3072
  set: function (comment) {
2976
3073
  if (this.initialized && this._readOnlyAfterInit) {
2977
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3074
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
2978
3075
  }
2979
3076
  else {
2980
- if (check2004ValidFormat(comment, regex/* default */.A.scorm2004.CMILangString4000, true)) {
3077
+ if (check2004ValidFormat(comment, regex.scorm2004_regex.CMILangString4000, true)) {
2981
3078
  this._comment = comment;
2982
3079
  }
2983
3080
  }
@@ -2991,10 +3088,10 @@ var CMICommentsObject = (function (_super) {
2991
3088
  },
2992
3089
  set: function (location) {
2993
3090
  if (this.initialized && this._readOnlyAfterInit) {
2994
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3091
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
2995
3092
  }
2996
3093
  else {
2997
- if (check2004ValidFormat(location, regex/* default */.A.scorm2004.CMIString250)) {
3094
+ if (check2004ValidFormat(location, regex.scorm2004_regex.CMIString250)) {
2998
3095
  this._location = location;
2999
3096
  }
3000
3097
  }
@@ -3008,10 +3105,10 @@ var CMICommentsObject = (function (_super) {
3008
3105
  },
3009
3106
  set: function (timestamp) {
3010
3107
  if (this.initialized && this._readOnlyAfterInit) {
3011
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3108
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3012
3109
  }
3013
3110
  else {
3014
- if (check2004ValidFormat(timestamp, regex/* default */.A.scorm2004.CMITime)) {
3111
+ if (check2004ValidFormat(timestamp, regex.scorm2004_regex.CMITime)) {
3015
3112
  this._timestamp = timestamp;
3016
3113
  }
3017
3114
  }
@@ -3030,7 +3127,7 @@ var CMICommentsObject = (function (_super) {
3030
3127
  return result;
3031
3128
  };
3032
3129
  return CMICommentsObject;
3033
- }(base_cmi/* BaseCMI */.J));
3130
+ }(base_cmi.BaseCMI));
3034
3131
 
3035
3132
 
3036
3133
  ;// ./src/cmi/scorm2004/objectives.ts
@@ -3044,19 +3141,28 @@ var CMICommentsObject = (function (_super) {
3044
3141
 
3045
3142
 
3046
3143
  var CMIObjectives = (function (_super) {
3047
- (0,tslib_es6/* __extends */.C6)(CMIObjectives, _super);
3144
+ (0,tslib_es6.__extends)(CMIObjectives, _super);
3048
3145
  function CMIObjectives() {
3049
3146
  return _super.call(this, {
3050
- children: api_constants/* default */.A.scorm2004.objectives_children,
3051
- errorCode: error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT,
3052
- errorClass: exceptions/* Scorm2004ValidationError */.wq,
3147
+ children: api_constants.scorm2004_constants.objectives_children,
3148
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
3149
+ errorClass: Scorm2004ValidationError,
3053
3150
  }) || this;
3054
3151
  }
3152
+ CMIObjectives.prototype.findObjectiveById = function (id) {
3153
+ return this.childArray.find(function (objective) { return objective.id === id; });
3154
+ };
3155
+ CMIObjectives.prototype.findObjectiveByIndex = function (index) {
3156
+ return this.childArray[index];
3157
+ };
3158
+ CMIObjectives.prototype.setObjectiveByIndex = function (index, objective) {
3159
+ this.childArray[index] = objective;
3160
+ };
3055
3161
  return CMIObjectives;
3056
- }(array/* CMIArray */.B));
3162
+ }(array.CMIArray));
3057
3163
 
3058
3164
  var CMIObjectivesObject = (function (_super) {
3059
- (0,tslib_es6/* __extends */.C6)(CMIObjectivesObject, _super);
3165
+ (0,tslib_es6.__extends)(CMIObjectivesObject, _super);
3060
3166
  function CMIObjectivesObject() {
3061
3167
  var _this = _super.call(this) || this;
3062
3168
  _this._id = "";
@@ -3067,6 +3173,9 @@ var CMIObjectivesObject = (function (_super) {
3067
3173
  _this.score = new Scorm2004CMIScore();
3068
3174
  return _this;
3069
3175
  }
3176
+ CMIObjectivesObject.prototype.reset = function () {
3177
+ this._initialized = false;
3178
+ };
3070
3179
  CMIObjectivesObject.prototype.initialize = function () {
3071
3180
  var _a;
3072
3181
  _super.prototype.initialize.call(this);
@@ -3077,7 +3186,7 @@ var CMIObjectivesObject = (function (_super) {
3077
3186
  return this._id;
3078
3187
  },
3079
3188
  set: function (id) {
3080
- if (check2004ValidFormat(id, regex/* default */.A.scorm2004.CMILongIdentifier)) {
3189
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
3081
3190
  this._id = id;
3082
3191
  }
3083
3192
  },
@@ -3090,10 +3199,10 @@ var CMIObjectivesObject = (function (_super) {
3090
3199
  },
3091
3200
  set: function (success_status) {
3092
3201
  if (this.initialized && this._id === "") {
3093
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3202
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3094
3203
  }
3095
3204
  else {
3096
- if (check2004ValidFormat(success_status, regex/* default */.A.scorm2004.CMISStatus)) {
3205
+ if (check2004ValidFormat(success_status, regex.scorm2004_regex.CMISStatus)) {
3097
3206
  this._success_status = success_status;
3098
3207
  }
3099
3208
  }
@@ -3107,10 +3216,10 @@ var CMIObjectivesObject = (function (_super) {
3107
3216
  },
3108
3217
  set: function (completion_status) {
3109
3218
  if (this.initialized && this._id === "") {
3110
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3219
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3111
3220
  }
3112
3221
  else {
3113
- if (check2004ValidFormat(completion_status, regex/* default */.A.scorm2004.CMICStatus)) {
3222
+ if (check2004ValidFormat(completion_status, regex.scorm2004_regex.CMICStatus)) {
3114
3223
  this._completion_status = completion_status;
3115
3224
  }
3116
3225
  }
@@ -3124,11 +3233,11 @@ var CMIObjectivesObject = (function (_super) {
3124
3233
  },
3125
3234
  set: function (progress_measure) {
3126
3235
  if (this.initialized && this._id === "") {
3127
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3236
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3128
3237
  }
3129
3238
  else {
3130
- if (check2004ValidFormat(progress_measure, regex/* default */.A.scorm2004.CMIDecimal) &&
3131
- check2004ValidRange(progress_measure, regex/* default */.A.scorm2004.progress_range)) {
3239
+ if (check2004ValidFormat(progress_measure, regex.scorm2004_regex.CMIDecimal) &&
3240
+ check2004ValidRange(progress_measure, regex.scorm2004_regex.progress_range)) {
3132
3241
  this._progress_measure = progress_measure;
3133
3242
  }
3134
3243
  }
@@ -3142,10 +3251,10 @@ var CMIObjectivesObject = (function (_super) {
3142
3251
  },
3143
3252
  set: function (description) {
3144
3253
  if (this.initialized && this._id === "") {
3145
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
3254
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
3146
3255
  }
3147
3256
  else {
3148
- if (check2004ValidFormat(description, regex/* default */.A.scorm2004.CMILangString250, true)) {
3257
+ if (check2004ValidFormat(description, regex.scorm2004_regex.CMILangString250, true)) {
3149
3258
  this._description = description;
3150
3259
  }
3151
3260
  }
@@ -3167,7 +3276,7 @@ var CMIObjectivesObject = (function (_super) {
3167
3276
  return result;
3168
3277
  };
3169
3278
  return CMIObjectivesObject;
3170
- }(base_cmi/* BaseCMI */.J));
3279
+ }(base_cmi.BaseCMI));
3171
3280
 
3172
3281
 
3173
3282
  ;// ./src/cmi/scorm2004/cmi.ts
@@ -3185,12 +3294,12 @@ var CMIObjectivesObject = (function (_super) {
3185
3294
 
3186
3295
 
3187
3296
  var CMI = (function (_super) {
3188
- (0,tslib_es6/* __extends */.C6)(CMI, _super);
3297
+ (0,tslib_es6.__extends)(CMI, _super);
3189
3298
  function CMI(initialized) {
3190
3299
  if (initialized === void 0) { initialized = false; }
3191
3300
  var _this = _super.call(this) || this;
3192
3301
  _this.__version = "1.0";
3193
- _this.__children = api_constants/* default */.A.scorm2004.cmi_children;
3302
+ _this.__children = api_constants.scorm2004_constants.cmi_children;
3194
3303
  _this._completion_status = "unknown";
3195
3304
  _this._completion_threshold = "";
3196
3305
  _this._credit = "credit";
@@ -3229,12 +3338,27 @@ var CMI = (function (_super) {
3229
3338
  (_e = this.interactions) === null || _e === void 0 ? void 0 : _e.initialize();
3230
3339
  (_f = this.objectives) === null || _f === void 0 ? void 0 : _f.initialize();
3231
3340
  };
3341
+ CMI.prototype.reset = function () {
3342
+ var _a, _b, _c, _d, _e, _f;
3343
+ this._initialized = false;
3344
+ this._completion_status = "incomplete";
3345
+ this._exit = "";
3346
+ this._session_time = "PT0H0M0S";
3347
+ this._progress_measure = "";
3348
+ this._location = "";
3349
+ (_a = this.objectives) === null || _a === void 0 ? void 0 : _a.reset(false);
3350
+ (_b = this.interactions) === null || _b === void 0 ? void 0 : _b.reset(true);
3351
+ (_c = this.score) === null || _c === void 0 ? void 0 : _c.reset();
3352
+ (_d = this.comments_from_learner) === null || _d === void 0 ? void 0 : _d.reset();
3353
+ (_e = this.comments_from_lms) === null || _e === void 0 ? void 0 : _e.reset();
3354
+ (_f = this.learner_preference) === null || _f === void 0 ? void 0 : _f.reset();
3355
+ };
3232
3356
  Object.defineProperty(CMI.prototype, "_version", {
3233
3357
  get: function () {
3234
3358
  return this.__version;
3235
3359
  },
3236
3360
  set: function (_version) {
3237
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3361
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3238
3362
  },
3239
3363
  enumerable: false,
3240
3364
  configurable: true
@@ -3244,7 +3368,7 @@ var CMI = (function (_super) {
3244
3368
  return this.__children;
3245
3369
  },
3246
3370
  set: function (_children) {
3247
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3371
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3248
3372
  },
3249
3373
  enumerable: false,
3250
3374
  configurable: true
@@ -3254,7 +3378,7 @@ var CMI = (function (_super) {
3254
3378
  return this._completion_status;
3255
3379
  },
3256
3380
  set: function (completion_status) {
3257
- if (check2004ValidFormat(completion_status, regex/* default */.A.scorm2004.CMICStatus)) {
3381
+ if (check2004ValidFormat(completion_status, regex.scorm2004_regex.CMICStatus)) {
3258
3382
  this._completion_status = completion_status;
3259
3383
  }
3260
3384
  },
@@ -3267,7 +3391,7 @@ var CMI = (function (_super) {
3267
3391
  },
3268
3392
  set: function (completion_threshold) {
3269
3393
  if (this.initialized) {
3270
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3394
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3271
3395
  }
3272
3396
  else {
3273
3397
  this._completion_threshold = completion_threshold;
@@ -3282,7 +3406,7 @@ var CMI = (function (_super) {
3282
3406
  },
3283
3407
  set: function (credit) {
3284
3408
  if (this.initialized) {
3285
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3409
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3286
3410
  }
3287
3411
  else {
3288
3412
  this._credit = credit;
@@ -3297,7 +3421,7 @@ var CMI = (function (_super) {
3297
3421
  },
3298
3422
  set: function (entry) {
3299
3423
  if (this.initialized) {
3300
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3424
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3301
3425
  }
3302
3426
  else {
3303
3427
  this._entry = entry;
@@ -3309,12 +3433,12 @@ var CMI = (function (_super) {
3309
3433
  Object.defineProperty(CMI.prototype, "exit", {
3310
3434
  get: function () {
3311
3435
  if (!this.jsonString) {
3312
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.WRITE_ONLY_ELEMENT);
3436
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.WRITE_ONLY_ELEMENT);
3313
3437
  }
3314
3438
  return this._exit;
3315
3439
  },
3316
3440
  set: function (exit) {
3317
- if (check2004ValidFormat(exit, regex/* default */.A.scorm2004.CMIExit, true)) {
3441
+ if (check2004ValidFormat(exit, regex.scorm2004_regex.CMIExit, true)) {
3318
3442
  this._exit = exit;
3319
3443
  }
3320
3444
  },
@@ -3327,7 +3451,7 @@ var CMI = (function (_super) {
3327
3451
  },
3328
3452
  set: function (launch_data) {
3329
3453
  if (this.initialized) {
3330
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3454
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3331
3455
  }
3332
3456
  else {
3333
3457
  this._launch_data = launch_data;
@@ -3342,7 +3466,7 @@ var CMI = (function (_super) {
3342
3466
  },
3343
3467
  set: function (learner_id) {
3344
3468
  if (this.initialized) {
3345
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3469
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3346
3470
  }
3347
3471
  else {
3348
3472
  this._learner_id = learner_id;
@@ -3357,7 +3481,7 @@ var CMI = (function (_super) {
3357
3481
  },
3358
3482
  set: function (learner_name) {
3359
3483
  if (this.initialized) {
3360
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3484
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3361
3485
  }
3362
3486
  else {
3363
3487
  this._learner_name = learner_name;
@@ -3371,7 +3495,7 @@ var CMI = (function (_super) {
3371
3495
  return this._location;
3372
3496
  },
3373
3497
  set: function (location) {
3374
- if (check2004ValidFormat(location, regex/* default */.A.scorm2004.CMIString1000)) {
3498
+ if (check2004ValidFormat(location, regex.scorm2004_regex.CMIString1000)) {
3375
3499
  this._location = location;
3376
3500
  }
3377
3501
  },
@@ -3384,7 +3508,7 @@ var CMI = (function (_super) {
3384
3508
  },
3385
3509
  set: function (max_time_allowed) {
3386
3510
  if (this.initialized) {
3387
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3511
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3388
3512
  }
3389
3513
  else {
3390
3514
  this._max_time_allowed = max_time_allowed;
@@ -3399,7 +3523,7 @@ var CMI = (function (_super) {
3399
3523
  },
3400
3524
  set: function (mode) {
3401
3525
  if (this.initialized) {
3402
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3526
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3403
3527
  }
3404
3528
  else {
3405
3529
  this._mode = mode;
@@ -3413,8 +3537,8 @@ var CMI = (function (_super) {
3413
3537
  return this._progress_measure;
3414
3538
  },
3415
3539
  set: function (progress_measure) {
3416
- if (check2004ValidFormat(progress_measure, regex/* default */.A.scorm2004.CMIDecimal) &&
3417
- check2004ValidRange(progress_measure, regex/* default */.A.scorm2004.progress_range)) {
3540
+ if (check2004ValidFormat(progress_measure, regex.scorm2004_regex.CMIDecimal) &&
3541
+ check2004ValidRange(progress_measure, regex.scorm2004_regex.progress_range)) {
3418
3542
  this._progress_measure = progress_measure;
3419
3543
  }
3420
3544
  },
@@ -3427,7 +3551,7 @@ var CMI = (function (_super) {
3427
3551
  },
3428
3552
  set: function (scaled_passing_score) {
3429
3553
  if (this.initialized) {
3430
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3554
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3431
3555
  }
3432
3556
  else {
3433
3557
  this._scaled_passing_score = scaled_passing_score;
@@ -3439,12 +3563,12 @@ var CMI = (function (_super) {
3439
3563
  Object.defineProperty(CMI.prototype, "session_time", {
3440
3564
  get: function () {
3441
3565
  if (!this.jsonString) {
3442
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.WRITE_ONLY_ELEMENT);
3566
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.WRITE_ONLY_ELEMENT);
3443
3567
  }
3444
3568
  return this._session_time;
3445
3569
  },
3446
3570
  set: function (session_time) {
3447
- if (check2004ValidFormat(session_time, regex/* default */.A.scorm2004.CMITimespan)) {
3571
+ if (check2004ValidFormat(session_time, regex.scorm2004_regex.CMITimespan)) {
3448
3572
  this._session_time = session_time;
3449
3573
  }
3450
3574
  },
@@ -3456,7 +3580,7 @@ var CMI = (function (_super) {
3456
3580
  return this._success_status;
3457
3581
  },
3458
3582
  set: function (success_status) {
3459
- if (check2004ValidFormat(success_status, regex/* default */.A.scorm2004.CMISStatus)) {
3583
+ if (check2004ValidFormat(success_status, regex.scorm2004_regex.CMISStatus)) {
3460
3584
  this._success_status = success_status;
3461
3585
  }
3462
3586
  },
@@ -3468,7 +3592,7 @@ var CMI = (function (_super) {
3468
3592
  return this._suspend_data;
3469
3593
  },
3470
3594
  set: function (suspend_data) {
3471
- if (check2004ValidFormat(suspend_data, regex/* default */.A.scorm2004.CMIString64000, true)) {
3595
+ if (check2004ValidFormat(suspend_data, regex.scorm2004_regex.CMIString64000, true)) {
3472
3596
  this._suspend_data = suspend_data;
3473
3597
  }
3474
3598
  },
@@ -3481,7 +3605,7 @@ var CMI = (function (_super) {
3481
3605
  },
3482
3606
  set: function (time_limit_action) {
3483
3607
  if (this.initialized) {
3484
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3608
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3485
3609
  }
3486
3610
  else {
3487
3611
  this._time_limit_action = time_limit_action;
@@ -3496,7 +3620,7 @@ var CMI = (function (_super) {
3496
3620
  },
3497
3621
  set: function (total_time) {
3498
3622
  if (this.initialized) {
3499
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
3623
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
3500
3624
  }
3501
3625
  else {
3502
3626
  this._total_time = total_time;
@@ -3510,9 +3634,9 @@ var CMI = (function (_super) {
3510
3634
  var startTime = this.start_time;
3511
3635
  if (typeof startTime !== "undefined" && startTime !== null) {
3512
3636
  var seconds = new Date().getTime() - startTime;
3513
- sessionTime = utilities/* getSecondsAsISODuration */.xE(seconds / 1000);
3637
+ sessionTime = utilities.getSecondsAsISODuration(seconds / 1000);
3514
3638
  }
3515
- return utilities/* addTwoDurations */.$o(this._total_time, sessionTime, regex/* default */.A.scorm2004.CMITimespan);
3639
+ return utilities.addTwoDurations(this._total_time, sessionTime, regex.scorm2004_regex.CMITimespan);
3516
3640
  };
3517
3641
  CMI.prototype.toJSON = function () {
3518
3642
  this.jsonString = true;
@@ -3545,7 +3669,7 @@ var CMI = (function (_super) {
3545
3669
  return result;
3546
3670
  };
3547
3671
  return CMI;
3548
- }(base_cmi/* BaseRootCMI */.r));
3672
+ }(base_cmi.BaseRootCMI));
3549
3673
 
3550
3674
 
3551
3675
  ;// ./src/constants/language_constants.ts
@@ -3954,11 +4078,15 @@ var enums = __webpack_require__(56);
3954
4078
 
3955
4079
 
3956
4080
 
4081
+
4082
+
3957
4083
  var ADL = (function (_super) {
3958
- (0,tslib_es6/* __extends */.C6)(ADL, _super);
4084
+ (0,tslib_es6.__extends)(ADL, _super);
3959
4085
  function ADL() {
3960
4086
  var _this = _super.call(this) || this;
4087
+ _this.data = new ADLData();
3961
4088
  _this.nav = new ADLNav();
4089
+ _this.data = new ADLData();
3962
4090
  return _this;
3963
4091
  }
3964
4092
  ADL.prototype.initialize = function () {
@@ -3966,19 +4094,25 @@ var ADL = (function (_super) {
3966
4094
  _super.prototype.initialize.call(this);
3967
4095
  (_a = this.nav) === null || _a === void 0 ? void 0 : _a.initialize();
3968
4096
  };
4097
+ ADL.prototype.reset = function () {
4098
+ var _a;
4099
+ this._initialized = false;
4100
+ (_a = this.nav) === null || _a === void 0 ? void 0 : _a.reset();
4101
+ };
3969
4102
  ADL.prototype.toJSON = function () {
3970
4103
  this.jsonString = true;
3971
4104
  var result = {
3972
4105
  nav: this.nav,
4106
+ data: this.data,
3973
4107
  };
3974
4108
  delete this.jsonString;
3975
4109
  return result;
3976
4110
  };
3977
4111
  return ADL;
3978
- }(base_cmi/* BaseCMI */.J));
4112
+ }(base_cmi.BaseCMI));
3979
4113
 
3980
4114
  var ADLNav = (function (_super) {
3981
- (0,tslib_es6/* __extends */.C6)(ADLNav, _super);
4115
+ (0,tslib_es6.__extends)(ADLNav, _super);
3982
4116
  function ADLNav() {
3983
4117
  var _this = _super.call(this) || this;
3984
4118
  _this._request = "_none_";
@@ -3990,12 +4124,18 @@ var ADLNav = (function (_super) {
3990
4124
  _super.prototype.initialize.call(this);
3991
4125
  (_a = this.request_valid) === null || _a === void 0 ? void 0 : _a.initialize();
3992
4126
  };
4127
+ ADLNav.prototype.reset = function () {
4128
+ var _a;
4129
+ this._initialized = false;
4130
+ this._request = "_none_";
4131
+ (_a = this.request_valid) === null || _a === void 0 ? void 0 : _a.reset();
4132
+ };
3993
4133
  Object.defineProperty(ADLNav.prototype, "request", {
3994
4134
  get: function () {
3995
4135
  return this._request;
3996
4136
  },
3997
4137
  set: function (request) {
3998
- if (check2004ValidFormat(request, regex/* default */.A.scorm2004.NAVEvent)) {
4138
+ if (check2004ValidFormat(request, regex.scorm2004_regex.NAVEvent)) {
3999
4139
  this._request = request;
4000
4140
  }
4001
4141
  },
@@ -4011,10 +4151,69 @@ var ADLNav = (function (_super) {
4011
4151
  return result;
4012
4152
  };
4013
4153
  return ADLNav;
4014
- }(base_cmi/* BaseCMI */.J));
4154
+ }(base_cmi.BaseCMI));
4155
+
4156
+ var ADLData = (function (_super) {
4157
+ (0,tslib_es6.__extends)(ADLData, _super);
4158
+ function ADLData() {
4159
+ return _super.call(this, {
4160
+ children: api_constants.scorm2004_constants.adl_data_children,
4161
+ errorCode: error_codes.scorm2004_errors.READ_ONLY_ELEMENT,
4162
+ errorClass: Scorm2004ValidationError,
4163
+ }) || this;
4164
+ }
4165
+ return ADLData;
4166
+ }(array.CMIArray));
4167
+
4168
+ var ADLDataObject = (function (_super) {
4169
+ (0,tslib_es6.__extends)(ADLDataObject, _super);
4170
+ function ADLDataObject() {
4171
+ var _this = _super.call(this) || this;
4172
+ _this._id = "";
4173
+ _this._store = "";
4174
+ return _this;
4175
+ }
4176
+ ADLDataObject.prototype.reset = function () {
4177
+ this._initialized = false;
4178
+ };
4179
+ Object.defineProperty(ADLDataObject.prototype, "id", {
4180
+ get: function () {
4181
+ return this._id;
4182
+ },
4183
+ set: function (id) {
4184
+ if (check2004ValidFormat(id, regex.scorm2004_regex.CMILongIdentifier)) {
4185
+ this._id = id;
4186
+ }
4187
+ },
4188
+ enumerable: false,
4189
+ configurable: true
4190
+ });
4191
+ Object.defineProperty(ADLDataObject.prototype, "store", {
4192
+ get: function () {
4193
+ return this._store;
4194
+ },
4195
+ set: function (store) {
4196
+ if (check2004ValidFormat(store, regex.scorm2004_regex.CMILangString4000)) {
4197
+ this._store = store;
4198
+ }
4199
+ },
4200
+ enumerable: false,
4201
+ configurable: true
4202
+ });
4203
+ ADLDataObject.prototype.toJSON = function () {
4204
+ this.jsonString = true;
4205
+ var result = {
4206
+ id: this._id,
4207
+ store: this._store,
4208
+ };
4209
+ delete this.jsonString;
4210
+ return result;
4211
+ };
4212
+ return ADLDataObject;
4213
+ }(base_cmi.BaseCMI));
4015
4214
 
4016
4215
  var ADLNavRequestValid = (function (_super) {
4017
- (0,tslib_es6/* __extends */.C6)(ADLNavRequestValid, _super);
4216
+ (0,tslib_es6.__extends)(ADLNavRequestValid, _super);
4018
4217
  function ADLNavRequestValid() {
4019
4218
  var _this = _super.call(this) || this;
4020
4219
  _this._continue = "unknown";
@@ -4023,15 +4222,20 @@ var ADLNavRequestValid = (function (_super) {
4023
4222
  _this._jump = {};
4024
4223
  return _this;
4025
4224
  }
4225
+ ADLNavRequestValid.prototype.reset = function () {
4226
+ this._initialized = false;
4227
+ this._continue = "unknown";
4228
+ this._previous = "unknown";
4229
+ };
4026
4230
  Object.defineProperty(ADLNavRequestValid.prototype, "continue", {
4027
4231
  get: function () {
4028
4232
  return this._continue;
4029
4233
  },
4030
4234
  set: function (_continue) {
4031
4235
  if (this.initialized) {
4032
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4236
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4033
4237
  }
4034
- if (check2004ValidFormat(_continue, regex/* default */.A.scorm2004.NAVBoolean)) {
4238
+ if (check2004ValidFormat(_continue, regex.scorm2004_regex.NAVBoolean)) {
4035
4239
  this._continue = _continue;
4036
4240
  }
4037
4241
  },
@@ -4044,9 +4248,9 @@ var ADLNavRequestValid = (function (_super) {
4044
4248
  },
4045
4249
  set: function (_previous) {
4046
4250
  if (this.initialized) {
4047
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4251
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4048
4252
  }
4049
- if (check2004ValidFormat(_previous, regex/* default */.A.scorm2004.NAVBoolean)) {
4253
+ if (check2004ValidFormat(_previous, regex.scorm2004_regex.NAVBoolean)) {
4050
4254
  this._previous = _previous;
4051
4255
  }
4052
4256
  },
@@ -4059,17 +4263,17 @@ var ADLNavRequestValid = (function (_super) {
4059
4263
  },
4060
4264
  set: function (choice) {
4061
4265
  if (this.initialized) {
4062
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4266
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4063
4267
  }
4064
4268
  if (typeof choice !== "object") {
4065
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4269
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4066
4270
  }
4067
4271
  for (var key in choice) {
4068
4272
  if ({}.hasOwnProperty.call(choice, key)) {
4069
- if (check2004ValidFormat(choice[key], regex/* default */.A.scorm2004.NAVBoolean) &&
4070
- check2004ValidFormat(key, regex/* default */.A.scorm2004.NAVTarget)) {
4273
+ if (check2004ValidFormat(choice[key], regex.scorm2004_regex.NAVBoolean) &&
4274
+ check2004ValidFormat(key, regex.scorm2004_regex.NAVTarget)) {
4071
4275
  this._choice[key] =
4072
- enums/* NAVBoolean */.K$[choice[key]];
4276
+ enums.NAVBoolean[choice[key]];
4073
4277
  }
4074
4278
  }
4075
4279
  }
@@ -4083,16 +4287,16 @@ var ADLNavRequestValid = (function (_super) {
4083
4287
  },
4084
4288
  set: function (jump) {
4085
4289
  if (this.initialized) {
4086
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.READ_ONLY_ELEMENT);
4290
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.READ_ONLY_ELEMENT);
4087
4291
  }
4088
4292
  if (typeof jump !== "object") {
4089
- throw new exceptions/* Scorm2004ValidationError */.wq(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4293
+ throw new Scorm2004ValidationError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4090
4294
  }
4091
4295
  for (var key in jump) {
4092
4296
  if ({}.hasOwnProperty.call(jump, key)) {
4093
- if (check2004ValidFormat(jump[key], regex/* default */.A.scorm2004.NAVBoolean) &&
4094
- check2004ValidFormat(key, regex/* default */.A.scorm2004.NAVTarget)) {
4095
- this._jump[key] = enums/* NAVBoolean */.K$[jump[key]];
4297
+ if (check2004ValidFormat(jump[key], regex.scorm2004_regex.NAVBoolean) &&
4298
+ check2004ValidFormat(key, regex.scorm2004_regex.NAVTarget)) {
4299
+ this._jump[key] = enums.NAVBoolean[jump[key]];
4096
4300
  }
4097
4301
  }
4098
4302
  }
@@ -4112,7 +4316,7 @@ var ADLNavRequestValid = (function (_super) {
4112
4316
  return result;
4113
4317
  };
4114
4318
  return ADLNavRequestValid;
4115
- }(base_cmi/* BaseCMI */.J));
4319
+ }(base_cmi.BaseCMI));
4116
4320
 
4117
4321
 
4118
4322
  ;// ./src/Scorm2004API.ts
@@ -4131,9 +4335,8 @@ var ADLNavRequestValid = (function (_super) {
4131
4335
 
4132
4336
 
4133
4337
 
4134
-
4135
4338
  var Scorm2004Impl = (function (_super) {
4136
- (0,tslib_es6/* __extends */.C6)(Scorm2004Impl, _super);
4339
+ (0,tslib_es6.__extends)(Scorm2004Impl, _super);
4137
4340
  function Scorm2004Impl(settings) {
4138
4341
  var _this = this;
4139
4342
  if (settings) {
@@ -4141,8 +4344,9 @@ var Scorm2004Impl = (function (_super) {
4141
4344
  settings.mastery_override = false;
4142
4345
  }
4143
4346
  }
4144
- _this = _super.call(this, error_codes/* default */.A.scorm2004, settings) || this;
4347
+ _this = _super.call(this, error_codes.scorm2004_errors, settings) || this;
4145
4348
  _this._version = "1.0";
4349
+ _this._globalObjectives = [];
4146
4350
  _this.cmi = new CMI();
4147
4351
  _this.adl = new ADL();
4148
4352
  _this.Initialize = _this.lmsInitialize;
@@ -4156,9 +4360,10 @@ var Scorm2004Impl = (function (_super) {
4156
4360
  return _this;
4157
4361
  }
4158
4362
  Scorm2004Impl.prototype.reset = function (settings) {
4363
+ var _a, _b;
4159
4364
  this.commonReset(settings);
4160
- this.cmi = new CMI();
4161
- this.adl = new ADL();
4365
+ (_a = this.cmi) === null || _a === void 0 ? void 0 : _a.reset();
4366
+ (_b = this.adl) === null || _b === void 0 ? void 0 : _b.reset();
4162
4367
  };
4163
4368
  Object.defineProperty(Scorm2004Impl.prototype, "version", {
4164
4369
  get: function () {
@@ -4167,14 +4372,21 @@ var Scorm2004Impl = (function (_super) {
4167
4372
  enumerable: false,
4168
4373
  configurable: true
4169
4374
  });
4375
+ Object.defineProperty(Scorm2004Impl.prototype, "globalObjectives", {
4376
+ get: function () {
4377
+ return this._globalObjectives;
4378
+ },
4379
+ enumerable: false,
4380
+ configurable: true
4381
+ });
4170
4382
  Scorm2004Impl.prototype.lmsInitialize = function () {
4171
4383
  this.cmi.initialize();
4172
4384
  return this.initialize("Initialize");
4173
4385
  };
4174
4386
  Scorm2004Impl.prototype.lmsFinish = function () {
4175
4387
  var _this = this;
4176
- (function () { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
4177
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
4388
+ (function () { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
4389
+ return (0,tslib_es6.__generator)(this, function (_a) {
4178
4390
  switch (_a.label) {
4179
4391
  case 0: return [4, this.internalFinish()];
4180
4392
  case 1:
@@ -4183,17 +4395,18 @@ var Scorm2004Impl = (function (_super) {
4183
4395
  }
4184
4396
  });
4185
4397
  }); })();
4186
- return api_constants/* default */.A.global.SCORM_TRUE;
4398
+ return api_constants.global_constants.SCORM_TRUE;
4187
4399
  };
4188
4400
  Scorm2004Impl.prototype.internalFinish = function () {
4189
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
4401
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
4190
4402
  var result, navActions, request, choiceJumpRegex, matches, target, action;
4191
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
4192
- switch (_a.label) {
4403
+ var _a, _b, _c, _d;
4404
+ return (0,tslib_es6.__generator)(this, function (_e) {
4405
+ switch (_e.label) {
4193
4406
  case 0: return [4, this.terminate("Terminate", true)];
4194
4407
  case 1:
4195
- result = _a.sent();
4196
- if (result === api_constants/* default */.A.global.SCORM_TRUE) {
4408
+ result = _e.sent();
4409
+ if (result === api_constants.global_constants.SCORM_TRUE) {
4197
4410
  if (this.adl.nav.request !== "_none_") {
4198
4411
  navActions = {
4199
4412
  continue: "SequenceNext",
@@ -4206,12 +4419,18 @@ var Scorm2004Impl = (function (_super) {
4206
4419
  abandonAll: "SequenceAbandonAll",
4207
4420
  };
4208
4421
  request = this.adl.nav.request;
4209
- choiceJumpRegex = new RegExp(regex/* default */.A.scorm2004.NAVEvent);
4422
+ choiceJumpRegex = new RegExp(regex.scorm2004_regex.NAVEvent);
4210
4423
  matches = request.match(choiceJumpRegex);
4211
4424
  target = "";
4212
- if (matches && matches.length > 2) {
4213
- target = matches[2];
4214
- request = matches[1].replace(target, "");
4425
+ if (matches) {
4426
+ if ((_a = matches.groups) === null || _a === void 0 ? void 0 : _a.choice_target) {
4427
+ target = (_b = matches.groups) === null || _b === void 0 ? void 0 : _b.choice_target;
4428
+ request = "choice";
4429
+ }
4430
+ else if ((_c = matches.groups) === null || _c === void 0 ? void 0 : _c.jump_target) {
4431
+ target = (_d = matches.groups) === null || _d === void 0 ? void 0 : _d.jump_target;
4432
+ request = "jump";
4433
+ }
4215
4434
  }
4216
4435
  action = navActions[request];
4217
4436
  if (action) {
@@ -4229,7 +4448,7 @@ var Scorm2004Impl = (function (_super) {
4229
4448
  };
4230
4449
  Scorm2004Impl.prototype.lmsGetValue = function (CMIElement) {
4231
4450
  var adlNavRequestRegex = "^adl\\.nav\\.request_valid\\.(choice|jump)\\.{target=\\S{0,}([a-zA-Z0-9-_]+)}$";
4232
- if ((0,utilities/* stringMatches */.J6)(CMIElement, adlNavRequestRegex)) {
4451
+ if ((0,utilities.stringMatches)(CMIElement, adlNavRequestRegex)) {
4233
4452
  var matches = CMIElement.match(adlNavRequestRegex);
4234
4453
  var request = matches[1];
4235
4454
  var target = matches[2].replace("{target=", "").replace("}", "");
@@ -4251,8 +4470,8 @@ var Scorm2004Impl = (function (_super) {
4251
4470
  this.scheduleCommit(500, "LMSCommit");
4252
4471
  }
4253
4472
  else {
4254
- (function () { return (0,tslib_es6/* __awaiter */.sH)(_this, void 0, void 0, function () {
4255
- return (0,tslib_es6/* __generator */.YH)(this, function (_a) {
4473
+ (function () { return (0,tslib_es6.__awaiter)(_this, void 0, void 0, function () {
4474
+ return (0,tslib_es6.__generator)(this, function (_a) {
4256
4475
  switch (_a.label) {
4257
4476
  case 0: return [4, this.commit("LMSCommit", false)];
4258
4477
  case 1:
@@ -4262,7 +4481,7 @@ var Scorm2004Impl = (function (_super) {
4262
4481
  });
4263
4482
  }); })();
4264
4483
  }
4265
- return api_constants/* default */.A.global.SCORM_TRUE;
4484
+ return api_constants.global_constants.SCORM_TRUE;
4266
4485
  };
4267
4486
  Scorm2004Impl.prototype.lmsGetLastError = function () {
4268
4487
  return this.getLastError("GetLastError");
@@ -4274,29 +4493,58 @@ var Scorm2004Impl = (function (_super) {
4274
4493
  return this.getDiagnostic("GetDiagnostic", CMIErrorCode);
4275
4494
  };
4276
4495
  Scorm2004Impl.prototype.setCMIValue = function (CMIElement, value) {
4496
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.objectives\\.\\d+")) {
4497
+ var parts = CMIElement.split(".");
4498
+ var index = Number(parts[2]);
4499
+ var element_base = "cmi.objectives.".concat(index);
4500
+ var objective_id_1;
4501
+ var setting_id = (0,utilities.stringMatches)(CMIElement, "cmi\\.objectives\\.\\d+\\.id");
4502
+ if (setting_id) {
4503
+ objective_id_1 = value;
4504
+ }
4505
+ else {
4506
+ var objective = this.cmi.objectives.findObjectiveByIndex(index);
4507
+ objective_id_1 = objective ? objective.id : undefined;
4508
+ }
4509
+ var is_global = objective_id_1 && this.settings.globalObjectiveIds.includes(objective_id_1);
4510
+ if (is_global) {
4511
+ var global_index = this._globalObjectives.findIndex(function (obj) { return obj.id === objective_id_1; });
4512
+ if (global_index === -1) {
4513
+ global_index = this._globalObjectives.length;
4514
+ var newGlobalObjective = new CMIObjectivesObject();
4515
+ newGlobalObjective.id = objective_id_1;
4516
+ this._globalObjectives.push(newGlobalObjective);
4517
+ }
4518
+ var global_element = CMIElement.replace(element_base, "_globalObjectives.".concat(global_index));
4519
+ this._commonSetCMIValue("SetGlobalObjectiveValue", true, global_element, value);
4520
+ }
4521
+ }
4277
4522
  return this._commonSetCMIValue("SetValue", true, CMIElement, value);
4278
4523
  };
4279
4524
  Scorm2004Impl.prototype.getChildElement = function (CMIElement, value, foundFirstIndex) {
4280
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.objectives\\.\\d+")) {
4525
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.objectives\\.\\d+")) {
4281
4526
  return new CMIObjectivesObject();
4282
4527
  }
4283
4528
  if (foundFirstIndex) {
4284
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.interactions\\.\\d+\\.correct_responses\\.\\d+")) {
4529
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.interactions\\.\\d+\\.correct_responses\\.\\d+")) {
4285
4530
  return this.createCorrectResponsesObject(CMIElement, value);
4286
4531
  }
4287
- else if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.interactions\\.\\d+\\.objectives\\.\\d+")) {
4532
+ else if ((0,utilities.stringMatches)(CMIElement, "cmi\\.interactions\\.\\d+\\.objectives\\.\\d+")) {
4288
4533
  return new CMIInteractionsObjectivesObject();
4289
4534
  }
4290
4535
  }
4291
- else if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.interactions\\.\\d+")) {
4536
+ else if ((0,utilities.stringMatches)(CMIElement, "cmi\\.interactions\\.\\d+")) {
4292
4537
  return new CMIInteractionsObject();
4293
4538
  }
4294
- if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.comments_from_learner\\.\\d+")) {
4539
+ if ((0,utilities.stringMatches)(CMIElement, "cmi\\.comments_from_learner\\.\\d+")) {
4295
4540
  return new CMICommentsObject();
4296
4541
  }
4297
- else if ((0,utilities/* stringMatches */.J6)(CMIElement, "cmi\\.comments_from_lms\\.\\d+")) {
4542
+ else if ((0,utilities.stringMatches)(CMIElement, "cmi\\.comments_from_lms\\.\\d+")) {
4298
4543
  return new CMICommentsObject(true);
4299
4544
  }
4545
+ if ((0,utilities.stringMatches)(CMIElement, "adl\\.data\\.\\d+")) {
4546
+ return new ADLDataObject();
4547
+ }
4300
4548
  return null;
4301
4549
  };
4302
4550
  Scorm2004Impl.prototype.createCorrectResponsesObject = function (CMIElement, value) {
@@ -4305,7 +4553,7 @@ var Scorm2004Impl = (function (_super) {
4305
4553
  var interaction = this.cmi.interactions.childArray[index];
4306
4554
  if (this.isInitialized()) {
4307
4555
  if (!interaction.type) {
4308
- this.throwSCORMError(error_codes/* default */.A.scorm2004.DEPENDENCY_NOT_ESTABLISHED);
4556
+ this.throwSCORMError(error_codes.scorm2004_errors.DEPENDENCY_NOT_ESTABLISHED);
4309
4557
  }
4310
4558
  else {
4311
4559
  this.checkDuplicateChoiceResponse(interaction, value);
@@ -4314,7 +4562,7 @@ var Scorm2004Impl = (function (_super) {
4314
4562
  this.checkValidResponseType(response_type, value, interaction.type);
4315
4563
  }
4316
4564
  else {
4317
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Incorrect Response Type: " + interaction.type);
4565
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Incorrect Response Type: " + interaction.type);
4318
4566
  }
4319
4567
  }
4320
4568
  }
@@ -4335,7 +4583,7 @@ var Scorm2004Impl = (function (_super) {
4335
4583
  this.checkCorrectResponseValue(interaction_type, nodes, value);
4336
4584
  }
4337
4585
  else if (nodes.length > response_type.max) {
4338
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Data Model Element Pattern Too Long");
4586
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Data Model Element Pattern Too Long");
4339
4587
  }
4340
4588
  };
4341
4589
  Scorm2004Impl.prototype.checkDuplicateChoiceResponse = function (interaction, value) {
@@ -4344,7 +4592,7 @@ var Scorm2004Impl = (function (_super) {
4344
4592
  for (var i = 0; i < interaction_count && this.lastErrorCode === "0"; i++) {
4345
4593
  var response = interaction.correct_responses.childArray[i];
4346
4594
  if (response.pattern === value) {
4347
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE);
4595
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE);
4348
4596
  }
4349
4597
  }
4350
4598
  }
@@ -4367,12 +4615,12 @@ var Scorm2004Impl = (function (_super) {
4367
4615
  }
4368
4616
  else {
4369
4617
  if (this.lastErrorCode === "0") {
4370
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Data Model Element Pattern Already Exists");
4618
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Data Model Element Pattern Already Exists");
4371
4619
  }
4372
4620
  }
4373
4621
  }
4374
4622
  else {
4375
- this.throwSCORMError(error_codes/* default */.A.scorm2004.GENERAL_SET_FAILURE, "Data Model Element Collection Limit Reached");
4623
+ this.throwSCORMError(error_codes.scorm2004_errors.GENERAL_SET_FAILURE, "Data Model Element Collection Limit Reached");
4376
4624
  }
4377
4625
  };
4378
4626
  Scorm2004Impl.prototype.getCMIValue = function (CMIElement) {
@@ -4382,11 +4630,11 @@ var Scorm2004Impl = (function (_super) {
4382
4630
  var basicMessage = "";
4383
4631
  var detailMessage = "";
4384
4632
  errorNumber = String(errorNumber);
4385
- if (api_constants/* default */.A.scorm2004.error_descriptions[errorNumber]) {
4633
+ if (api_constants.scorm2004_constants.error_descriptions[errorNumber]) {
4386
4634
  basicMessage =
4387
- api_constants/* default */.A.scorm2004.error_descriptions[errorNumber].basicMessage;
4635
+ api_constants.scorm2004_constants.error_descriptions[errorNumber].basicMessage;
4388
4636
  detailMessage =
4389
- api_constants/* default */.A.scorm2004.error_descriptions[errorNumber].detailMessage;
4637
+ api_constants.scorm2004_constants.error_descriptions[errorNumber].detailMessage;
4390
4638
  }
4391
4639
  return detail ? detailMessage : basicMessage;
4392
4640
  };
@@ -4412,36 +4660,36 @@ var Scorm2004Impl = (function (_super) {
4412
4660
  if (values.length === 2) {
4413
4661
  var matches = values[0].match(formatRegex);
4414
4662
  if (!matches) {
4415
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4663
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4416
4664
  }
4417
4665
  else {
4418
4666
  if (!response.format2 ||
4419
4667
  !values[1].match(new RegExp(response.format2))) {
4420
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4668
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4421
4669
  }
4422
4670
  }
4423
4671
  }
4424
4672
  else {
4425
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4673
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4426
4674
  }
4427
4675
  }
4428
4676
  else {
4429
4677
  var matches = nodes[i].match(formatRegex);
4430
4678
  if ((!matches && value !== "") ||
4431
4679
  (!matches && interaction_type === "true-false")) {
4432
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4680
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4433
4681
  }
4434
4682
  else {
4435
4683
  if (interaction_type === "numeric" && nodes.length > 1) {
4436
4684
  if (Number(nodes[0]) > Number(nodes[1])) {
4437
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4685
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4438
4686
  }
4439
4687
  }
4440
4688
  else {
4441
4689
  if (nodes[i] !== "" && response.unique) {
4442
4690
  for (var j = 0; j < i && this.lastErrorCode === "0"; j++) {
4443
4691
  if (nodes[i] === nodes[j]) {
4444
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4692
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4445
4693
  }
4446
4694
  }
4447
4695
  }
@@ -4460,12 +4708,12 @@ var Scorm2004Impl = (function (_super) {
4460
4708
  while (matches) {
4461
4709
  switch (matches[2]) {
4462
4710
  case "lang":
4463
- langMatches = node.match(regex/* default */.A.scorm2004.CMILangcr);
4711
+ langMatches = node.match(regex.scorm2004_regex.CMILangcr);
4464
4712
  if (langMatches) {
4465
4713
  var lang = langMatches[3];
4466
4714
  if (lang !== undefined && lang.length > 0) {
4467
4715
  if (!language_constants.includes(lang.toLowerCase())) {
4468
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4716
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4469
4717
  }
4470
4718
  }
4471
4719
  }
@@ -4474,7 +4722,7 @@ var Scorm2004Impl = (function (_super) {
4474
4722
  case "case_matters":
4475
4723
  if (!seenLang && !seenOrder && !seenCase) {
4476
4724
  if (matches[3] !== "true" && matches[3] !== "false") {
4477
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4725
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4478
4726
  }
4479
4727
  }
4480
4728
  seenCase = true;
@@ -4482,7 +4730,7 @@ var Scorm2004Impl = (function (_super) {
4482
4730
  case "order_matters":
4483
4731
  if (!seenCase && !seenLang && !seenOrder) {
4484
4732
  if (matches[3] !== "true" && matches[3] !== "false") {
4485
- this.throwSCORMError(error_codes/* default */.A.scorm2004.TYPE_MISMATCH);
4733
+ this.throwSCORMError(error_codes.scorm2004_errors.TYPE_MISMATCH);
4486
4734
  }
4487
4735
  }
4488
4736
  seenOrder = true;
@@ -4503,10 +4751,10 @@ var Scorm2004Impl = (function (_super) {
4503
4751
  cmiExport.cmi.total_time = this.cmi.getCurrentTotalTime();
4504
4752
  }
4505
4753
  var result = [];
4506
- var flattened = utilities/* flatten */.Bq(cmiExport);
4754
+ var flattened = utilities.flatten(cmiExport);
4507
4755
  switch (this.settings.dataCommitFormat) {
4508
4756
  case "flattened":
4509
- return utilities/* flatten */.Bq(cmiExport);
4757
+ return utilities.flatten(cmiExport);
4510
4758
  case "params":
4511
4759
  for (var item in flattened) {
4512
4760
  if ({}.hasOwnProperty.call(flattened, item)) {
@@ -4522,23 +4770,23 @@ var Scorm2004Impl = (function (_super) {
4522
4770
  Scorm2004Impl.prototype.renderCommitObject = function (terminateCommit) {
4523
4771
  var cmiExport = this.renderCommitCMI(terminateCommit);
4524
4772
  var totalTimeDuration = this.cmi.getCurrentTotalTime();
4525
- var totalTimeSeconds = utilities/* getDurationAsSeconds */.OI(totalTimeDuration, regex/* default */.A.scorm2004.CMITimespan);
4526
- var completionStatus = enums/* CompletionStatus */.lC.unknown;
4527
- var successStatus = enums/* SuccessStatus */.YE.unknown;
4773
+ var totalTimeSeconds = utilities.getDurationAsSeconds(totalTimeDuration, regex.scorm2004_regex.CMITimespan);
4774
+ var completionStatus = enums.CompletionStatus.unknown;
4775
+ var successStatus = enums.SuccessStatus.unknown;
4528
4776
  if (this.cmi.completion_status) {
4529
4777
  if (this.cmi.completion_status === "completed") {
4530
- completionStatus = enums/* CompletionStatus */.lC.completed;
4778
+ completionStatus = enums.CompletionStatus.completed;
4531
4779
  }
4532
4780
  else if (this.cmi.completion_status === "incomplete") {
4533
- completionStatus = enums/* CompletionStatus */.lC.incomplete;
4781
+ completionStatus = enums.CompletionStatus.incomplete;
4534
4782
  }
4535
4783
  }
4536
4784
  if (this.cmi.success_status) {
4537
4785
  if (this.cmi.success_status === "passed") {
4538
- successStatus = enums/* SuccessStatus */.YE.passed;
4786
+ successStatus = enums.SuccessStatus.passed;
4539
4787
  }
4540
4788
  else if (this.cmi.success_status === "failed") {
4541
- successStatus = enums/* SuccessStatus */.YE.failed;
4789
+ successStatus = enums.SuccessStatus.failed;
4542
4790
  }
4543
4791
  }
4544
4792
  var score = this.cmi.score;
@@ -4570,10 +4818,10 @@ var Scorm2004Impl = (function (_super) {
4570
4818
  return commitObject;
4571
4819
  };
4572
4820
  Scorm2004Impl.prototype.storeData = function (terminateCommit) {
4573
- return (0,tslib_es6/* __awaiter */.sH)(this, void 0, void 0, function () {
4821
+ return (0,tslib_es6.__awaiter)(this, void 0, void 0, function () {
4574
4822
  var navRequest, commitObject, result;
4575
4823
  var _a, _b, _c;
4576
- return (0,tslib_es6/* __generator */.YH)(this, function (_d) {
4824
+ return (0,tslib_es6.__generator)(this, function (_d) {
4577
4825
  switch (_d.label) {
4578
4826
  case 0:
4579
4827
  if (terminateCommit) {
@@ -4601,7 +4849,6 @@ var Scorm2004Impl = (function (_super) {
4601
4849
  navRequest = false;
4602
4850
  if (this.adl.nav.request !== ((_c = (_b = (_a = this.startingData) === null || _a === void 0 ? void 0 : _a.adl) === null || _b === void 0 ? void 0 : _b.nav) === null || _c === void 0 ? void 0 : _c.request) &&
4603
4851
  this.adl.nav.request !== "_none_") {
4604
- this.adl.nav.request = encodeURIComponent(this.adl.nav.request);
4605
4852
  navRequest = true;
4606
4853
  }
4607
4854
  commitObject = this.getCommitObject(terminateCommit);
@@ -4618,7 +4865,7 @@ var Scorm2004Impl = (function (_super) {
4618
4865
  }
4619
4866
  return [2, result];
4620
4867
  case 2: return [2, {
4621
- result: api_constants/* default */.A.global.SCORM_TRUE,
4868
+ result: api_constants.global_constants.SCORM_TRUE,
4622
4869
  errorCode: 0,
4623
4870
  }];
4624
4871
  }
@@ -4626,10 +4873,10 @@ var Scorm2004Impl = (function (_super) {
4626
4873
  });
4627
4874
  };
4628
4875
  return Scorm2004Impl;
4629
- }(BaseAPI/* default */.A));
4876
+ }(BaseAPI["default"]));
4630
4877
 
4631
4878
 
4632
- var __webpack_exports__Scorm2004Impl = __webpack_exports__.Z;
4879
+ var __webpack_exports__Scorm2004Impl = __webpack_exports__.Scorm2004Impl;
4633
4880
  export { __webpack_exports__Scorm2004Impl as Scorm2004Impl };
4634
4881
 
4635
4882
  //# sourceMappingURL=scorm2004.js.map