Add typings for pbf (#12796)

* Add typings for pbf

* Fix test issues

* Remove single declare module

* Made buffer optional
This commit is contained in:
Christian Schwarz
2016-11-18 12:52:20 -08:00
committed by Andy
parent c0a731d5d8
commit 34cc6ae05e
4 changed files with 185 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
// Type definitions for pbf 3.0
// Project: https://github.com/mapbox/pbf
// Definitions by: Christian Schwarz <https://github.com/cschwarz>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare class Pbf {
buf: Uint8Array;
pos: number;
type: number;
length: number;
constructor(buffer?: Uint8Array);
destroy(): void;
readFields<T>(readField: (tag: number, result?: T, pbf?: Pbf) => void, result?: T, end?: number): T;
readMessage<T>(readField: (tag: number, result?: T, pbf?: Pbf) => void, result?: T): T;
readFixed32(): number;
readSFixed32(): number;
readFixed64(): number;
readSFixed64(): number;
readFloat(): number;
readDouble(): number;
readVarint(isSigned?: boolean): number;
readVarint64(): number;
readSVarint(): number;
readBoolean(): boolean;
readString(): string;
readBytes(): Uint8Array;
readPackedVarint(arr?: number[], isSigned?: boolean): number[];
readPackedSVarint(arr?: number[]): number[];
readPackedBoolean(arr?: boolean[]): boolean[];
readPackedFloat(arr?: number[]): number[];
readPackedDouble(arr?: number[]): number[];
readPackedFixed32(arr?: number[]): number[];
readPackedSFixed32(arr?: number[]): number[];
readPackedFixed64(arr?: number[]): number[];
readPackedSFixed64(arr?: number[]): number[];
skip(val: number): void;
writeTag(tag: number, type: number): void;
realloc(min: number): void;
finish(): Uint8Array;
writeFixed32(val: number): void;
writeSFixed32(val: number): void;
writeFixed64(val: number): void;
writeSFixed64(val: number): void;
writeVarint(val: number): void;
writeSVarint(val: number): void;
writeBoolean(val: boolean): void;
writeString(str: string): void;
writeFloat(val: number): void;
writeDouble(val: number): void;
writeBytes(buffer: Uint8Array): void;
writeRawMessage<T>(fn: (obj: T, pbf?: Pbf) => void, obj?: T): void;
writeMessage<T>(tag: number, fn: (obj: T, pbf?: Pbf) => void, obj?: T): void;
writePackedVarint(tag: number, arr: number[]): void;
writePackedSVarint(tag: number, arr: number[]): void;
writePackedBoolean(tag: number, arr: boolean[]): void;
writePackedFloat(tag: number, arr: number[]): void;
writePackedDouble(tag: number, arr: number[]): void;
writePackedFixed32(tag: number, arr: number[]): void;
writePackedSFixed32(tag: number, arr: number[]): void;
writePackedFixed64(tag: number, arr: number[]): void;
writePackedSFixed64(tag: number, arr: number[]): void;
writeBytesField(tag: number, buffer: Uint8Array): void;
writeFixed32Field(tag: number, val: number): void;
writeSFixed32Field(tag: number, val: number): void;
writeFixed64Field(tag: number, val: number): void;
writeSFixed64Field(tag: number, val: number): void;
writeVarintField(tag: number, val: number): void;
writeSVarintField(tag: number, val: number): void;
writeStringField(tag: number, str: string): void;
writeFloatField(tag: number, val: number): void;
writeDoubleField(tag: number, val: number): void;
writeBooleanField(tag: number, val: boolean): void;
}
export = Pbf;
+88
View File
@@ -0,0 +1,88 @@
import Pbf = require('pbf');
var pbf = new Pbf(new Uint8Array(1));
new Pbf();
pbf.buf;
pbf.pos;
pbf.type;
pbf.length;
pbf.destroy();
pbf.readFields(function (tag) {});
pbf.readFields(function (tag, result) {});
pbf.readFields(function (tag, result, pbf) {});
pbf.readFields(function (tag) {}, {}, 1);
pbf.readMessage(function (tag) {});
pbf.readMessage(function (tag, result) {});
pbf.readMessage(function (tag, result, pbf) {});
pbf.readFixed32();
pbf.readSFixed32();
pbf.readFixed64();
pbf.readSFixed64();
pbf.readFloat();
pbf.readDouble();
pbf.readVarint();
pbf.readVarint(true);
pbf.readVarint64();
pbf.readSVarint();
pbf.readBoolean();
pbf.readString();
pbf.readBytes();
pbf.readPackedVarint();
pbf.readPackedVarint([], true);
pbf.readPackedSVarint();
pbf.readPackedSVarint([]);
pbf.readPackedBoolean();
pbf.readPackedBoolean([]);
pbf.readPackedFloat();
pbf.readPackedFloat([]);
pbf.readPackedDouble();
pbf.readPackedDouble([]);
pbf.readPackedFixed32();
pbf.readPackedFixed32([]);
pbf.readPackedSFixed32();
pbf.readPackedSFixed32([]);
pbf.readPackedFixed64();
pbf.readPackedFixed64([]);
pbf.readPackedSFixed64();
pbf.readPackedSFixed64([]);
pbf.skip(1);
pbf.writeTag(1, 2);
pbf.realloc(1);
pbf.finish();
pbf.writeFixed32(1);
pbf.writeSFixed32(1);
pbf.writeFixed64(1);
pbf.writeSFixed64(1);
pbf.writeVarint(1);
pbf.writeSVarint(1);
pbf.writeBoolean(true);
pbf.writeString('');
pbf.writeFloat(1);
pbf.writeDouble(1);
pbf.writeBytes(new Uint8Array(1));
pbf.writeRawMessage(function (obj) {});
pbf.writeRawMessage(function (obj, pbf) {});
pbf.writeRawMessage(function (obj) {}, {});
pbf.writeMessage(1, function (obj) {});
pbf.writeMessage(1, function (obj, pbf) {});
pbf.writeMessage(1, function (obj) {}, {});
pbf.writePackedVarint(1, []);
pbf.writePackedSVarint(1, []);
pbf.writePackedBoolean(1, []);
pbf.writePackedFloat(1, []);
pbf.writePackedDouble(1, []);
pbf.writePackedFixed32(1, []);
pbf.writePackedSFixed32(1, []);
pbf.writePackedFixed64(1, []);
pbf.writePackedSFixed64(1, []);
pbf.writeBytesField(1, new Uint8Array(1));
pbf.writeFixed32Field(1, 2);
pbf.writeSFixed32Field(1, 2);
pbf.writeFixed64Field(1, 2);
pbf.writeSFixed64Field(1, 2);
pbf.writeVarintField(1, 2);
pbf.writeSVarintField(1, 2);
pbf.writeStringField(1, '');
pbf.writeFloatField(1, 2);
pbf.writeDoubleField(1, 2);
pbf.writeBooleanField(1, true);
+19
View File
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"pbf-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "../tslint.json" }