Add types for gulp-responsive-images. (#24885)

This commit is contained in:
Aankhen
2018-04-11 11:48:34 -07:00
committed by Mohamed Hegazy
parent 342f054c77
commit c73b50e6c5
4 changed files with 130 additions and 0 deletions
@@ -0,0 +1,63 @@
import gulpResponsiveImages = require('gulp-responsive-images');
gulpResponsiveImages(); // $ExpectError
gulpResponsiveImages({}); // $ExpectType Transform
gulpResponsiveImages({ 1: "abcd" }); // $ExpectError
gulpResponsiveImages({
'hero.png': [
{
}
]
}
);
gulpResponsiveImages({
'hero.png': [
{
crop: false,
gravity: 'Center',
height: 100,
overwrite: true,
quality: 100,
sharpen: false,
suffix: '-100',
upscale: false,
width: 100
}
]
}
);
gulpResponsiveImages({
'hero.png': [
{
format: "jpeg",
rename: "image.jpg",
percentage: 50
}
]
}
);
gulpResponsiveImages({
'hero.png': [
{
crop: undefined,
gravity: undefined,
height: undefined,
overwrite: undefined,
quality: undefined,
sharpen: undefined,
suffix: undefined,
upscale: undefined,
width: undefined,
format: undefined,
rename: undefined,
percentage: undefined
}
]
}
);
+43
View File
@@ -0,0 +1,43 @@
// Type definitions for gulp-responsive-images 0.0
// Project: https://github.com/dcgauld/gulp-responsive-images#readme
// Definitions by: Aankhen <https://github.com/aankhen>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node" />
import * as stream from "stream";
import * as gm from "gm";
import { ParsedPath, Options as RenameOptions } from "gulp-rename";
export = GulpResponsiveImage;
declare function GulpResponsiveImage(configs: GulpResponsiveImage.Matchers): stream.Transform;
declare namespace GulpResponsiveImage {
type SamplingFactor = [number, number];
type Rename = string
| ((path: ParsedPath) => any)
| RenameOptions;
interface Settings {
crop?: boolean;
format?: string;
gravity?: gm.GravityDirection;
overwrite?: boolean;
quality?: number;
rename?: Rename;
percentage?: number;
sharpen?: boolean;
upscale?: boolean;
filter?: gm.FilterType;
height?: number;
width?: number;
samplingFactor?: SamplingFactor;
suffix?: string;
}
interface Matchers {
[index: string]: ReadonlyArray<Settings>;
}
}
@@ -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-responsive-images-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }