From 77ee228d5822ed10aed61e9a0680f271ca3193e9 Mon Sep 17 00:00:00 2001 From: Robert Hencke Date: Tue, 21 Apr 2015 19:39:07 -0400 Subject: [PATCH] Add type definitions for buffers. --- buffers/buffers-tests.ts | 49 ++++++++++++++++++++++++++++++++++++++++ buffers/buffers.d.ts | 36 +++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 buffers/buffers-tests.ts create mode 100644 buffers/buffers.d.ts diff --git a/buffers/buffers-tests.ts b/buffers/buffers-tests.ts new file mode 100644 index 0000000000..0a51f97ae4 --- /dev/null +++ b/buffers/buffers-tests.ts @@ -0,0 +1,49 @@ +/// +import Buffers = require('buffers'); + +var any: any; +var num: number; +var str: string; +var buf = new Buffer([1, 2, 3]); +var bufs: Buffers = new Buffers(); // with new, as type + +bufs = Buffers(); // no new + +// with self +bufs = Buffers(bufs); +bufs = new Buffers(bufs); + +// with array of buffers. +bufs = Buffers([buf, buf]); +bufs = new Buffers([buf, buf]); + +num = bufs.push(buf); +num = bufs.push(buf, buf); + +num = bufs.unshift(buf); +num = bufs.unshift(buf, buf); + +buf = bufs.slice(); +buf = bufs.slice(num); +buf = bufs.slice(num, num); + +bufs = bufs.splice(num); +bufs = bufs.splice(num, num); +bufs = bufs.splice(num, num, buf); +bufs = bufs.splice(num, num, buf, buf); + +num = bufs.copy(buf); +num = bufs.copy(buf, num, num, num); + +any = bufs.get(num); +bufs.set(num, any); + +num = bufs.indexOf(str); +num = bufs.indexOf(str, num); +num = bufs.indexOf(buf); +num = bufs.indexOf(buf, num); + +buf = bufs.toBuffer(); + +str = buf.toString(); +str = buf.toString(any, num, num); diff --git a/buffers/buffers.d.ts b/buffers/buffers.d.ts new file mode 100644 index 0000000000..fad36d3c49 --- /dev/null +++ b/buffers/buffers.d.ts @@ -0,0 +1,36 @@ +// Type definitions for buffers 0.1.1 +// Project: https://github.com/substack/node-buffers +// Definitions by: Robert Hencke +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module "buffers" { + + interface BuffersStatics { + new (bufs?: Buffer[]|Buffers): Buffers; + (bufs?: Buffer[]| Buffers): Buffers; + prototype: Buffers; + } + + interface Buffers { + buffers: Buffer[]; + length: number; + + push(...items: Buffer[]): number; + unshift(...items: Buffer[]): number; + slice(i?: number, j?: number): Buffer; + splice(i: number, howMany?: number, ...items: Buffer[]): Buffers; + copy(dst: Buffer, dstStart?: number, start?: number, end?: number): number; + get(i: number): any; + set(i: number, b: any): void; + indexOf(needle: string|Buffer, offset?: number): number; + toBuffer(): Buffer; + toString(encoding?: any, start?: number, end?: number): string; + } + + var Buffers: BuffersStatics; + + export = Buffers; + +}