Added type declarations for 'jpeg-js'.

This commit is contained in:
Daniel Rosenwasser
2017-08-30 16:20:35 -07:00
parent 88a6f27980
commit bcc93afc08
4 changed files with 58 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
// Type definitions for jpeg-js 0.3
// Project: https://github.com/eugeneware/jpeg-js#readme
// Definitions by: Daniel Rosenwasser <https://github.com/DanielRosenwasser>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node" />
export interface RawImageData<D extends Uint8Array> {
data: D;
width: number;
height: number;
}
export function decode(jpegData: ArrayLike<number> | Iterable<number> | ArrayBuffer, useTypedArray: true): RawImageData<Uint8Array>;
export function decode(jpegData: ArrayLike<number> | Iterable<number> | ArrayBuffer, useTypedArray?: false): RawImageData<Buffer>;
export function decode(jpegData: ArrayLike<number> | Iterable<number> | ArrayBuffer, useTypedArray: boolean): RawImageData<Uint8Array | Buffer>;
export function encode(imgData: RawImageData<Uint8Array | Buffer>, qu?: number): RawImageData<Buffer>;
+17
View File
@@ -0,0 +1,17 @@
/// <reference types="node" />
import fs = require("fs");
import jpeg = require("jpeg-js");
const x = fs.readFileSync("hello.jpg");
const decoded = jpeg.decode(x, true);
const { width, height } = decoded;
width; // $ExpectType number
height; // $ExpectType number
decoded.data; // $ExpectType Uint8Array
fs.writeFileSync("re-encoded.jpg", jpeg.encode({
width, height, data: decoded.data
}, 50));
+22
View File
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es2015"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"jpeg-js-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }