@compositive/foundation
Version:
Compositive framework foundation package.
26 lines (23 loc) • 783 B
JavaScript
import { __decorate } from 'tslib';
import { Memoized } from '@compositive/commons-memoize';
import { every } from '@compositive/commons-sequences';
class Theme {
get allFonts() {
return Array.from(Object.values(this.typography).reduce((set, spec) => spec == null
? set
: spec.allFonts.reduce((acc, font) => acc.add(font), set), new Set()));
}
async loadAllFonts() {
await every(this.allFonts)
.groupBy((font) => font.fontLoader)
.mapAsync(([loader, fonts]) => loader.loadMany(fonts));
}
areFontsLoaded() {
return this.allFonts.every((font) => font.isLoaded());
}
}
__decorate([
Memoized()
], Theme.prototype, "allFonts", null);
export { Theme };
//# sourceMappingURL=Theme.js.map