UNPKG

@boristype/types

Version:

<h1 align="center">WT Types</h1> <div align="center"> Typescript типы для WebSoft HCM.

88 lines (76 loc) 4.45 kB
/** * Предназначен для хранения бинарных данных, * в том числе бинарных данных большого размера. * Объект активно использовался в прошлом, * когда строки не могли содержать в себе бинарные данные, * либо для особых случаев, таких как многократная запись * информации в большую строки маленькими кусочками * (это необходимо, например, при генерации больших HTML). * Поскольку добавление к строке большого количества маленьких * кусочков в цикле существенно медленнее, * чем запись в Binary, то для подобных случаем использовался * именно объект Binary, который потом преобразовывался в строку. * В настоящее время этот метод также явячется устаревшим, * поскольку появился отдельный объект, `WriteBuffStream`. */ interface Binary { /** * Размер содержимого бинарного объекта в байтах. */ Size: number; /** * Поток, в который можно писать данные любыми функциями, * которые работают с потоками. Данные из потока попадают в объект. */ WriteStream: Stream; /** * Добавляет данные из заданного бинарного объекта в текущий бинарный объект. * @param binary - Бинарный объект, данные из которого следует добавить. */ AppendBinary(binary: Binary): undefined; /** * Добавляет в текущий бинарный объект данные из заданной строки. * @param {string} string - Строка. */ AppendStr(string: string): undefined; /** * Копирует данные из заданного бинарного объекта в текущий бинарный объект. * @param binary - Исходный бинарный объект. */ AssignBinary(binary: Binary): undefined; /** * Копирует в текущий бинарный объект данные из заданной строки. * @param {string} str - Строка. */ AssignStr(str: string): undefined; /** * Возвращает бинарные данные из объекта в виде строки, содержащей массив байт. */ GetStr(): string; /** * Загружает в текущий бинарный объект данные из определенного url. * @param url - Url. */ LoadFromUrl(url: string): undefined; /** * Сообщает текущему потоковому объекту предполагаемый объем данных, * который будет в него записан последущемми функциями. * Для потоковых объектов, которые это поддерживают, * данная функция позволяет оптимизировать скорость записи в поток * за счет предварительного резервирования памяти. * В частности эту функцию рекомендуется вызывать для объекта WriteBuffStream * в случае последущей записи в него данных маленькими кусочками. * @param {number} size - Предполагаемый объем данных в байтах. */ PrepareWriteSpace(size: number): undefined; /** * Сохраняет данные из текущего бинарного объекта в заданный url. * @param {string} url - Url. */ PutToUrl(url: string): undefined; } interface BinaryConstructor { new(...arg: unknown[]): Binary; (...arg: unknown[]): Binary; } declare const Binary: BinaryConstructor;