From 33e2636b03c15e59ecbd5ab29289a1cf6a4b929b Mon Sep 17 00:00:00 2001 From: Emil Ekberg Date: Fri, 17 Jul 2015 19:17:35 +0200 Subject: [PATCH 1/3] webfontloader definitions added --- webfontloader/webfontloader.d.ts | 59 ++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 webfontloader/webfontloader.d.ts diff --git a/webfontloader/webfontloader.d.ts b/webfontloader/webfontloader.d.ts new file mode 100644 index 000000000..d8e354cf7 --- /dev/null +++ b/webfontloader/webfontloader.d.ts @@ -0,0 +1,59 @@ +// Type definitions for typekit-webfontloader 1.6.4 +// Project: https://github.com/typekit/webfontloader +// Definitions by: doskallemaskin +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare class WebFont { + static load(config:WebFont.Config); +} +declare module WebFont { + export interface Config { + /** Setting this to false will disable html classes (defaults to true) */ + classes?:boolean; + /** Settings this to false will disable callbacks/events (defaults to true) */ + events?:boolean; + /** Time (in ms) until the fontinactive callback will be triggered (defaults to 5000) */ + timeout?:number; + /** This event is triggered when all fonts have been requested. */ + loading?():void; + /** This event is triggered when the fonts have rendered. */ + active?():void; + /** This event is triggered when the browser does not support linked fonts or if none of the fonts could be loaded. */ + inactive?():void; + /** This event is triggered once for each font that's loaded. */ + fontloading?(familyName: string, fvd):void; + /** This event is triggered once for each font that renders. */ + fontactive?(familyName: string, fvd):void; + /** This event is triggered if the font can't be loaded. */ + fontinactive?(familyName: string, fvd):void; + + /** Child window or iframes to manage fonts for */ + context?:Array; + + custom?:Custom; + google?:Google; + typekit?:Typekit; + fontdeck?:Fontdeck; + monotype?:Monotype; + } + export interface Google { + families?:Array; + } + export interface Typekit { + id?:Array; + } + export interface Custom { + families?:Array; + urls?:Array; + testStrings?:{[fontFamily:string]:string}; + + } + export interface Fontdeck { + id?:string; + } + export interface Monotype { + projectId?:string; + version?:number; + } + +} \ No newline at end of file From 6b72968ffbf38d54675d22c857c66d581c372f83 Mon Sep 17 00:00:00 2001 From: Emil Ekberg Date: Sun, 19 Jul 2015 15:36:23 +0200 Subject: [PATCH 2/3] Added test cases --- webfontloader/webfontloader-tests.ts | 18 ++++++++++++++++++ webfontloader/webfontloader-tests.ts.tscparams | 1 + webfontloader/webfontloader.d.ts | 14 +++++++------- 3 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 webfontloader/webfontloader-tests.ts create mode 100644 webfontloader/webfontloader-tests.ts.tscparams diff --git a/webfontloader/webfontloader-tests.ts b/webfontloader/webfontloader-tests.ts new file mode 100644 index 000000000..5f27ea959 --- /dev/null +++ b/webfontloader/webfontloader-tests.ts @@ -0,0 +1,18 @@ +/// +import webfontloader = require("webfontloader"); + +var config: webfontloader.Config = { + classes: false, + events: false, + loading: function() {}, + active: function() {}, + inactive: function() {}, + fontloading: function(familyName:string, fvd:string) {}, + fontactive: function(familyName:string, fvd:string) {}, + fontinactive: function(familyName:string, fvd:string) {}, + google: { + families: ['Droid Sans'] + }, + timeout: 2000 +} +webfontloader.load(config); \ No newline at end of file diff --git a/webfontloader/webfontloader-tests.ts.tscparams b/webfontloader/webfontloader-tests.ts.tscparams new file mode 100644 index 000000000..4169d3605 --- /dev/null +++ b/webfontloader/webfontloader-tests.ts.tscparams @@ -0,0 +1 @@ +--noImplicitAny --module commonjs --target es5 \ No newline at end of file diff --git a/webfontloader/webfontloader.d.ts b/webfontloader/webfontloader.d.ts index d8e354cf7..6da62cf07 100644 --- a/webfontloader/webfontloader.d.ts +++ b/webfontloader/webfontloader.d.ts @@ -3,10 +3,8 @@ // Definitions by: doskallemaskin // Definitions: https://github.com/borisyankov/DefinitelyTyped -declare class WebFont { - static load(config:WebFont.Config); -} declare module WebFont { + export function load(config:WebFont.Config):void; export interface Config { /** Setting this to false will disable html classes (defaults to true) */ classes?:boolean; @@ -21,11 +19,11 @@ declare module WebFont { /** This event is triggered when the browser does not support linked fonts or if none of the fonts could be loaded. */ inactive?():void; /** This event is triggered once for each font that's loaded. */ - fontloading?(familyName: string, fvd):void; + fontloading?(familyName:string, fvd:string):void; /** This event is triggered once for each font that renders. */ - fontactive?(familyName: string, fvd):void; + fontactive?(familyName:string, fvd:string):void; /** This event is triggered if the font can't be loaded. */ - fontinactive?(familyName: string, fvd):void; + fontinactive?(familyName:string, fvd:string):void; /** Child window or iframes to manage fonts for */ context?:Array; @@ -46,7 +44,6 @@ declare module WebFont { families?:Array; urls?:Array; testStrings?:{[fontFamily:string]:string}; - } export interface Fontdeck { id?:string; @@ -56,4 +53,7 @@ declare module WebFont { version?:number; } +} +declare module "webfontloader" { + export = WebFont; } \ No newline at end of file From 0c9d64f93d51c53c309bab82c3c34dc048aeec06 Mon Sep 17 00:00:00 2001 From: Emil Ekberg Date: Sun, 19 Jul 2015 15:48:05 +0200 Subject: [PATCH 3/3] Added test cases --- webfontloader/webfontloader-tests.ts | 14 +++++++++++++- webfontloader/webfontloader.d.ts | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/webfontloader/webfontloader-tests.ts b/webfontloader/webfontloader-tests.ts index 5f27ea959..92711d706 100644 --- a/webfontloader/webfontloader-tests.ts +++ b/webfontloader/webfontloader-tests.ts @@ -11,7 +11,19 @@ var config: webfontloader.Config = { fontactive: function(familyName:string, fvd:string) {}, fontinactive: function(familyName:string, fvd:string) {}, google: { - families: ['Droid Sans'] + families: ['Droid Sans', 'Droid Serif:bold'], + text: 'abcdedfghijklmopqrstuvwxyz!' + }, + custom: { + families: ['My Font', 'My Other Font:n4,i4,n7'], + urls: ['/fonts.css'] + }, + fontdeck: { + id: 'xxxx' + }, + monotype: { + projectId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', + version: 12345 }, timeout: 2000 } diff --git a/webfontloader/webfontloader.d.ts b/webfontloader/webfontloader.d.ts index 6da62cf07..0afadfd3b 100644 --- a/webfontloader/webfontloader.d.ts +++ b/webfontloader/webfontloader.d.ts @@ -36,6 +36,7 @@ declare module WebFont { } export interface Google { families?:Array; + text: string; } export interface Typekit { id?:Array;