@boristype/types
Version:
<h1 align="center">WT Types</h1> <div align="center"> Typescript типы для WebSoft HCM.
88 lines (76 loc) • 4.45 kB
TypeScript
/**
* Предназначен для хранения бинарных данных,
* в том числе бинарных данных большого размера.
* Объект активно использовался в прошлом,
* когда строки не могли содержать в себе бинарные данные,
* либо для особых случаев, таких как многократная запись
* информации в большую строки маленькими кусочками
* (это необходимо, например, при генерации больших 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;