Add typings for Geopattern.

This commit is contained in:
Gaelan Steele
2016-12-29 02:19:56 -07:00
parent 92a39091b5
commit a3387425a4
4 changed files with 95 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
/// <reference path="index.d.ts" />
var pattern = GeoPattern.generate('GitHub');
pattern.toDataUrl();
+70
View File
@@ -0,0 +1,70 @@
// Type definitions for GeoPattern v1.2.3
// Project: https://github.com/btmills/geopattern
// Definitions by: Gaelan <https://github.com/Gaelan>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
export as namespace GeoPattern;
/**
* Returns a newly-generated, tiling SVG Pattern.
*
* @param string Will be hashed using the SHA1 algorithm, and the resulting hash
* will be used as the seed for generation.
*/
export function generate(string: string, options?: PatternOptions): Pattern;
export interface PatternOptions {
/**
* Specify an exact background color. This is a CSS hexadecimal color
* value.
*/
color: string;
/**
* Controls the relative background color of the generated image. The color
* is not identical to that used in the pattern because the hue is rotated
* by the generator. This is a CSS hexadecimal color value, which defaults
* to #933c3c.
*/
baseColor: string;
/**
* Determines the pattern. All of the original patterns from the Ruby
* version at jasonlong/geo_pattern are available in this port, and their
* names are camelCased.
*/
generator: GeneratorType;
}
export type GeneratorType = 'chevrons' | 'octagons' | 'overlappingCircles' |
'plusSigns' | 'xes' | 'sineWaves' | 'hexagons' | 'overlappingRings' |
'plaid' |'triangles' | 'squares' | 'nestedSquares' | 'mosaicSquares' |
'concentricCircles' | 'diamonds' | 'tessellation';
export interface Pattern {
/** Gets the pattern's background color as a hexadecimal string. */
color: string;
/** Gets the SVG string representing the pattern. */
toString(): string;
/** Gets the SVG string representing the pattern. */
toSvg(): string;
/** Gets the SVG as a Base64-encoded string. */
toBase64(): string;
/**
* Gets the pattern as a data URI,
* i.e. data:image/svg+xml;base64,PHN2ZyB...
*/
toDataUri(): string;
/**
* Gets the pattern as a data URL suitable for use as a CSS
* background-image, i.e. url("data:image/svg+xml;base64,PHN2ZyB...").
*/
toDataUrl(): string;
}
// TODO: implement the jQuery plugin.
+20
View File
@@ -0,0 +1,20 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"geopattern-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "../tslint.json" }