Skip to content
Permalink
Browse files

No ticket: Compress core and data modules

(cherry picked from commit b31bd4c)

Conflicts:

	src/core.js
	src/data.js
  • Loading branch information
gibson042 committed Sep 28, 2013
1 parent 33c80f3 commit f519539d3b7a12b67adc3b2c63a19e3beca33a83
Showing with 48 additions and 48 deletions.
  1. +42 −42 src/core.js
  2. +6 −6 src/data.js
@@ -58,13 +58,13 @@ jQuery.fn = jQuery.prototype = {
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
return num == null ?
return num != null ?

// Return a 'clean' array
this.toArray() :
( num < 0 ? this[ num + this.length ] : this[ num ] ) :

// Return just the object
( num < 0 ? this[ this.length + num ] : this[ num ] );
slice.call( this );
},

// Take an array of elements and push it onto the stack
@@ -89,6 +89,12 @@ jQuery.fn = jQuery.prototype = {
return jQuery.each( this, callback, args );
},

map: function( callback ) {
return this.pushStack( jQuery.map(this, function( elem, i ) {
return callback.call( elem, i, elem );
}));
},

slice: function() {
return this.pushStack( slice.apply( this, arguments ) );
},
@@ -107,12 +113,6 @@ jQuery.fn = jQuery.prototype = {
return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
},

map: function( callback ) {
return this.pushStack( jQuery.map(this, function( elem, i ) {
return callback.call( elem, i, elem );
}));
},

end: function() {
return this.prevObject || this.constructor(null);
},
@@ -134,9 +134,10 @@ jQuery.extend = jQuery.fn.extend = function() {
// Handle a deep copy situation
if ( typeof target === "boolean" ) {
deep = target;
target = arguments[1] || {};

// skip the boolean and the target
i = 2;
target = arguments[ i ] || {};
i++;
}

// Handle case when target is a string or something (possible in deep copy)
@@ -145,9 +146,9 @@ jQuery.extend = jQuery.fn.extend = function() {
}

// extend jQuery itself if only one argument is passed
if ( length === i ) {
if ( i === length ) {
target = this;
--i;
i--;
}

for ( ; i < length; i++ ) {
@@ -195,6 +196,12 @@ jQuery.extend({
// Assume jQuery is ready without the ready module
isReady: true,

error: function( msg ) {
throw new Error( msg );
},

noop: function() {},

This comment has been minimized.

Copy link
@sebbekarlsson

This comment has been minimized.

Copy link
@mgol

mgol Sep 2, 2016

Member

Why what?

This comment has been minimized.

Copy link
@sebbekarlsson

This comment has been minimized.

This comment has been minimized.

Copy link
@sebbekarlsson

sebbekarlsson Sep 2, 2016

If I for some strange reason would want an empty function, I could just do " function () {} " , I understand that maybe some low level language like Assembly would have some usecase for a "no operation function" , but a library for Javascript? Not really, that's like super high level.

I don't use JQuery myself, but I would really suggest removing this function from the library.

This comment has been minimized.

Copy link
@mgol

mgol Sep 2, 2016

Member

I agree the usefulness of this method is minuscule (and really out of scope for a DOM/AJAX library like jQuery) but it was added long ago when we didn't have a proper AMD module structure as we do now and since it's so extremely short it doesn't make much sense to remove it.

It can also still be useful so that apps needing a noop function use an already present one instead of creating them for every noop usage which might matter if you created lots of such functions.


noConflict: function( deep ) {
if ( window.$ === jQuery ) {
window.$ = _$;
@@ -227,16 +234,6 @@ jQuery.extend({
return obj - parseFloat( obj ) >= 0;
},

type: function( obj ) {
if ( obj == null ) {
return String( obj );
}
// Support: Android < 4.0, iOS < 6 (functionish RegExp)
return typeof obj === "object" || typeof obj === "function" ?
class2type[ toString.call(obj) ] || "object" :
typeof obj;
},

isPlainObject: function( obj ) {
// Not plain objects:
// - Any object or value whose internal [[Class]] property is not "[object Object]"
@@ -272,12 +269,16 @@ jQuery.extend({
return true;
},

error: function( msg ) {
throw new Error( msg );
type: function( obj ) {
if ( obj == null ) {
return obj + "";
}
// Support: Android < 4.0, iOS < 6 (functionish RegExp)
return typeof obj === "object" || typeof obj === "function" ?
class2type[ toString.call(obj) ] || "object" :
typeof obj;
},

noop: function() {},

// Evaluates a script in a global context
globalEval: function( code ) {
var script,
@@ -401,23 +402,23 @@ jQuery.extend({
return first;
},

grep: function( elems, callback, inv ) {
var retVal,
ret = [],
grep: function( elems, callback, invert ) {
var callbackInverse,
matches = [],
i = 0,
length = elems.length;
inv = !!inv;
length = elems.length,
callbackExpect = !invert;

// Go through the array, only saving the items
// that pass the validator function
for ( ; i < length; i++ ) {
retVal = !!callback( elems[ i ], i );
if ( inv !== retVal ) {
ret.push( elems[ i ] );
callbackInverse = !callback( elems[ i ], i );
if ( callbackInverse !== callbackExpect ) {
matches.push( elems[ i ] );
}
}

return ret;
return matches;
},

// arg is for internal usage only
@@ -434,7 +435,7 @@ jQuery.extend({
value = callback( elems[ i ], i, arg );

if ( value != null ) {
ret[ ret.length ] = value;
ret.push( value );
}
}

@@ -444,7 +445,7 @@ jQuery.extend({
value = callback( elems[ i ], i, arg );

if ( value != null ) {
ret[ ret.length ] = value;
ret.push( value );
}
}
}
@@ -501,17 +502,16 @@ function isArraylike( obj ) {
var length = obj.length,
type = jQuery.type( obj );

if ( jQuery.isWindow( obj ) ) {
if ( type === "function" || jQuery.isWindow( obj ) ) {
return false;
}

if ( obj.nodeType === 1 && length ) {
return true;
}

return type === "array" || type !== "function" &&
( length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj );
return type === "array" || length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}

return jQuery;
@@ -17,7 +17,7 @@ define([
5. Avoid exposing implementation details on user objects (eg. expando properties)
6. Provide a clear path for implementation upgrade to WeakMap in 2014
*/
var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
var rbrace = /(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
rmultiDash = /([A-Z])/g;

function dataAttr( elem, key, data ) {
@@ -75,19 +75,19 @@ jQuery.extend({

jQuery.fn.extend({
data: function( key, value ) {
var attrs, name,
var i, name,
data = null,
elem = this[ 0 ],
i = 0,
data = null;
attrs = elem && elem.attributes;

// Gets all values
if ( key === undefined ) {
if ( this.length ) {
data = data_user.get( elem );

if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
attrs = elem.attributes;
for ( ; i < attrs.length; i++ ) {
i = attrs.length;
while ( i-- ) {
name = attrs[ i ].name;

if ( name.indexOf( "data-" ) === 0 ) {

0 comments on commit f519539

Please sign in to comment.
You can’t perform that action at this time.