MOBILE-4099 scorm: Remove some non-null assertions
parent
7b5a5bed8f
commit
fad887aa65
|
@ -510,8 +510,9 @@ export class AddonModScormDataModel12 {
|
|||
// Load default values.
|
||||
for (const element in this.dataModel[scoId]) {
|
||||
if (element.match(/\.n\./) === null) {
|
||||
if (this.dataModel[scoId][element].defaultvalue !== undefined) {
|
||||
this.currentUserData[scoId].userdata[element] = this.dataModel[scoId][element].defaultvalue!;
|
||||
const defaultValue = this.dataModel[scoId][element].defaultvalue;
|
||||
if (defaultValue !== undefined) {
|
||||
this.currentUserData[scoId].userdata[element] = defaultValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -519,8 +520,9 @@ export class AddonModScormDataModel12 {
|
|||
// Load initial user data for current SCO.
|
||||
for (const element in this.def[scoId]) {
|
||||
if (element.match(/\.n\./) === null) {
|
||||
if (this.dataModel[scoId][element].defaultvalue !== undefined) {
|
||||
this.currentUserData[scoId].userdata[element] = this.dataModel[scoId][element].defaultvalue!;
|
||||
const defaultValue = this.dataModel[scoId][element].defaultvalue;
|
||||
if (defaultValue !== undefined) {
|
||||
this.currentUserData[scoId].userdata[element] = defaultValue;
|
||||
} else if (this.defExtra[scoId][element] !== undefined) {
|
||||
// Check in user data values.
|
||||
this.currentUserData[scoId].userdata[element] = this.defExtra[scoId][element];
|
||||
|
@ -808,7 +810,7 @@ export class AddonModScormDataModel12 {
|
|||
|
||||
if (this.dataModel[this.scoId][elementModel] !== undefined) {
|
||||
if (this.dataModel[this.scoId][elementModel].mod != 'r') {
|
||||
expression = new RegExp(this.dataModel[this.scoId][elementModel].format!);
|
||||
expression = new RegExp(this.dataModel[this.scoId][elementModel].format ?? '');
|
||||
value = value + '';
|
||||
|
||||
const matches = value.match(expression);
|
||||
|
|
|
@ -415,7 +415,7 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
|
|||
this.scorm,
|
||||
sco.id,
|
||||
this.attempt,
|
||||
this.userData!,
|
||||
this.userData ?? {},
|
||||
this.mode,
|
||||
this.offline,
|
||||
this.canSaveTracks,
|
||||
|
|
|
@ -89,7 +89,7 @@ export class AddonModScormPrefetchHandlerService extends CoreCourseActivityPrefe
|
|||
]);
|
||||
|
||||
// Success, return the hash.
|
||||
return scorm.sha1hash!;
|
||||
return scorm.sha1hash ?? '';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -112,7 +112,7 @@ export class AddonModScormPrefetchHandlerService extends CoreCourseActivityPrefe
|
|||
const packageUrl = AddonModScorm.getPackageUrl(scorm);
|
||||
|
||||
// Get the folder where the unzipped files will be.
|
||||
const dirPath = await AddonModScorm.getScormFolder(scorm.moduleurl!);
|
||||
const dirPath = await AddonModScorm.getScormFolder(scorm.moduleurl ?? '');
|
||||
|
||||
// Notify that the download is starting.
|
||||
onProgress && onProgress({ message: 'core.downloading' });
|
||||
|
@ -282,7 +282,7 @@ export class AddonModScormPrefetchHandlerService extends CoreCourseActivityPrefe
|
|||
const scorm = await this.getScorm(module, courseId);
|
||||
|
||||
// Get the folder where SCORM should be unzipped.
|
||||
const path = await AddonModScorm.getScormFolder(scorm.moduleurl!);
|
||||
const path = await AddonModScorm.getScormFolder(scorm.moduleurl ?? '');
|
||||
|
||||
return CoreFile.getDirectorySize(path);
|
||||
}
|
||||
|
@ -388,7 +388,7 @@ export class AddonModScormPrefetchHandlerService extends CoreCourseActivityPrefe
|
|||
const scorm = await this.getScorm(module, courseId, siteId);
|
||||
|
||||
// Get the folder where SCORM should be unzipped.
|
||||
const path = await AddonModScorm.getScormFolder(scorm.moduleurl!);
|
||||
const path = await AddonModScorm.getScormFolder(scorm.moduleurl ?? '');
|
||||
|
||||
const promises: Promise<unknown>[] = [];
|
||||
|
||||
|
|
|
@ -484,7 +484,7 @@ export class AddonModScormOfflineProvider {
|
|||
response[scoId] = {
|
||||
scoid: scoId,
|
||||
userdata: {
|
||||
userid: userId!,
|
||||
userid: userId ?? site.getUserId(),
|
||||
scoid: scoId,
|
||||
timemodified: 0,
|
||||
},
|
||||
|
@ -492,7 +492,7 @@ export class AddonModScormOfflineProvider {
|
|||
};
|
||||
}
|
||||
|
||||
response[scoId].userdata[entry.element] = entry.value!;
|
||||
response[scoId].userdata[entry.element] = entry.value ?? '';
|
||||
if (entry.timemodified > Number(response[scoId].userdata.timemodified)) {
|
||||
response[scoId].userdata.timemodified = entry.timemodified;
|
||||
}
|
||||
|
|
|
@ -777,7 +777,7 @@ export class AddonModScormSyncProvider extends CoreCourseActivitySyncBaseProvide
|
|||
lastOffline,
|
||||
newAttemptsSameOrder,
|
||||
newAttemptsAtEnd,
|
||||
lastOfflineData.timecreated!,
|
||||
lastOfflineData.timecreated ?? 0,
|
||||
lastOfflineData.incomplete,
|
||||
warnings,
|
||||
siteId,
|
||||
|
@ -812,7 +812,7 @@ export class AddonModScormSyncProvider extends CoreCourseActivitySyncBaseProvide
|
|||
lastOffline,
|
||||
newAttemptsSameOrder,
|
||||
newAttemptsAtEnd,
|
||||
lastOfflineData.timecreated!,
|
||||
lastOfflineData.timecreated ?? 0,
|
||||
lastOfflineData.incomplete,
|
||||
warnings,
|
||||
siteId,
|
||||
|
|
|
@ -357,8 +357,8 @@ export class AddonModScormProvider {
|
|||
element = '!';
|
||||
} else if (reOther.test(element)) {
|
||||
// Other symbols = | <> .
|
||||
matches = element.match(reOther)!;
|
||||
element = matches[1].trim();
|
||||
matches = element.match(reOther) ?? [];
|
||||
element = matches[1]?.trim();
|
||||
|
||||
if (trackData[element] !== undefined) {
|
||||
let value = matches[3].trim().replace(/('|")/gi, '');
|
||||
|
@ -968,7 +968,7 @@ export class AddonModScormProvider {
|
|||
return launchUrl;
|
||||
}
|
||||
|
||||
const dirPath = await CoreFilepool.getPackageDirUrlByUrl(siteId, scorm.moduleurl!);
|
||||
const dirPath = await CoreFilepool.getPackageDirUrlByUrl(siteId, scorm.moduleurl ?? '');
|
||||
|
||||
return CoreText.concatenatePaths(dirPath, launchUrl);
|
||||
}
|
||||
|
@ -1573,7 +1573,7 @@ export class AddonModScormProvider {
|
|||
userData?: AddonModScormUserDataMap,
|
||||
): boolean {
|
||||
if (offline) {
|
||||
return AddonModScormOffline.saveTracksSync(scorm, scoId, attempt, tracks, userData!);
|
||||
return AddonModScormOffline.saveTracksSync(scorm, scoId, attempt, tracks, userData ?? {});
|
||||
} else {
|
||||
const success = this.saveTracksSyncOnline(scoId, attempt, tracks);
|
||||
|
||||
|
|
Loading…
Reference in New Issue