@giancosta86/omnicourse-core
Version:
Core model for OmniCourse
24 lines • 969 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.SubjectSet = void 0;
const sorted_1 = require("@rimbu/sorted");
const hashed_1 = require("@rimbu/hashed");
const SubjectComp_1 = require("./SubjectComp");
var SubjectSet;
(function (SubjectSet) {
function createSorted(locale, subjects) {
const resultBuilder = sorted_1.SortedSet.createContext({
comp: SubjectComp_1.SubjectComp.createDefault(locale)
}).builder();
const uniqueNameAccumulator = hashed_1.HashSet.builder();
for (const subject of subjects) {
if (!uniqueNameAccumulator.add(subject.name)) {
throw new Error(`Duplicate subject: '${subject.name}'`);
}
resultBuilder.add(subject);
}
return resultBuilder.build();
}
SubjectSet.createSorted = createSorted;
})(SubjectSet || (exports.SubjectSet = SubjectSet = {}));
//# sourceMappingURL=SubjectSet.js.map
;