+ typings for extend including tests

This commit is contained in:
reppners
2015-03-06 09:10:15 +01:00
parent 69bdfb0884
commit 81b7aef410
2 changed files with 50 additions and 0 deletions

41
extend/extend-tests.ts Normal file
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
extend/extend.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
// Type definitions for Node.js v0.12.0
// Project: http://nodejs.org/
// Definitions by: Stefan Steinhart <https://github.com/reppners>
// Definitions: https://github.com/borisyankov/DefinitelyType
declare module "extend" {
function extend(deepOrObject:boolean | Object, ...objectN: Object[]): any;
export = extend;
}