encoder.d.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /// <reference types="node" />
  2. /// <reference types="node" />
  3. /// <reference types="node" />
  4. import { Transform, TransformCallback, TransformOptions } from 'stream';
  5. export interface SlipEncoderOptions extends TransformOptions {
  6. /** Custom start byte */
  7. START?: number;
  8. /** Custom start escape byte */
  9. ESC_START?: number;
  10. /** custom escape byte */
  11. ESC?: number;
  12. /** custom end byte */
  13. END?: number;
  14. /** custom escape end byte */
  15. ESC_END?: number;
  16. /** custom escape escape byte */
  17. ESC_ESC?: number;
  18. /** Adds an END character at the beginning of each packet per the Bluetooth Core Specification 4.0, Volume 4, Part D, Chapter 3 "SLIP Layer" and allowed by RFC 1055 */
  19. bluetoothQuirk?: boolean;
  20. }
  21. /**
  22. * A transform stream that emits SLIP-encoded data for each incoming packet.
  23. *
  24. * Runs in O(n) time, adding a 0xC0 character at the end of each
  25. * received packet and escaping characters, according to RFC 1055.
  26. */
  27. export declare class SlipEncoder extends Transform {
  28. opts: {
  29. START: number | undefined;
  30. ESC: number;
  31. END: number;
  32. ESC_START: number | undefined;
  33. ESC_END: number;
  34. ESC_ESC: number;
  35. bluetoothQuirk: boolean;
  36. };
  37. constructor(options?: SlipEncoderOptions);
  38. _transform(chunk: Buffer, encoding: BufferEncoding, cb: TransformCallback): void;
  39. }