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