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