All files / lib/core/runtime lifecycle.js

100% Statements 18/18
66.66% Branches 2/3
100% Functions 1/1
100% Lines 18/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1911x 11x 11x 11x 11x 11x 11x 11x 11x 11x 14x 14x 14x 14x 14x 14x 14x 11x  
/**
 * Manages the lifecycle of Avenx components.
 */
export class LifecycleManager {
    /**
     * Mounts a component to a target element and performs the initial update.
     * @param {AvenxComponent} component - The component instance to mount.
     * @param {Element|string} target - The target DOM element or selector.
     */
    mount(component, target) {
        const targetEl = typeof target === 'string' ? document.querySelector(target) : target;
        component.__setMountTarget(targetEl);
        component.update();
        if (component.__afterMount) {
            component.__afterMount();
        }
    }
}