mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Merge pull request #6368 from chrootsu/flat
flat: definition of the module has been added
This commit is contained in:
@@ -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);
|
||||
}
|
||||
Vendored
+41
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user