UNPKG

gamesocket.io

Version:
53 lines (52 loc) 2.96 kB
/** * Структура данных, выполняющая функции массива и соверщающая дополнительные оптимизации. * @template {Object}T тип хранимых объектов */ export declare class List<T extends Object> { /** Массив внутренних элементов, которые доступны только наследникам */ protected _elements: Array<T | undefined> /** * Специальное значение, которое используется для определения свободных мест внутри массива * в случае, если будет указан настраеваемый undefined, движок V8 сможет сделать дополнительные оптимизации */ protected _undefined: undefined | T /** * Задает массиву начальный размер и запаолняет его {@link List._undefined | 'List._undefined'} */ constructor(undefinedValue?: T) /** Генератор значений элементов. Возвращает любые значения, которые не равны {@link List._undefined | 'List._undefined'} */ values(): Generator<T | undefined, void, unknown> /** * Добавляет набор новых элементов типа T. * @return false, если один из элементов оказался {@link List._undefined} и добавляет остальные элементы. true в остальных случаях */ add(...elements: Array<T>): boolean /** * Добавляет элеммент типа T. * @return -1, если один из элементов оказался {@link List._undefined} или index вставленного объекта в случае успеха. */ addOne(element: T): number /** * Удаляет набор элемментов типа T. * @returns false, если один из элементов оказался {@link List._undefined} или он не был найден в {@link List._elements} и удаляет остальные элементы. true в остальных случаях */ delete(...elements: Array<T>): boolean indexOf(element: T): number valueOf(index: number): T | undefined isUndefined(index: number): boolean /** * @returns индекс свободной позиции внутри массива. */ get freeSpace(): number /** * @returns true, если внутри {@link List._elements} есть хотя бы один элемент вида {@link List._undefined} */ protected get _hasFreeSpace(): number /** * * @param объект, который нужно найти * @returns индекс найденного объекта или -1 */ protected _getElement(element: T): number } //# sourceMappingURL=List.d.ts.map