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