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..82f9e66c06 --- /dev/null +++ b/angular-promise-tracker/angular-promise-tracker-tests.ts @@ -0,0 +1,20 @@ +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/index.d.ts b/angular-promise-tracker/index.d.ts new file mode 100644 index 0000000000..c00f36e77c --- /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' { + export 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" + ] +}