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