From 0df3cf83907e5cf8bcc9263e7dfc921df162c296 Mon Sep 17 00:00:00 2001 From: rhysd Date: Sat, 13 Feb 2016 01:47:25 +0900 Subject: [PATCH] Add type definitions for deep-extend module Project: https://github.com/unclechu/node-deep-extend --- deep-extend/deep-extend-tests.ts | 36 ++++++++++++++++++++++++++++++++ deep-extend/deep-extend.d.ts | 15 +++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 deep-extend/deep-extend-tests.ts create mode 100644 deep-extend/deep-extend.d.ts diff --git a/deep-extend/deep-extend-tests.ts b/deep-extend/deep-extend-tests.ts new file mode 100644 index 0000000000..f5e35af352 --- /dev/null +++ b/deep-extend/deep-extend-tests.ts @@ -0,0 +1,36 @@ +/// + +import deepExtend = require('deep-extend'); +var obj1 = { + a: 1, + b: 2, + d: { + a: 1, + b: [true], + c: { test1: 123, test2: 321 } + }, + f: 5, + g: 123, + i: 321, + j: [1, 2] +}; +var obj2 = { + b: 3, + c: 5, + d: { + b: { first: 'one', second: 'two' }, + c: { test2: 222 } + }, + e: { one: 1, two: 2 }, + f: [42], + g: function(){}, + h: /abc/g, + i: null as {aaa: boolean}, + j: [3, 4] +}; + +deepExtend(obj1, obj2); +deepExtend(obj1, obj2, {ccc: 3}); +deepExtend(obj1, obj2, {ccc: 3}, {ddd: 4}); + + diff --git a/deep-extend/deep-extend.d.ts b/deep-extend/deep-extend.d.ts new file mode 100644 index 0000000000..164e337a95 --- /dev/null +++ b/deep-extend/deep-extend.d.ts @@ -0,0 +1,15 @@ +// Type definitions for open 0.4.1 +// Project: https://github.com/unclechu/node-deep-extend +// Definitions by: rhysd +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module 'deep-extend' { + /* + * Recursive object extending. + */ + function deepExtend(target: T, source: U): T & U; + function deepExtend(target: T, source1: U, source2: V): T & U & V; + function deepExtend(target: T, source1: U, source2: V, source3: W): T & U & V & W; + function deepExtend(target: any, ...sources: any[]): any; + export = deepExtend; +}