Merge pull request #6368 from chrootsu/flat

flat: definition of the module has been added
This commit is contained in:
Masahiro Wakame
2015-10-21 23:24:44 +09:00
2 changed files with 98 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
/// <reference path="./flat.d.ts" />
import {flatten, unflatten} from "flat";
module TestFlatten {
let options: {
delimiter?: string;
safe?: boolean;
maxDepth?: number;
};
type Target = {
a: {
b: number;
},
c: boolean[][];
};
let target: Target;
type Result = {
'a.b': number;
'c.0.0': boolean;
};
let result: Result;
result = flatten<Target, Result>(target);
result = flatten<Target, Result>(target, options);
}
module TestUnflatten {
let options: {
delimiter?: string;
object?: boolean;
overwrite?: boolean;
};
type Target = {
'a.b': number;
'c.0.0': boolean;
};
let target: Target;
type Result = {
a: {
b: number;
},
c: boolean[][];
};
let result: Result;
result = unflatten<Target, Result>(target);
result = unflatten<Target, Result>(target, options);
}
+41
View File
@@ -0,0 +1,41 @@
// Type definitions for flat
// Project: https://github.com/hughsk/flat
// Definitions by: Ilya Mochalov <https://github.com/chrootsu>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module FlatTypes {
interface FlattenOptions {
delimiter?: string;
safe?: boolean;
maxDepth?: number;
}
interface Flatten {
<TTarget, TResult>(
target: TTarget,
options?: FlattenOptions
): TResult;
flatten: Flatten;
unflatten: Unflatten;
}
interface UnflattenOptions {
delimiter?: string;
object?: boolean;
overwrite?: boolean;
}
interface Unflatten {
<TTarget, TResult>(
target: TTarget,
options?: UnflattenOptions
): TResult;
}
}
declare module "flat" {
var flatten: FlatTypes.Flatten;
export = flatten;
}