diff --git a/extend/extend-tests.ts b/extend/extend-tests.ts new file mode 100644 index 0000000000..059aa22baf --- /dev/null +++ b/extend/extend-tests.ts @@ -0,0 +1,41 @@ +/// +/// + +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'); \ No newline at end of file diff --git a/extend/extend.d.ts b/extend/extend.d.ts new file mode 100644 index 0000000000..a6cb9151f7 --- /dev/null +++ b/extend/extend.d.ts @@ -0,0 +1,9 @@ +// Type definitions for Node.js v0.12.0 +// Project: http://nodejs.org/ +// Definitions by: Stefan Steinhart +// Definitions: https://github.com/borisyankov/DefinitelyType +declare module "extend" { + + function extend(deepOrObject:boolean | Object, ...objectN: Object[]): any; + export = extend; +} \ No newline at end of file