UNPKG

asciitorium

Version:
29 lines (28 loc) 798 B
var _a; import { RowLayout } from './RowLayout.js'; import { ColumnLayout } from './ColumnLayout.js'; /** * Registry of available layouts */ export class LayoutRegistry { static register(type, layoutClass) { this.layouts.set(type, layoutClass); } static create(type, options) { const LayoutClass = this.layouts.get(type); if (!LayoutClass) { throw new Error(`Unknown layout type: ${type}`); } return new LayoutClass(options); } static getAvailableTypes() { return Array.from(this.layouts.keys()); } } _a = LayoutRegistry; LayoutRegistry.layouts = new Map(); // Static initialization - register all built-in layouts (() => { _a.layouts.set('row', RowLayout); _a.layouts.set('column', ColumnLayout); })();