From 9742548d05dd7433ea6da088ac4120488e6092e9 Mon Sep 17 00:00:00 2001 From: Rufus Linke Date: Thu, 3 Nov 2016 08:59:06 +0100 Subject: [PATCH 1/3] add type definitions for angular-promise-tracker --- .../angular-promise-tracker-tests.ts | 22 ++++++++++++++++ .../angular-promise-tracker.d.ts | 26 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 angular-promise-tracker/angular-promise-tracker-tests.ts create mode 100644 angular-promise-tracker/angular-promise-tracker.d.ts diff --git a/angular-promise-tracker/angular-promise-tracker-tests.ts b/angular-promise-tracker/angular-promise-tracker-tests.ts new file mode 100644 index 0000000000..8c575567ff --- /dev/null +++ b/angular-promise-tracker/angular-promise-tracker-tests.ts @@ -0,0 +1,22 @@ +/// + +angular.module('promise-tracker-tests', []).run(['$q', 'promiseTracker', + ($q: angular.IQService, promiseTracker: angular.promisetracker.PromiseTrackerService) => { + const trackerWithoutOptions = promiseTracker(); + + const options = { + activationDelay: 10, + minDuration: 500 + } as angular.promisetracker.PromiseTrackerOptions; + const trackerWithOptions = promiseTracker(options); + + const isActive: boolean = trackerWithOptions.active(); + const tracking: boolean = trackerWithOptions.tracking(); + const trackingCount: number = trackerWithOptions.trackingCount(); + trackerWithOptions.cancel(); + + const createdPromise: angular.IDeferred = trackerWithOptions.createPromise(); + + const promiseToAdd = $q.defer().promise; + const addedPromise: angular.IDeferred = trackerWithOptions.addPromise(promiseToAdd); +}]); diff --git a/angular-promise-tracker/angular-promise-tracker.d.ts b/angular-promise-tracker/angular-promise-tracker.d.ts new file mode 100644 index 0000000000..28b6721fb7 --- /dev/null +++ b/angular-promise-tracker/angular-promise-tracker.d.ts @@ -0,0 +1,26 @@ +// Type definitions for angular-promise-tracker v2.2.2 +// Project: https://github.com/ajoslin/angular-promise-tracker +// Definitions by: Rufus Linke +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace angular.promisetracker { + interface PromiseTrackerOptions { + activationDelay: number; + minDuration: number; + } + + interface PromiseTracker { + active(): boolean; + tracking(): boolean; + trackingCount(): number; + addPromise(promise: angular.IPromise): angular.IDeferred; + createPromise(): angular.IDeferred; + cancel(): void; + } + + interface PromiseTrackerService { + (options?: PromiseTrackerOptions): PromiseTracker; + } +} From a2c847cc871734bf3f0c5a8695582c821c762efb Mon Sep 17 00:00:00 2001 From: Rufus Linke Date: Thu, 3 Nov 2016 11:06:48 +0100 Subject: [PATCH 2/3] adjust angular-promise-tracker typings to types-2.0 --- .../angular-promise-tracker-tests.ts | 4 +-- .../angular-promise-tracker.d.ts | 26 ---------------- angular-promise-tracker/index.d.ts | 30 +++++++++++++++++++ angular-promise-tracker/tsconfig.json | 19 ++++++++++++ 4 files changed, 50 insertions(+), 29 deletions(-) delete mode 100644 angular-promise-tracker/angular-promise-tracker.d.ts create mode 100644 angular-promise-tracker/index.d.ts create mode 100644 angular-promise-tracker/tsconfig.json diff --git a/angular-promise-tracker/angular-promise-tracker-tests.ts b/angular-promise-tracker/angular-promise-tracker-tests.ts index 8c575567ff..82f9e66c06 100644 --- a/angular-promise-tracker/angular-promise-tracker-tests.ts +++ b/angular-promise-tracker/angular-promise-tracker-tests.ts @@ -1,9 +1,7 @@ -/// - angular.module('promise-tracker-tests', []).run(['$q', 'promiseTracker', ($q: angular.IQService, promiseTracker: angular.promisetracker.PromiseTrackerService) => { const trackerWithoutOptions = promiseTracker(); - + const options = { activationDelay: 10, minDuration: 500 diff --git a/angular-promise-tracker/angular-promise-tracker.d.ts b/angular-promise-tracker/angular-promise-tracker.d.ts deleted file mode 100644 index 28b6721fb7..0000000000 --- a/angular-promise-tracker/angular-promise-tracker.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -// Type definitions for angular-promise-tracker v2.2.2 -// Project: https://github.com/ajoslin/angular-promise-tracker -// Definitions by: Rufus Linke -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -/// - -declare namespace angular.promisetracker { - interface PromiseTrackerOptions { - activationDelay: number; - minDuration: number; - } - - interface PromiseTracker { - active(): boolean; - tracking(): boolean; - trackingCount(): number; - addPromise(promise: angular.IPromise): angular.IDeferred; - createPromise(): angular.IDeferred; - cancel(): void; - } - - interface PromiseTrackerService { - (options?: PromiseTrackerOptions): PromiseTracker; - } -} diff --git a/angular-promise-tracker/index.d.ts b/angular-promise-tracker/index.d.ts new file mode 100644 index 0000000000..91f7ad72e5 --- /dev/null +++ b/angular-promise-tracker/index.d.ts @@ -0,0 +1,30 @@ +// Type definitions for angular-promise-tracker 2.2.2 +// Project: https://github.com/ajoslin/angular-promise-tracker +// Definitions by: Rufus Linke +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +import * as angular from 'angular'; + +declare module 'angular' { + namespace promisetracker { + interface PromiseTrackerOptions { + activationDelay: number; + minDuration: number; + } + + interface PromiseTracker { + active(): boolean; + tracking(): boolean; + trackingCount(): number; + addPromise(promise: angular.IPromise): angular.IDeferred; + createPromise(): angular.IDeferred; + cancel(): void; + } + + interface PromiseTrackerService { + (options?: PromiseTrackerOptions): PromiseTracker; + } + } +} diff --git a/angular-promise-tracker/tsconfig.json b/angular-promise-tracker/tsconfig.json new file mode 100644 index 0000000000..266a8adf90 --- /dev/null +++ b/angular-promise-tracker/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "angular-promise-tracker-tests.ts" + ] +} From 3e9f7aa91c2753a2e00c6b62dccb7c000a34dbeb Mon Sep 17 00:00:00 2001 From: Rufus Linke Date: Mon, 7 Nov 2016 11:56:56 +0100 Subject: [PATCH 3/3] add namespace export --- angular-promise-tracker/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/angular-promise-tracker/index.d.ts b/angular-promise-tracker/index.d.ts index 91f7ad72e5..c00f36e77c 100644 --- a/angular-promise-tracker/index.d.ts +++ b/angular-promise-tracker/index.d.ts @@ -8,7 +8,7 @@ import * as angular from 'angular'; declare module 'angular' { - namespace promisetracker { + export namespace promisetracker { interface PromiseTrackerOptions { activationDelay: number; minDuration: number;