StreamingOctetReader.d.ts 1.2 KB

123456789101112131415161718192021222324252627282930
  1. /**
  2. * A streaming reader which internally manages multiple chunks of
  3. * Uint8Array instances. For performance it does not merge the chunks into
  4. * a single Uint8Array instance. Instead it keeps track of the chunks and
  5. * reads across chunk boundaries as needed.
  6. */
  7. export declare class StreamingOctetReader {
  8. protected readonly chunks: Uint8Array[];
  9. /** Total size of all chunks. */
  10. protected chunkSize: number;
  11. protected x: number;
  12. size(): number;
  13. push(chunk: Uint8Array): void;
  14. protected assertSize(size: number): void;
  15. u8(): number;
  16. u32(): number;
  17. copy(size: number, dst: Uint8Array, pos: number): void;
  18. copyXor(size: number, dst: Uint8Array, pos: number, mask: [number, number, number, number], maskIndex: number): void;
  19. buf(size: number): Uint8Array;
  20. bufXor(size: number, mask: [number, number, number, number], maskIndex: number): Uint8Array;
  21. skipUnsafe(n: number): void;
  22. skip(n: number): void;
  23. peek(): number;
  24. /**
  25. * Get current byte value without advancing the cursor.
  26. * @deprecated Use peek() instead.
  27. */
  28. peak(): number;
  29. utf8(length: number, mask: [number, number, number, number], maskIndex: number): string;
  30. }