diff --git a/angular-gettext/angular-gettext-tests.ts b/angular-gettext/angular-gettext-tests.ts
index 9a10f1062f..0b0532fc4f 100644
--- a/angular-gettext/angular-gettext-tests.ts
+++ b/angular-gettext/angular-gettext-tests.ts
@@ -1,61 +1,61 @@
-///
-
-module angular_gettext_tests {
-
-
- // Configuring angular-gettext
- // https://angular-gettext.rocketeer.be/dev-guide/configure/
- //Setting the language
- angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) {
- gettextCatalog.setCurrentLanguage('nl');
- });
-
- //Highlighting untranslated strings
- angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) {
- gettextCatalog.debug = true;
- });
-
-
- // Marking strings in JavaScript code as translatable.
- // https://angular-gettext.rocketeer.be/dev-guide/annotate-js/
- angular.module("myApp").controller("helloController", function (gettext: angular.gettext.gettextFunction) {
- var myString = gettext("Hello");
- });
-
- //Translating directly in JavaScript.
- angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) {
- var translated: string = gettextCatalog.getString("Hello");
- });
-
- angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) {
- var myString2: string = gettextCatalog.getPlural(3, "Bird", "Birds");
- });
-
- angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) {
- var translated: string = gettextCatalog.getString("Hello {{name}}", { name: "Ruben" });
- });
-
- // Setting strings manually
- // https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/
-
- angular.module("myApp").run(function (gettextCatalog: angular.gettext.gettextCatalog) {
- // Load the strings automatically during initialization.
- gettextCatalog.setStrings("nl", {
- "Hello": "Hallo",
- "One boat": ["Een boot", "{{$count}} boats"]
- });
- });
-
-
- interface helloControllerScope extends ng.IScope {
- switchLanguage: (lang: string) => void;
- }
- // Lazy-loading languages
- // https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/
- angular.module("myApp").controller("helloController", function ($scope: helloControllerScope, gettextCatalog: angular.gettext.gettextCatalog) {
- $scope.switchLanguage = function (lang: string) {
- gettextCatalog.setCurrentLanguage(lang);
- gettextCatalog.loadRemote("/languages/" + lang + ".json");
- };
- });
+///
+
+module angular_gettext_tests {
+
+
+ // Configuring angular-gettext
+ // https://angular-gettext.rocketeer.be/dev-guide/configure/
+ //Setting the language
+ angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) {
+ gettextCatalog.setCurrentLanguage('nl');
+ });
+
+ //Highlighting untranslated strings
+ angular.module('myApp').run(function (gettextCatalog: angular.gettext.gettextCatalog) {
+ gettextCatalog.debug = true;
+ });
+
+
+ // Marking strings in JavaScript code as translatable.
+ // https://angular-gettext.rocketeer.be/dev-guide/annotate-js/
+ angular.module("myApp").controller("helloController", function (gettext: angular.gettext.gettextFunction) {
+ var myString = gettext("Hello");
+ });
+
+ //Translating directly in JavaScript.
+ angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) {
+ var translated: string = gettextCatalog.getString("Hello");
+ });
+
+ angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) {
+ var myString2: string = gettextCatalog.getPlural(3, "Bird", "Birds");
+ });
+
+ angular.module("myApp").controller("helloController", function (gettextCatalog: angular.gettext.gettextCatalog) {
+ var translated: string = gettextCatalog.getString("Hello {{name}}", { name: "Ruben" });
+ });
+
+ // Setting strings manually
+ // https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/
+
+ angular.module("myApp").run(function (gettextCatalog: angular.gettext.gettextCatalog) {
+ // Load the strings automatically during initialization.
+ gettextCatalog.setStrings("nl", {
+ "Hello": "Hallo",
+ "One boat": ["Een boot", "{{$count}} boats"]
+ });
+ });
+
+
+ interface helloControllerScope extends ng.IScope {
+ switchLanguage: (lang: string) => void;
+ }
+ // Lazy-loading languages
+ // https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/
+ angular.module("myApp").controller("helloController", function ($scope: helloControllerScope, gettextCatalog: angular.gettext.gettextCatalog) {
+ $scope.switchLanguage = function (lang: string) {
+ gettextCatalog.setCurrentLanguage(lang);
+ gettextCatalog.loadRemote("/languages/" + lang + ".json");
+ };
+ });
}
\ No newline at end of file
diff --git a/angular-gettext/angular-gettext.d.ts b/angular-gettext/angular-gettext.d.ts
index 1a88ef1641..dc1de2bf6c 100644
--- a/angular-gettext/angular-gettext.d.ts
+++ b/angular-gettext/angular-gettext.d.ts
@@ -1,73 +1,73 @@
-// Type definitions for angular-gettext v2.1.0
-// Project: https://angular-gettext.rocketeer.be/
-// Definitions by: Ákos Lukács
-// Definitions: https://github.com/borisyankov/DefinitelyTyped
-
-///
-
-declare module angular.gettext {
- interface gettextCatalog {
-
- //////////////
- /// Fields ///
- //////////////
-
- /** (default: false): Whether or not to prefix untranslated strings with [MISSING]: or a custom prefix. */
- debug: boolean;
- /** (default: [MISSING]:): Custom prefix for untranslated strings. */
- debugPrefix: string;
- /** (default: false): Whether or not to wrap all processed text with markers.Example output: [Welcome] */
- showTranslatedMarkers: boolean;
- /** (default: [): Custom prefix to mark strings that have been run through angular-gettext. */
- translatedMarkerPrefix: string;
- /** (default: ]): Custom suffix to mark strings that have been run through angular-gettext. */
- translatedMarkerSuffix: string;
- /** An object of loaded translation strings.Shouldn't be used directly. */
- strings: {};
- /** The default language, in which you're application is written. This defaults to English and it's generally a bad idea to use anything else: if your language has different pluralization rules you'll end up with incorrect translations. Deprecated
- * @deprecreated
- */
- baseLanguage: string;
-
-
- ///////////////
- /// Methods ///
- ///////////////
-
- /** Sets the current language and makes sure that all translations get updated correctly. */
- setCurrentLanguage(lang: string): void;
-
- /** Returns the current language. */
- getCurrentLanguage(): string;
-
- /** Processes an object of string definitions. More details https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/
- * @param language A language code.
- * @param strings A dictionary of strings. The format of this dictionary is:
- * - Keys: Singular English strings (as defined in the source files)
- * - Values: Either a single string for signular-only strings or an array of plural forms.
- */
- setStrings(language: string, strings: { [key: string]: string|string[] }): void;
-
- /** Get the correct pluralized (but untranslated) string for the value of n. */
- getStringForm(string: string, n: number): string;
-
- /** Translate a string with the given context. Uses Angular.JS interpolation, so something like this will do what you expect:
- * var hello = gettextCatalog.getString("Hello {{name}}!", { name: "Ruben" });
- * // var hello will be "Hallo Ruben!" in Dutch.
- * The context parameter is optional: pass null (or don't pass anything) if you're not using it: this skips interpolation and is a lot faster.
- */
- getString(string: string, context?: any): string;
-
- /** Translate a plural string with the given context. */
- getPlural(n: number, string: string, stringPlural: string, context?: any): string;
-
- /** Load a set of translation strings from a given URL.This should be a JSON catalog generated with grunt-angular-gettext. More details https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/ */
- loadRemote(url: string): ng.IHttpPromise;
- }
-
- /** If you have text that should be translated in your JavaScript code, wrap it with a call to a function named gettext. This module provides an injectable function to do so */
- interface gettextFunction {
- (dummyString: string): string;
- }
-}
-
+// Type definitions for angular-gettext v2.1.0
+// Project: https://angular-gettext.rocketeer.be/
+// Definitions by: Ákos Lukács
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module angular.gettext {
+ interface gettextCatalog {
+
+ //////////////
+ /// Fields ///
+ //////////////
+
+ /** (default: false): Whether or not to prefix untranslated strings with [MISSING]: or a custom prefix. */
+ debug: boolean;
+ /** (default: [MISSING]:): Custom prefix for untranslated strings. */
+ debugPrefix: string;
+ /** (default: false): Whether or not to wrap all processed text with markers.Example output: [Welcome] */
+ showTranslatedMarkers: boolean;
+ /** (default: [): Custom prefix to mark strings that have been run through angular-gettext. */
+ translatedMarkerPrefix: string;
+ /** (default: ]): Custom suffix to mark strings that have been run through angular-gettext. */
+ translatedMarkerSuffix: string;
+ /** An object of loaded translation strings.Shouldn't be used directly. */
+ strings: {};
+ /** The default language, in which you're application is written. This defaults to English and it's generally a bad idea to use anything else: if your language has different pluralization rules you'll end up with incorrect translations. Deprecated
+ * @deprecreated
+ */
+ baseLanguage: string;
+
+
+ ///////////////
+ /// Methods ///
+ ///////////////
+
+ /** Sets the current language and makes sure that all translations get updated correctly. */
+ setCurrentLanguage(lang: string): void;
+
+ /** Returns the current language. */
+ getCurrentLanguage(): string;
+
+ /** Processes an object of string definitions. More details https://angular-gettext.rocketeer.be/dev-guide/manual-setstrings/
+ * @param language A language code.
+ * @param strings A dictionary of strings. The format of this dictionary is:
+ * - Keys: Singular English strings (as defined in the source files)
+ * - Values: Either a single string for signular-only strings or an array of plural forms.
+ */
+ setStrings(language: string, strings: { [key: string]: string|string[] }): void;
+
+ /** Get the correct pluralized (but untranslated) string for the value of n. */
+ getStringForm(string: string, n: number): string;
+
+ /** Translate a string with the given context. Uses Angular.JS interpolation, so something like this will do what you expect:
+ * var hello = gettextCatalog.getString("Hello {{name}}!", { name: "Ruben" });
+ * // var hello will be "Hallo Ruben!" in Dutch.
+ * The context parameter is optional: pass null (or don't pass anything) if you're not using it: this skips interpolation and is a lot faster.
+ */
+ getString(string: string, context?: any): string;
+
+ /** Translate a plural string with the given context. */
+ getPlural(n: number, string: string, stringPlural: string, context?: any): string;
+
+ /** Load a set of translation strings from a given URL.This should be a JSON catalog generated with grunt-angular-gettext. More details https://angular-gettext.rocketeer.be/dev-guide/lazy-loading/ */
+ loadRemote(url: string): ng.IHttpPromise;
+ }
+
+ /** If you have text that should be translated in your JavaScript code, wrap it with a call to a function named gettext. This module provides an injectable function to do so */
+ interface gettextFunction {
+ (dummyString: string): string;
+ }
+}
+
diff --git a/async/async.d.ts b/async/async.d.ts
index b908769151..a8b38c5fc9 100644
--- a/async/async.d.ts
+++ b/async/async.d.ts
@@ -1,165 +1,165 @@
-// Type definitions for Async 1.4.2
-// Project: https://github.com/caolan/async
-// Definitions by: Boris Yankov , Arseniy Maximov
-// Definitions: https://github.com/borisyankov/DefinitelyTyped
-
-interface Dictionary { [key: string]: T; }
-
-interface ErrorCallback { (err?: Error): void; }
-interface AsyncResultCallback { (err: Error, result: T): void; }
-interface AsyncResultArrayCallback { (err: Error, results: T[]): void; }
-interface AsyncResultObjectCallback { (err: Error, results: Dictionary): void; }
-
-interface AsyncFunction { (callback: (err: Error, result?: T) => void): void; }
-interface AsyncIterator { (item: T, callback: ErrorCallback): void; }
-interface AsyncForEachOfIterator { (item: T, key: number, callback: ErrorCallback): void; }
-interface AsyncResultIterator { (item: T, callback: AsyncResultCallback): void; }
-interface AsyncMemoIterator { (memo: R, item: T, callback: AsyncResultCallback): void; }
-interface AsyncBooleanIterator { (item: T, callback: (truthValue: boolean) => void): void; }
-
-interface AsyncWorker { (task: T, callback: ErrorCallback): void; }
-interface AsyncVoidFunction { (callback: ErrorCallback): void; }
-
-interface AsyncQueue {
- length(): number;
- started: boolean;
- running(): number;
- idle(): boolean;
- concurrency: number;
- push(task: T, callback?: ErrorCallback): void;
- push(task: T[], callback?: ErrorCallback): void;
- unshift(task: T, callback?: ErrorCallback): void;
- unshift(task: T[], callback?: ErrorCallback): void;
- saturated: () => any;
- empty: () => any;
- drain: () => any;
- paused: boolean;
- pause(): void
- resume(): void;
- kill(): void;
-}
-
-interface AsyncPriorityQueue {
- length(): number;
- concurrency: number;
- started: boolean;
- paused: boolean;
- push(task: T, priority: number, callback?: AsyncResultArrayCallback): void;
- push(task: T[], priority: number, callback?: AsyncResultArrayCallback): void;
- saturated: () => any;
- empty: () => any;
- drain: () => any;
- running(): number;
- idle(): boolean;
- pause(): void;
- resume(): void;
- kill(): void;
-}
-
-interface AsyncCargo {
- length(): number;
- payload: number;
- push(task: any, callback? : Function): void;
- push(task: any[], callback? : Function): void;
- saturated(): void;
- empty(): void;
- drain(): void;
- idle(): boolean;
- pause(): void;
- resume(): void;
- kill(): void;
-}
-
-interface Async {
-
- // Collections
- each(arr: T[], iterator: AsyncIterator, callback?: ErrorCallback): void;
- eachSeries(arr: T[], iterator: AsyncIterator, callback?: ErrorCallback): void;
- eachLimit(arr: T[], limit: number, iterator: AsyncIterator, callback?: ErrorCallback): void;
- forEachOf(obj: any, iterator: (item: any, key: [string|number], callback?: ErrorCallback) => void, callback: ErrorCallback): void;
- forEachOf(obj: T[], iterator: AsyncForEachOfIterator, callback?: ErrorCallback): void;
- forEachOfSeries(obj: any, iterator: (item: any, key: [string|number], callback?: ErrorCallback) => void, callback: ErrorCallback): void;
- forEachOfSeries(obj: T[], iterator: AsyncForEachOfIterator, callback?: ErrorCallback): void;
- forEachOfLimit(obj: any, limit: number, iterator: (item: any, key: [string|number], callback?: ErrorCallback) => void, callback: ErrorCallback): void;
- forEachOfLimit(obj: T[], limit: number, iterator: AsyncForEachOfIterator, callback?: ErrorCallback): void;
- map(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
- mapSeries(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
- mapLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
- filter(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- select(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- filterSeries(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- selectSeries(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- filterLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- selectLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- reject(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- rejectSeries(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- rejectLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
- reduce(arr: T[], memo: R, iterator: AsyncMemoIterator, callback?: AsyncResultCallback): any;
- inject(arr: T[], memo: R, iterator: AsyncMemoIterator, callback?: AsyncResultCallback): any;
- foldl(arr: T[], memo: R, iterator: AsyncMemoIterator, callback?: AsyncResultCallback): any;
- reduceRight(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any;
- foldr(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any;
- detect(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: T) => void): any;
- detectSeries(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: T) => void): any;
- detectLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: T) => void): any;
- sortBy(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
- some(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
- someLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
- any(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
- every(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
- everyLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
- all(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
- concat(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
- concatSeries(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
-
- // Control Flow
- series(tasks: AsyncFunction[], callback?: AsyncResultArrayCallback): void;
- series(tasks: Dictionary>, callback?: AsyncResultObjectCallback): void;
- parallel(tasks: Array>, callback?: AsyncResultArrayCallback): void;
- parallel(tasks: Dictionary>, callback?: AsyncResultObjectCallback): void;
- parallelLimit(tasks: Array>, limit: number, callback?: AsyncResultArrayCallback): void;
- parallelLimit(tasks: Dictionary>, limit: number, callback?: AsyncResultObjectCallback): void;
- whilst(test: () => boolean, fn: AsyncVoidFunction, callback: (err: any) => void): void;
- doWhilst(fn: AsyncVoidFunction, test: () => boolean, callback: (err: any) => void): void;
- until(test: () => boolean, fn: AsyncVoidFunction, callback: (err: any) => void): void;
- doUntil(fn: AsyncVoidFunction, test: () => boolean, callback: (err: any) => void): void;
- during(test: (testCallback : (error: Error, truth: boolean) => void) => void, fn: AsyncVoidFunction, callback: (err: any) => void): void;
- doDuring(fn: AsyncVoidFunction, test: (testCallback: (error: Error, truth: boolean) => void) => void, callback: (err: any) => void): void;
- forever(next: (errCallback : (err: Error) => void) => void, errBack: (err: Error) => void) : void;
- waterfall(tasks: Function[], callback?: (err: Error, result: any) => void): void;
- compose(...fns: Function[]): void;
- seq(...fns: Function[]): void;
- applyEach(fns: Function[], argsAndCallback: any[]): void; // applyEach(fns, args..., callback). TS does not support ... for a middle argument. Callback is optional.
- applyEachSeries(fns: Function[], argsAndCallback: any[]): void; // applyEachSeries(fns, args..., callback). TS does not support ... for a middle argument. Callback is optional.
- queue(worker: AsyncWorker, concurrency?: number): AsyncQueue;
- priorityQueue(worker: AsyncWorker, concurrency: number): AsyncPriorityQueue;
- cargo(worker : (tasks: any[], callback : ErrorCallback) => void, payload? : number) : AsyncCargo;
- auto(tasks: any, callback?: (error: Error, results: any) => void): void;
- retry(opts: number, task: (callback : AsyncResultCallback, results: any) => void, callback: (error: Error, results: any) => void): void;
- retry(opts: { times: number, interval: number }, task: (callback: AsyncResultCallback, results : any) => void, callback: (error: Error, results: any) => void): void;
- iterator(tasks: Function[]): Function;
- apply(fn: Function, ...arguments: any[]): AsyncFunction;
- nextTick(callback: Function): void;
- setImmediate(callback: Function): void;
-
- times (n: number, iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): void;
- timesSeries(n: number, iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): void;
- timesLimit(n: number, limit: number, iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): void;
-
- // Utils
- memoize(fn: Function, hasher?: Function): Function;
- unmemoize(fn: Function): Function;
- ensureAsync(fn: (... argsAndCallback: any[]) => void): Function;
- constant(...values: any[]): Function;
- asyncify(fn: Function): Function;
- wrapSync(fn: Function): Function;
- log(fn: Function, ...arguments: any[]): void;
- dir(fn: Function, ...arguments: any[]): void;
- noConflict(): Async;
-}
-
-declare var async: Async;
-
-declare module "async" {
- export = async;
-}
+// Type definitions for Async 1.4.2
+// Project: https://github.com/caolan/async
+// Definitions by: Boris Yankov , Arseniy Maximov
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+interface Dictionary { [key: string]: T; }
+
+interface ErrorCallback { (err?: Error): void; }
+interface AsyncResultCallback { (err: Error, result: T): void; }
+interface AsyncResultArrayCallback { (err: Error, results: T[]): void; }
+interface AsyncResultObjectCallback { (err: Error, results: Dictionary): void; }
+
+interface AsyncFunction { (callback: (err: Error, result?: T) => void): void; }
+interface AsyncIterator { (item: T, callback: ErrorCallback): void; }
+interface AsyncForEachOfIterator { (item: T, key: number, callback: ErrorCallback): void; }
+interface AsyncResultIterator { (item: T, callback: AsyncResultCallback): void; }
+interface AsyncMemoIterator { (memo: R, item: T, callback: AsyncResultCallback): void; }
+interface AsyncBooleanIterator { (item: T, callback: (truthValue: boolean) => void): void; }
+
+interface AsyncWorker { (task: T, callback: ErrorCallback): void; }
+interface AsyncVoidFunction { (callback: ErrorCallback): void; }
+
+interface AsyncQueue {
+ length(): number;
+ started: boolean;
+ running(): number;
+ idle(): boolean;
+ concurrency: number;
+ push(task: T, callback?: ErrorCallback): void;
+ push(task: T[], callback?: ErrorCallback): void;
+ unshift(task: T, callback?: ErrorCallback): void;
+ unshift(task: T[], callback?: ErrorCallback): void;
+ saturated: () => any;
+ empty: () => any;
+ drain: () => any;
+ paused: boolean;
+ pause(): void
+ resume(): void;
+ kill(): void;
+}
+
+interface AsyncPriorityQueue {
+ length(): number;
+ concurrency: number;
+ started: boolean;
+ paused: boolean;
+ push(task: T, priority: number, callback?: AsyncResultArrayCallback): void;
+ push(task: T[], priority: number, callback?: AsyncResultArrayCallback): void;
+ saturated: () => any;
+ empty: () => any;
+ drain: () => any;
+ running(): number;
+ idle(): boolean;
+ pause(): void;
+ resume(): void;
+ kill(): void;
+}
+
+interface AsyncCargo {
+ length(): number;
+ payload: number;
+ push(task: any, callback? : Function): void;
+ push(task: any[], callback? : Function): void;
+ saturated(): void;
+ empty(): void;
+ drain(): void;
+ idle(): boolean;
+ pause(): void;
+ resume(): void;
+ kill(): void;
+}
+
+interface Async {
+
+ // Collections
+ each(arr: T[], iterator: AsyncIterator, callback?: ErrorCallback): void;
+ eachSeries(arr: T[], iterator: AsyncIterator, callback?: ErrorCallback): void;
+ eachLimit(arr: T[], limit: number, iterator: AsyncIterator, callback?: ErrorCallback): void;
+ forEachOf(obj: any, iterator: (item: any, key: [string|number], callback?: ErrorCallback) => void, callback: ErrorCallback): void;
+ forEachOf(obj: T[], iterator: AsyncForEachOfIterator, callback?: ErrorCallback): void;
+ forEachOfSeries(obj: any, iterator: (item: any, key: [string|number], callback?: ErrorCallback) => void, callback: ErrorCallback): void;
+ forEachOfSeries(obj: T[], iterator: AsyncForEachOfIterator, callback?: ErrorCallback): void;
+ forEachOfLimit(obj: any, limit: number, iterator: (item: any, key: [string|number], callback?: ErrorCallback) => void, callback: ErrorCallback): void;
+ forEachOfLimit(obj: T[], limit: number, iterator: AsyncForEachOfIterator, callback?: ErrorCallback): void;
+ map(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
+ mapSeries(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
+ mapLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
+ filter(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ select(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ filterSeries(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ selectSeries(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ filterLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ selectLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ reject(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ rejectSeries(arr: T[], iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ rejectLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback?: (results: T[]) => any): any;
+ reduce(arr: T[], memo: R, iterator: AsyncMemoIterator, callback?: AsyncResultCallback): any;
+ inject(arr: T[], memo: R, iterator: AsyncMemoIterator, callback?: AsyncResultCallback): any;
+ foldl(arr: T[], memo: R, iterator: AsyncMemoIterator, callback?: AsyncResultCallback): any;
+ reduceRight(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any;
+ foldr(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any;
+ detect(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: T) => void): any;
+ detectSeries(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: T) => void): any;
+ detectLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: T) => void): any;
+ sortBy(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
+ some(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
+ someLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
+ any(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
+ every(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
+ everyLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
+ all(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
+ concat(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
+ concatSeries(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
+
+ // Control Flow
+ series(tasks: AsyncFunction[], callback?: AsyncResultArrayCallback): void;
+ series(tasks: Dictionary>, callback?: AsyncResultObjectCallback): void;
+ parallel(tasks: Array>, callback?: AsyncResultArrayCallback): void;
+ parallel(tasks: Dictionary>, callback?: AsyncResultObjectCallback): void;
+ parallelLimit