@giancosta86/omnicourse-core
Version:
Core model for OmniCourse
29 lines • 1.08 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Work = void 0;
class Work {
static equals(left, right) {
return (left.title === right.title &&
left.totalMinutes === right.totalMinutes &&
left.kind === right.kind &&
left.completionDate?.toString() === right.completionDate?.toString() &&
left.url === right.url &&
left.certificateUrl === right.certificateUrl);
}
constructor(title, totalMinutes, optionalFields) {
this.title = title;
this.totalMinutes = totalMinutes;
if (!title) {
throw new Error("Empty work title");
}
if (totalMinutes <= 0) {
throw new Error(`Invalid total minutes for work '${title}': ${totalMinutes}`);
}
this.kind = optionalFields?.kind;
this.completionDate = optionalFields?.completionDate;
this.url = optionalFields?.url;
this.certificateUrl = optionalFields?.certificateUrl;
}
}
exports.Work = Work;
//# sourceMappingURL=Work.js.map
;