import { element } from "./element.js"; import { type_manager } from "./functions.js"; class elements_list { #content; constructor() { this.#content = {}; } append(target) { if (!(target instanceof element)) { throw "New target on list must be instance of an element."; } if (this.exists(target)) { throw "This element already exists on list."; } this.#content[target.name] = target; } exists(target) { if (target instanceof element) { target = target.name; } if (!(type_manager.is_string(target))) { throw "Target must be instance of string or element."; } return this.#content.hasOwnProperty(target); } get(target) { if (!this.exists(target)) { throw "Element with that name not exists on list."; } return this.#content[target]; } get content() { return Object.assign({}, this.#content); } } export { elements_list };