index.d.ts 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. // Type definitions for iconv-lite
  2. // Project: https://github.com/ashtuchkin/iconv-lite
  3. // Definitions by: Martin Poelstra <https://github.com/poelstra>
  4. // Definitions: https://github.com/borisyankov/DefinitelyTyped
  5. import stream = require("stream");
  6. export interface Options {
  7. stripBOM: boolean;
  8. addBOM: boolean;
  9. defaultEncoding: string;
  10. }
  11. export function decode(buffer: Buffer, encoding: string, options?: Options): string;
  12. export function encode(source: string, encoding: string, options?: Options): Buffer;
  13. export function encodingExists(encoding: string): boolean;
  14. export class DecodeStream extends stream.Transform {
  15. collect(cb: (err: Error, decoded: string) => any): DecodeStream;
  16. }
  17. export class EncodeStream extends stream.Transform {
  18. collect(cb: (err: Error, decoded: Buffer) => any): EncodeStream;
  19. }
  20. export function decodeStream(encoding: string, options?: Options): DecodeStream;
  21. export function encodeStream(encoding: string, options?: Options): EncodeStream;
  22. // NOTE: These are deprecated.
  23. export function extendNodeEncodings(): void;
  24. export function undoExtendNodeEncodings(): void;