/** * Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export interface IDataInput { readBytes: (bytes: DataBuffer, offset?: number, length?: number) => void; readBoolean: () => boolean; readByte: () => number; readUnsignedByte: () => number; readShort: () => number; readUnsignedShort: () => number; readInt: () => number; readUnsignedInt: () => number; readFloat: () => number; readDouble: () => number; readMultiByte: (length: number, charSet: string) => string; readUTF: () => string; readUTFBytes: (length: number) => string; bytesAvailable: number; objectEncoding: number; endian: string; } export interface IDataOutput { writeBytes: (bytes: DataBuffer, offset?: number, length?: number) => void; writeBoolean: (value: boolean) => void; writeByte: (value: number) => void; writeShort: (value: number) => void; writeInt: (value: number) => void; writeUnsignedInt: (value: number) => void; writeFloat: (value: number) => void; writeDouble: (value: number) => void; writeMultiByte: (value: string, charSet: string) => void; writeUTF: (value: string) => void; writeUTFBytes: (value: string) => void; objectEncoding: number; endian: string; } export declare class PlainObjectDataBuffer { buffer: ArrayBuffer; length: number; littleEndian: boolean; constructor(buffer: ArrayBuffer, length: number, littleEndian: boolean); } export declare class DataBuffer implements IDataInput, IDataOutput { private static _nativeLittleEndian; private static INITIAL_SIZE; private _buffer; private _length; private _position; private _littleEndian; private _objectEncoding; private _u8; private _i32; private _f32; private _bitBuffer; private _bitLength; private static _arrayBufferPool; constructor(initialSize?: number); static FromArrayBuffer(buffer: ArrayBuffer, length?: number): DataBuffer; static FromPlainObject(source: PlainObjectDataBuffer): DataBuffer; toPlainObject(): PlainObjectDataBuffer; /** * Clone the DataBuffer in a way that guarantees the underlying ArrayBuffer to be copied * into an instance of the current global's ArrayBuffer. * * Important if the underlying buffer comes from a different global, in which case accessing * its elements is excruiciatingly slow. */ clone(): DataBuffer; /** * By default, we only have a byte view. All other views are |null|. */ private _resetViews; /** * We don't want to eagerly allocate views if we won't ever need them. You must call this method * before using a view of a certain type to make sure it's available. Once a view is allocated, * it is not re-allocated unless the view becomes |null| as a result of a call to |resetViews|. */ private _requestViews; getBytes(): Uint8Array; private _ensureCapacity; clear(): void; readBoolean(): boolean; readByte(): number; readUnsignedByte(): number; readBytes(bytes: DataBuffer, offset?: number, length?: number): void; readShort(): number; readUnsignedShort(): number; readInt(): number; readUnsignedInt(): number; readFloat(): number; readDouble(): number; writeBoolean(value: boolean): void; writeByte(value: number): void; writeUnsignedByte(value: number): void; writeRawBytes(bytes: Uint8Array): void; writeBytes(bytes: DataBuffer, offset?: number, length?: number): void; writeShort(value: number): void; writeUnsignedShort(value: number): void; writeInt(value: number): void; write2Ints(a: number, b: number): void; write4Ints(a: number, b: number, c: number, d: number): void; writeUnsignedInt(value: number): void; write2UnsignedInts(a: number, b: number): void; write4UnsignedInts(a: number, b: number, c: number, d: number): void; writeFloat(value: number): void; write2Floats(a: number, b: number): void; write6Floats(a: number, b: number, c: number, d: number, e: number, f: number): void; writeDouble(value: number): void; readRawBytes(): Int8Array; writeUTF(value: string): void; writeUTFBytes(value: string): void; readUTF(): string; readUTFBytes(length: number): string; get length(): number; set length(value: number); get bytesAvailable(): number; get position(): number; get buffer(): ArrayBuffer; get bytes(): Uint8Array; get ints(): Int32Array; set position(position: number); get objectEncoding(): number; set objectEncoding(version: number); get endian(): string; set endian(type: string); toString(): string; toBlob(type: string): Blob; writeMultiByte(value: string, charSet: string): void; readMultiByte(length: number, charSet: string): string; getValue(name: number): any; setValue(name: number, value: any): void; readFixed(): number; readFixed8(): number; readFloat16(): number; readEncodedU32(): number; readBits(size: number): number; readUnsignedBits(size: number): number; readFixedBits(size: number): number; readString(length?: number): string; align(): void; deflate(): void; inflate(): void; compress(algorithm: string): void; uncompress(algorithm: string): void; } //# sourceMappingURL=DataBuffer.d.ts.map