From d7637bf1a687afbea36ac198d03d1fd2c66bb53e Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Thu, 30 Jul 2015 17:58:20 +0100 Subject: [PATCH] Add resemble.js types --- resemble/resemble-tests.ts | 32 ++++++++++++++++++ resemble/resemble.d.ts | 66 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 resemble/resemble-tests.ts create mode 100644 resemble/resemble.d.ts diff --git a/resemble/resemble-tests.ts b/resemble/resemble-tests.ts new file mode 100644 index 000000000..d79637d47 --- /dev/null +++ b/resemble/resemble-tests.ts @@ -0,0 +1,32 @@ +resemble.outputSettings({ + errorColor: { + red: 255, + green: 0, + blue: 255 + }, + errorType: 'movement', + transparency: 0.3, + largeImageThreshold: 1200 +}); + +resemble("images/image.png").onComplete(function(data) { + var r: number = data.red; + var g: number = data.green; + var b: number = data.blue; + var brightness: number = data.brightness; +}); + +resemble("images/image.png").compareTo("images/image2.png").onComplete(function(data) { + var diffImageDataUrl: string = data.getImageDataUrl(); + var difference: number = data.misMatchPercentage; +}); + +resemble("images/image2.png").compareTo("images/image2.png") + .ignoreAntialiasing() + .ignoreColors() + .repaint() + .onComplete(function(data) { + var diffImageDataUrl: string = data.getImageDataUrl(); + var difference: number = data.misMatchPercentage; +}); + diff --git a/resemble/resemble.d.ts b/resemble/resemble.d.ts new file mode 100644 index 000000000..c10209e07 --- /dev/null +++ b/resemble/resemble.d.ts @@ -0,0 +1,66 @@ +// Type definitions for Resemble.js v1.3.0 +// Project: http://huddle.github.io/Resemble.js/ +// Definitions by: Tim Perry +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module Resemble { + interface ResembleStatic { + (image: string|ImageData): ResembleAnalysis; + outputSettings(settings: OutputSettings): ResembleStatic; + } + + interface OutputSettings { + errorColor: { + red: number; + green: number; + blue: number; + }; + errorType: string; + transparency: number; + largeImageThreshold: number; + } + + interface ResembleAnalysis { + onComplete(callback: (result: ResembleAnalysisResult) => void): void; + compareTo(fileData: string|ImageData): ResembleComparison; + } + + interface ResembleAnalysisResult { + red: number; + green: number; + blue: number; + brightness: number; + } + + interface ResembleComparison { + onComplete(callback: (result: ResembleComparisonResult) => void): void; + + ignoreNothing(): ResembleComparison; + ignoreAntialiasing(): ResembleComparison; + ignoreColors(): ResembleComparison; + repaint(): ResembleComparison; + + } + + interface ResembleComparisonResult { + isSameDimensions: boolean; + dimensionDifference: { + width: number, + height: number + }; + + getImageDataUrl(): string; + + misMatchPercentage: number; + diffBounds: { + top: number, + left: number, + bottom: number; + right: number; + }; + + analysisTime: number; + } +} + +declare var resemble: Resemble.ResembleStatic;