From 53714e16a5ffe56205fa36865b02bf4b8e44b7dc Mon Sep 17 00:00:00 2001 From: Aankhen Date: Thu, 12 Apr 2018 00:12:15 +0530 Subject: [PATCH] Add gulp-image-resize types. (#24894) --- .../gulp-image-resize-tests.ts | 40 +++++++++++++++++++ types/gulp-image-resize/index.d.ts | 38 ++++++++++++++++++ types/gulp-image-resize/tsconfig.json | 23 +++++++++++ types/gulp-image-resize/tslint.json | 1 + 4 files changed, 102 insertions(+) create mode 100644 types/gulp-image-resize/gulp-image-resize-tests.ts create mode 100644 types/gulp-image-resize/index.d.ts create mode 100644 types/gulp-image-resize/tsconfig.json create mode 100644 types/gulp-image-resize/tslint.json diff --git a/types/gulp-image-resize/gulp-image-resize-tests.ts b/types/gulp-image-resize/gulp-image-resize-tests.ts new file mode 100644 index 0000000000..46360827c1 --- /dev/null +++ b/types/gulp-image-resize/gulp-image-resize-tests.ts @@ -0,0 +1,40 @@ +import resize = require('gulp-image-resize'); + +resize(); // $ExpectType Transform +resize(undefined); +resize("1"); // $ExpectError + +resize({ // $ExpectType Transform + width: 100, + height: 100, + crop: true, + upscale: false +}); + +resize({ + widt: 5 // $ExpectError +}); + +resize({ + width: undefined, + height: undefined, + upscale: undefined, + crop: undefined, + gravity: undefined, + quality: undefined, + format: undefined, + filter: undefined, + sharpen: undefined, + samplingFactor: undefined, + noProfile: undefined, + interlace: undefined, + imageMagick: undefined, + background: undefined, + flatten: undefined, + percentage: undefined, + cover: undefined +}); + +resize({ format: 'jpeg' }); +resize({ width: 100 }); +resize({ percentage: 50 }); diff --git a/types/gulp-image-resize/index.d.ts b/types/gulp-image-resize/index.d.ts new file mode 100644 index 0000000000..3166b0d9b9 --- /dev/null +++ b/types/gulp-image-resize/index.d.ts @@ -0,0 +1,38 @@ +// Type definitions for gulp-image-resize 0.13 +// Project: https://github.com/scalableminds/gulp-image-resize +// Definitions by: Aankhen +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.4 + +/// + +import * as stream from "stream"; +import * as gm from "gm"; + +export = GulpImageResize; + +declare function GulpImageResize(options?: GulpImageResize.Options): stream.Transform; + +declare namespace GulpImageResize { + type SamplingFactor = [number, number]; + + interface Options { + width?: number; + height?: number; + upscale?: boolean; + crop?: boolean; + gravity?: gm.GravityDirection; + quality?: number; + format?: string; + filter?: gm.FilterType; + sharpen?: boolean | string; + samplingFactor?: SamplingFactor; + noProfile?: boolean; + interlace?: boolean; + imageMagick?: boolean; + background?: string; + flatten?: boolean; + percentage?: number; + cover?: boolean; + } +} diff --git a/types/gulp-image-resize/tsconfig.json b/types/gulp-image-resize/tsconfig.json new file mode 100644 index 0000000000..7f26af6c84 --- /dev/null +++ b/types/gulp-image-resize/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "gulp-image-resize-tests.ts" + ] +} diff --git a/types/gulp-image-resize/tslint.json b/types/gulp-image-resize/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/gulp-image-resize/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }