Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Break jQuery.access out into its own module to separate it from core;…
… Adjust CommonJS+AMD build support to include non-var dependencies. Convert modules with more than a few dependencies to use CJS+AMD syntax.
- Loading branch information
Showing
14 changed files
with
153 additions
and
123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
define([ | ||
"../core" | ||
], function( jQuery ) { | ||
// Multifunctional method to get and set values of a collection | ||
// The value/s can optionally be executed if it's a function | ||
var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { | ||
var i = 0, | ||
length = elems.length, | ||
bulk = key == null; | ||
|
||
// Sets many values | ||
if ( jQuery.type( key ) === "object" ) { | ||
chainable = true; | ||
for ( i in key ) { | ||
jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); | ||
This comment has been minimized.
Sorry, something went wrong. |
||
} | ||
|
||
// Sets one value | ||
} else if ( value !== undefined ) { | ||
chainable = true; | ||
|
||
if ( !jQuery.isFunction( value ) ) { | ||
raw = true; | ||
} | ||
|
||
if ( bulk ) { | ||
// Bulk operations run against the entire set | ||
if ( raw ) { | ||
fn.call( elems, value ); | ||
fn = null; | ||
|
||
// ...except when executing function values | ||
} else { | ||
bulk = fn; | ||
fn = function( elem, key, value ) { | ||
return bulk.call( jQuery( elem ), value ); | ||
}; | ||
} | ||
} | ||
|
||
if ( fn ) { | ||
for ( ; i < length; i++ ) { | ||
fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); | ||
} | ||
} | ||
} | ||
|
||
return chainable ? | ||
elems : | ||
|
||
// Gets | ||
bulk ? | ||
fn.call( elems ) : | ||
length ? fn( elems[0], key ) : emptyGet; | ||
}; | ||
|
||
return access; | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Our internal code always calls the local
access
reference, notjQuery.access
. Which means if someone were to override this method, jQuery core APIs would not be affected (I guess we kept it exposed for backwards compatibility? it's not a documented API though).Except that core APIs are affected when an object is passed, because the loop calls the public one instead of the private one.
Let's call the private reference there as well?
EDIT: See pull gh-1605.