First draft of definition for pako

This commit is contained in:
dencap
2015-11-25 17:18:44 +01:00
parent 1d23a699ba
commit 1000b2c823
2 changed files with 86 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
/// <reference path="pako.d.ts" />
import pako = require("pako");
var test = { my: 'super', puper: [456, 567], awesome: 'pako' };
var binaryString = pako.deflate(JSON.stringify(test), { to: 'string' });
//
// Here you can do base64 encode, make xhr requests and so on.
//
var restored = JSON.parse(pako.inflate(binaryString, { to: 'string' }));
var pako = require('pako')
, chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])
, chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);
var deflate = new pako.Deflate({ level: 3});
deflate.push(chunk1, false);
deflate.push(chunk2, true); // true -> last chunk
if (deflate.err) { throw new Error(deflate.err); }
console.log(deflate.result);
+60
View File
@@ -0,0 +1,60 @@
// Type definitions for pako 0.2.8
// Project: https://github.com/nodeca/pako
// Definitions by: Denis Cappellin <http://github.com/cappellin>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module Pako {
/**
* Compress data with deflate algorithm and options.
*/
export function deflate( data: Uint8Array | Array<number> | string, options?: any ): string;
/**
* The same as deflate, but creates raw data, without wrapper (header and adler32 crc).
*/
export function deflateRaw( data: Uint8Array | Array<number> | string, options?: any ): string;
/**
* The same as deflate, but create gzip wrapper instead of deflate one.
*/
export function gzip( data: Uint8Array | Array<number> | string, options?: any ): string;
/**
* Decompress data with inflate/ungzip and options. Autodetect format via wrapper header
* by default. That's why we don't provide separate ungzip method.
*/
export function inflate( data: Uint8Array | Array<number> | string, options?: any ): Uint8Array | Array<number> | string;
/**
* The same as inflate, but creates raw data, without wrapper (header and adler32 crc).
*/
export function inflateRaw( data: Uint8Array | Array<number> | string, options?: any ): Uint8Array | Array<number> | string;
/**
* Just shortcut to inflate, because it autodetects format by header.content. Done for convenience.
*/
export function ungzip( data: Uint8Array | Array<number> | string, options?: any ): Uint8Array | Array<number> | string;
export interface Deflate {
/**
*
*/
constructor( options?: any );
err: number;
msg: string;
result: Uint8Array | Array<number>;
onData( chunk: Uint8Array | Array<number> | string ): void;
onEnd( status: number ): void;
push( data: Uint8Array | Array<number> | ArrayBuffer | string, mode?: number | boolean ): boolean;
}
export interface Inflate {
constructor( options?: any );
err: number;
msg: string;
result: Uint8Array | Array<number> | string;
onData( chunk: Uint8Array | Array<number> | string ): void;
onEnd( status: number ): void;
push( data: Uint8Array | Array<number> | ArrayBuffer | string, mode?: number | boolean ): boolean;
}
}
declare module 'pako' {
export = Pako;
}