Browse files

version bump

  • Loading branch information...
1 parent 4834412 commit 9c654d0b6dd0f24e3384d9c47f2f2427d776019a @dantebronto committed May 10, 2011
Showing with 58 additions and 58 deletions.
  1. +56 −56 lib/picard/merge.js
  2. +2 −2 package.json
View
112 lib/picard/merge.js
@@ -1,75 +1,75 @@
var Utils = {
merge: function() {
- // copy reference to target object
- var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy
+ // copy reference to target object
+ var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target
- target = arguments[1] || {}
- // skip the boolean and the target
- i = 2
- }
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target
+ target = arguments[1] || {}
+ // skip the boolean and the target
+ i = 2
+ }
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && typeof(target) !== 'function' ) {
- target = {}
- }
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && typeof(target) !== 'function' ) {
+ target = {}
+ }
- // extend Picard itself if only one argument is passed
- if ( length === i ) {
- target = this
- --i
- }
+ // extend Picard itself if only one argument is passed
+ if ( length === i ) {
+ target = this
+ --i
+ }
- for ( ; i < length; i++ ) {
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null ) {
- // Extend the base object
- for ( name in options ) {
- src = target[ name ]
- copy = options[ name ]
+ for ( ; i < length; i++ ) {
+ // Only deal with non-null/undefined values
+ if ( (options = arguments[ i ]) != null ) {
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ]
+ copy = options[ name ]
- // Prevent never-ending loop
- if ( target === copy ) {
- continue
- }
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue
+ }
- // Recurse if we're merging object literal values or arrays
- if ( deep && copy && ( this.isPlainObject(copy) === 'object' || this.isArray(copy) ) ) {
- var clone = src && ( this.isPlainObject(src) || this.isArray(src) ) ? src
- : this.isArray(copy) ? [] : {}
+ // Recurse if we're merging object literal values or arrays
+ if ( deep && copy && ( this.isPlainObject(copy) === 'object' || this.isArray(copy) ) ) {
+ var clone = src && ( this.isPlainObject(src) || this.isArray(src) ) ? src
+ : this.isArray(copy) ? [] : {}
- // Never move original objects, clone them
- target[ name ] = this.merge( deep, clone, copy )
+ // Never move original objects, clone them
+ target[ name ] = this.merge( deep, clone, copy )
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy
- }
- }
- }
- }
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy
+ }
+ }
+ }
+ }
- // Return the modified object
- return target
+ // Return the modified object
+ return target
},
isArray: function( obj ) {
- return toString.call(obj) === "[object Array]"
+ return toString.call(obj) === "[object Array]"
},
isPlainObject: function( obj ) {
- if ( !obj || toString.call(obj) !== "[object Object]" || obj.nodeType || obj.setInterval ) {
- return false;
- }
- if ( obj.constructor
- && !hasOwnProperty.call(obj, "constructor")
- && !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) {
- return false;
- }
- var key;
- for ( key in obj ) {}
- return key === undefined || hasOwnProperty.call( obj, key )
+ if ( !obj || toString.call(obj) !== "[object Object]" || obj.nodeType || obj.setInterval ) {
+ return false;
+ }
+ if ( obj.constructor
+ && !hasOwnProperty.call(obj, "constructor")
+ && !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) {
+ return false;
+ }
+ var key;
+ for ( key in obj ) {}
+ return key === undefined || hasOwnProperty.call( obj, key )
}
}
View
4 package.json
@@ -1,8 +1,8 @@
{
"name": "picard",
"description": "A Micro-framework for node.js",
- "version": "0.3.0",
+ "version": "0.3.1",
"author": "Kellen Presley <klpresley@gmail.com>",
"main": "lib/picard/index",
- "engines": { "node": ">= 0.3.0" }
+ "engines": { "node": ">= 0.3.1" }
}

0 comments on commit 9c654d0

Please sign in to comment.