Merge pull request #3811 from reppners/extend

+ typings for extend including tests
This commit is contained in:
Masahiro Wakame
2015-03-09 10:41:50 +09:00
2 changed files with 50 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
/// <reference path="../node/node.d.ts" />
/// <reference path="extend.d.ts" />
import assert = require('assert');
import extend = require('extend');
var objectBase = {
test: 'base'
};
var objectOne = {
test: 'one',
iamone: true
};
var objectTwo = {
test: 2,
iamtwo: true
};
var objectThree = {
iamthree: true,
depth: {
innerType: 'deep'
}
};
var extended = extend(objectBase, objectOne);
assert(extended.test === 'one');
assert(extended.iamone === true);
var moreExtended = extend(objectBase, objectOne, objectTwo);
assert(moreExtended.test === 2);
assert(moreExtended.iamone === true);
assert(moreExtended.iamtwo === true);
var deepExtended = extend(true, objectBase, objectOne, objectTwo, objectThree);
assert(deepExtended.iamone === true);
assert(moreExtended.iamtwo === true);
assert(deepExtended.iamthree === true);
assert(deepExtended.depth.innerType === 'one');
+9
View File
@@ -0,0 +1,9 @@
// Type definitions for extend v2.0.0
// Project: https://www.npmjs.com/package/extend
// Definitions by: Stefan Steinhart <https://github.com/reppners>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module "extend" {
function extend(deepOrObject:boolean | Object, ...objectN: Object[]): any;
export = extend;
}