From c103042251c47e3f8c71f975af9c28d185fe15b1 Mon Sep 17 00:00:00 2001 From: Glenn Dierckx Date: Tue, 26 Jan 2016 20:39:08 +0100 Subject: [PATCH] Added definitions for fromjs --- fromjs/fromjs-tests.ts | 5 +++++ fromjs/fromjs.d.ts | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 fromjs/fromjs-tests.ts create mode 100644 fromjs/fromjs.d.ts diff --git a/fromjs/fromjs-tests.ts b/fromjs/fromjs-tests.ts new file mode 100644 index 0000000000..dcc3dd6b99 --- /dev/null +++ b/fromjs/fromjs-tests.ts @@ -0,0 +1,5 @@ +/// +var array = [1, 2, 3, 4]; +from(array).each(function (value, key) { + console.log('Value ' + value + ' at index ' + key); +}); \ No newline at end of file diff --git a/fromjs/fromjs.d.ts b/fromjs/fromjs.d.ts new file mode 100644 index 0000000000..ec96a98b74 --- /dev/null +++ b/fromjs/fromjs.d.ts @@ -0,0 +1,46 @@ +// Type definitions for fromjs v2.1.6.1 +// Project: https://github.com/suckgamony/fromjs +// Definitions by: Glenn Dierckx +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare function from(results: Array): FromJS.IQueryable; +declare function from(results: any): FromJS.IQueryable; + +declare module FromJS { + export interface IOrderedQueryable extends IQueryable { + thenBy(item: (item: T) => TResult): IOrderedQueryable; + thenByDesc(item: (item: T) => TResult): IOrderedQueryable; + } + + export interface IQueryable { + where(predicate: (item: T) => boolean): IQueryable; + select(item: (item: T) => TResult): IQueryable; + orderByDesc(item: (item: T) => TResult): IOrderedQueryable; + orderBy(item: (item: T) => TResult): IOrderedQueryable; + selectMany(item: (item: T) => Array): IQueryable; + skip(count: Number): IQueryable; + take(count: Number): IQueryable; + single(): T; + single(predicate: (item: T) => boolean): T; + singleOrDefault(): T; + singleOrDefault(predicate: (item: T) => boolean): T; + first(): T; + last(): T; + max(): T; + distinct(): IQueryable; + count(): number; + contains(item: T): boolean; + first(predicate: (item: T) => boolean): T; + firstOrDefault(): T; + each(action: (item: T) => void): void; + each(action: (value: T, key: TKey) => void): void; + each(action: (item: T) => void, a: boolean): void; + toArray(): Array; + concat(second: Array): IQueryable; + sum(): T; + distinct(): IQueryable; + any(): boolean; + any(predicate: (item: T) => boolean): boolean; + all(predicate: (item: T) => boolean): boolean; + } +} \ No newline at end of file