scratch – Diff between revs 58 and 125
?pathlinks?
Rev 58 | Rev 125 | |||
---|---|---|---|---|
Line 1... | Line -... | |||
1 | /* global Symbol */ |
- | ||
2 | // Defining this global in .eslintrc.json would create a danger of using the global |
- | ||
3 | // unguarded in another place, it seems safer to define global only for this module |
- | ||
4 | |
- | ||
5 | define( [ |
1 | define([ |
|
6 | "./var/arr", |
2 | "./var/arr", |
|
7 | "./var/document", |
- | ||
8 | "./var/getProto", |
- | ||
9 | "./var/slice", |
3 | "./var/slice", |
|
10 | "./var/concat", |
4 | "./var/concat", |
|
11 | "./var/push", |
5 | "./var/push", |
|
12 | "./var/indexOf", |
6 | "./var/indexOf", |
|
13 | "./var/class2type", |
7 | "./var/class2type", |
|
14 | "./var/toString", |
8 | "./var/toString", |
|
15 | "./var/hasOwn", |
9 | "./var/hasOwn", |
|
16 | "./var/fnToString", |
- | ||
17 | "./var/ObjectFunctionString", |
- | ||
18 | "./var/support", |
10 | "./var/support" |
|
19 | "./core/DOMEval" |
- | ||
20 | ], function( arr, document, getProto, slice, concat, push, indexOf, |
11 | ], function( arr, slice, concat, push, indexOf, class2type, toString, hasOwn, support ) { |
|
21 | class2type, toString, hasOwn, fnToString, ObjectFunctionString, |
- | ||
22 | support, DOMEval ) { |
- | ||
23 | |
- | ||
24 | "use strict"; |
- | ||
Line 25... | Line 12... | |||
25 | |
12 | |
|
- | 13 | var |
||
- | 14 | // Use the correct document accordingly with window argument (sandbox) |
||
- | 15 | document = window.document, |
||
26 | var |
16 | |
|
Line 27... | Line 17... | |||
27 | version = "3.1.1", |
17 | version = "@VERSION", |
|
28 | |
18 | |
|
29 | // Define a local copy of jQuery |
- | ||
30 | jQuery = function( selector, context ) { |
19 | // Define a local copy of jQuery |
|
31 | |
20 | jQuery = function( selector, context ) { |
|
32 | // The jQuery object is actually just the init constructor 'enhanced' |
21 | // The jQuery object is actually just the init constructor 'enhanced' |
|
33 | // Need init if jQuery is called (just allow error to be thrown if not included) |
22 | // Need init if jQuery is called (just allow error to be thrown if not included) |
|
Line 34... | Line 23... | |||
34 | return new jQuery.fn.init( selector, context ); |
23 | return new jQuery.fn.init( selector, context ); |
|
35 | }, |
24 | }, |
|
36 | |
25 | |
|
Line 37... | Line 26... | |||
37 | // Support: Android <=4.0 only |
26 | // Support: Android<4.1 |
|
38 | // Make sure we trim BOM and NBSP |
27 | // Make sure we trim BOM and NBSP |
|
39 | rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, |
28 | rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, |
|
Line 40... | Line 29... | |||
40 | |
29 | |
|
41 | // Matches dashed string for camelizing |
30 | // Matches dashed string for camelizing |
|
42 | rmsPrefix = /^-ms-/, |
31 | rmsPrefix = /^-ms-/, |
|
43 | rdashAlpha = /-([a-z])/g, |
32 | rdashAlpha = /-([\da-z])/gi, |
|
Line 44... | Line 33... | |||
44 | |
33 | |
|
45 | // Used by jQuery.camelCase as callback to replace() |
- | ||
46 | fcamelCase = function( all, letter ) { |
34 | // Used by jQuery.camelCase as callback to replace() |
|
47 | return letter.toUpperCase(); |
35 | fcamelCase = function( all, letter ) { |
|
Line 48... | Line 36... | |||
48 | }; |
36 | return letter.toUpperCase(); |
|
Line -... | Line 37... | |||
- | 37 | }; |
||
- | 38 | |
||
- | 39 | jQuery.fn = jQuery.prototype = { |
||
49 | |
40 | // The current version of jQuery being used |
|
50 | jQuery.fn = jQuery.prototype = { |
41 | jquery: version, |
|
Line 51... | Line 42... | |||
51 | |
42 | |
|
52 | // The current version of jQuery being used |
43 | constructor: jQuery, |
|
53 | jquery: version, |
44 | |
|
Line 54... | Line 45... | |||
54 | |
45 | // Start with an empty selector |
|
55 | constructor: jQuery, |
46 | selector: "", |
|
56 | |
47 | |
|
- | 48 | // The default length of a jQuery object is 0 |
||
Line 57... | Line 49... | |||
57 | // The default length of a jQuery object is 0 |
49 | length: 0, |
|
58 | length: 0, |
- | ||
59 | |
50 | |
|
60 | toArray: function() { |
- | ||
Line 61... | Line 51... | |||
61 | return slice.call( this ); |
51 | toArray: function() { |
|
62 | }, |
52 | return slice.call( this ); |
|
63 | |
53 | }, |
|
Line 64... | Line 54... | |||
64 | // Get the Nth element in the matched element set OR |
54 | |
|
65 | // Get the whole matched element set as a clean array |
55 | // Get the Nth element in the matched element set OR |
|
66 | get: function( num ) { |
56 | // Get the whole matched element set as a clean array |
|
Line 81... | Line 71... | |||
81 | // Build a new jQuery matched element set |
71 | // Build a new jQuery matched element set |
|
82 | var ret = jQuery.merge( this.constructor(), elems ); |
72 | var ret = jQuery.merge( this.constructor(), elems ); |
|
Line 83... | Line 73... | |||
83 | |
73 | |
|
84 | // Add the old object onto the stack (as a reference) |
74 | // Add the old object onto the stack (as a reference) |
|
- | 75 | ret.prevObject = this; |
||
Line 85... | Line 76... | |||
85 | ret.prevObject = this; |
76 | ret.context = this.context; |
|
86 | |
77 | |
|
87 | // Return the newly-formed element set |
78 | // Return the newly-formed element set |
|
Line 88... | Line 79... | |||
88 | return ret; |
79 | return ret; |
|
- | 80 | }, |
||
- | 81 | |
||
89 | }, |
82 | // Execute a callback for every element in the matched set. |
|
90 | |
83 | // (You can seed the arguments with an array of args, but this is |
|
91 | // Execute a callback for every element in the matched set. |
84 | // only used internally.) |
|
Line 92... | Line 85... | |||
92 | each: function( callback ) { |
85 | each: function( callback, args ) { |
|
93 | return jQuery.each( this, callback ); |
86 | return jQuery.each( this, callback, args ); |
|
94 | }, |
87 | }, |
|
95 | |
88 | |
|
96 | map: function( callback ) { |
89 | map: function( callback ) { |
|
Line 97... | Line 90... | |||
97 | return this.pushStack( jQuery.map( this, function( elem, i ) { |
90 | return this.pushStack( jQuery.map(this, function( elem, i ) { |
|
98 | return callback.call( elem, i, elem ); |
91 | return callback.call( elem, i, elem ); |
|
99 | } ) ); |
92 | })); |
|
Line 112... | Line 105... | |||
112 | }, |
105 | }, |
|
Line 113... | Line 106... | |||
113 | |
106 | |
|
114 | eq: function( i ) { |
107 | eq: function( i ) { |
|
115 | var len = this.length, |
108 | var len = this.length, |
|
116 | j = +i + ( i < 0 ? len : 0 ); |
109 | j = +i + ( i < 0 ? len : 0 ); |
|
117 | return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); |
110 | return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); |
|
Line 118... | Line 111... | |||
118 | }, |
111 | }, |
|
119 | |
112 | |
|
120 | end: function() { |
113 | end: function() { |
|
Line 121... | Line 114... | |||
121 | return this.prevObject || this.constructor(); |
114 | return this.prevObject || this.constructor(null); |
|
122 | }, |
115 | }, |
|
123 | |
116 | |
|
Line 128... | Line 121... | |||
128 | splice: arr.splice |
121 | splice: arr.splice |
|
129 | }; |
122 | }; |
|
Line 130... | Line 123... | |||
130 | |
123 | |
|
131 | jQuery.extend = jQuery.fn.extend = function() { |
124 | jQuery.extend = jQuery.fn.extend = function() { |
|
132 | var options, name, src, copy, copyIsArray, clone, |
125 | var options, name, src, copy, copyIsArray, clone, |
|
133 | target = arguments[ 0 ] || {}, |
126 | target = arguments[0] || {}, |
|
134 | i = 1, |
127 | i = 1, |
|
135 | length = arguments.length, |
128 | length = arguments.length, |
|
Line 136... | Line 129... | |||
136 | deep = false; |
129 | deep = false; |
|
Line 143... | Line 136... | |||
143 | target = arguments[ i ] || {}; |
136 | target = arguments[ i ] || {}; |
|
144 | i++; |
137 | i++; |
|
145 | } |
138 | } |
|
Line 146... | Line 139... | |||
146 | |
139 | |
|
147 | // Handle case when target is a string or something (possible in deep copy) |
140 | // Handle case when target is a string or something (possible in deep copy) |
|
148 | if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { |
141 | if ( typeof target !== "object" && !jQuery.isFunction(target) ) { |
|
149 | target = {}; |
142 | target = {}; |
|
Line 150... | Line 143... | |||
150 | } |
143 | } |
|
151 | |
144 | |
|
152 | // Extend jQuery itself if only one argument is passed |
145 | // Extend jQuery itself if only one argument is passed |
|
153 | if ( i === length ) { |
146 | if ( i === length ) { |
|
154 | target = this; |
147 | target = this; |
|
Line 155... | Line 148... | |||
155 | i--; |
148 | i--; |
|
156 | } |
- | ||
157 | |
149 | } |
|
158 | for ( ; i < length; i++ ) { |
150 | |
|
159 | |
- | ||
160 | // Only deal with non-null/undefined values |
151 | for ( ; i < length; i++ ) { |
|
161 | if ( ( options = arguments[ i ] ) != null ) { |
152 | // Only deal with non-null/undefined values |
|
162 | |
153 | if ( (options = arguments[ i ]) != null ) { |
|
163 | // Extend the base object |
154 | // Extend the base object |
|
Line 169... | Line 160... | |||
169 | if ( target === copy ) { |
160 | if ( target === copy ) { |
|
170 | continue; |
161 | continue; |
|
171 | } |
162 | } |
|
Line 172... | Line 163... | |||
172 | |
163 | |
|
173 | // Recurse if we're merging plain objects or arrays |
164 | // Recurse if we're merging plain objects or arrays |
|
174 | if ( deep && copy && ( jQuery.isPlainObject( copy ) || |
- | ||
175 | ( copyIsArray = jQuery.isArray( copy ) ) ) ) { |
- | ||
176 | |
165 | if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { |
|
177 | if ( copyIsArray ) { |
166 | if ( copyIsArray ) { |
|
178 | copyIsArray = false; |
167 | copyIsArray = false; |
|
Line 179... | Line 168... | |||
179 | clone = src && jQuery.isArray( src ) ? src : []; |
168 | clone = src && jQuery.isArray(src) ? src : []; |
|
180 | |
169 | |
|
181 | } else { |
170 | } else { |
|
Line 182... | Line 171... | |||
182 | clone = src && jQuery.isPlainObject( src ) ? src : {}; |
171 | clone = src && jQuery.isPlainObject(src) ? src : {}; |
|
183 | } |
172 | } |
|
Line 195... | Line 184... | |||
195 | |
184 | |
|
196 | // Return the modified object |
185 | // Return the modified object |
|
197 | return target; |
186 | return target; |
|
Line 198... | Line 187... | |||
198 | }; |
187 | }; |
|
199 | |
- | ||
200 | jQuery.extend( { |
188 | |
|
201 | |
189 | jQuery.extend({ |
|
Line 202... | Line 190... | |||
202 | // Unique for each copy of jQuery on the page |
190 | // Unique for each copy of jQuery on the page |
|
203 | expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), |
191 | expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), |
|
Line 210... | Line 198... | |||
210 | }, |
198 | }, |
|
Line 211... | Line 199... | |||
211 | |
199 | |
|
Line 212... | Line 200... | |||
212 | noop: function() {}, |
200 | noop: function() {}, |
|
213 | |
201 | |
|
214 | isFunction: function( obj ) { |
202 | isFunction: function( obj ) { |
|
Line 215... | Line 203... | |||
215 | return jQuery.type( obj ) === "function"; |
203 | return jQuery.type(obj) === "function"; |
|
Line 216... | Line 204... | |||
216 | }, |
204 | }, |
|
217 | |
205 | |
|
218 | isArray: Array.isArray, |
206 | isArray: Array.isArray, |
|
Line 219... | Line 207... | |||
219 | |
207 | |
|
220 | isWindow: function( obj ) { |
- | ||
221 | return obj != null && obj === obj.window; |
- | ||
222 | }, |
- | ||
223 | |
- | ||
224 | isNumeric: function( obj ) { |
- | ||
225 | |
- | ||
226 | // As of jQuery 3.0, isNumeric is limited to |
- | ||
227 | // strings and numbers (primitives or objects) |
208 | isWindow: function( obj ) { |
|
228 | // that can be coerced to finite numbers (gh-2662) |
209 | return obj != null && obj === obj.window; |
|
229 | var type = jQuery.type( obj ); |
210 | }, |
|
- | 211 | |
||
230 | return ( type === "number" || type === "string" ) && |
212 | isNumeric: function( obj ) { |
|
231 | |
213 | // parseFloat NaNs numeric-cast false positives (null|true|false|"") |
|
Line 232... | Line 214... | |||
232 | // parseFloat NaNs numeric-cast false positives ("") |
214 | // ...but misinterprets leading-number strings, particularly hex literals ("0x...") |
|
233 | // ...but misinterprets leading-number strings, particularly hex literals ("0x...") |
215 | // subtraction forces infinities to NaN |
|
234 | // subtraction forces infinities to NaN |
- | ||
- | 216 | // adding 1 corrects loss of precision from parseFloat (#15100) |
||
235 | !isNaN( obj - parseFloat( obj ) ); |
217 | return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; |
|
236 | }, |
218 | }, |
|
237 | |
219 | |
|
238 | isPlainObject: function( obj ) { |
220 | isPlainObject: function( obj ) { |
|
239 | var proto, Ctor; |
221 | // Not plain objects: |
|
Line 240... | Line 222... | |||
240 | |
222 | // - Any object or value whose internal [[Class]] property is not "[object Object]" |
|
241 | // Detect obvious negatives |
- | ||
242 | // Use toString instead of jQuery.type to catch host objects |
223 | // - DOM nodes |
|
243 | if ( !obj || toString.call( obj ) !== "[object Object]" ) { |
- | ||
244 | return false; |
224 | // - window |
|
245 | } |
225 | if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { |
|
Line 246... | Line 226... | |||
246 | |
226 | return false; |
|
247 | proto = getProto( obj ); |
227 | } |
|
248 | |
228 | |
|
249 | // Objects with no prototype (e.g., `Object.create( null )`) are plain |
229 | if ( obj.constructor && |
|
Line 250... | Line 230... | |||
250 | if ( !proto ) { |
230 | !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { |
|
251 | return true; |
- | ||
252 | } |
- | ||
253 | |
- | ||
254 | // Objects with prototype are plain iff they were constructed by a global Object function |
231 | return false; |
|
255 | Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; |
- | ||
256 | return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; |
232 | } |
|
257 | }, |
233 | |
|
258 | |
234 | // If the function hasn't returned already, we're confident that |
|
259 | isEmptyObject: function( obj ) { |
235 | // |obj| is a plain object, created by {} or constructed with new Object |
|
260 | |
236 | return true; |
|
Line 261... | Line 237... | |||
261 | /* eslint-disable no-unused-vars */ |
237 | }, |
|
262 | // See https://github.com/eslint/eslint/issues/6125 |
238 | |
|
263 | var name; |
239 | isEmptyObject: function( obj ) { |
|
264 | |
240 | var name; |
|
265 | for ( name in obj ) { |
- | ||
266 | return false; |
241 | for ( name in obj ) { |
|
267 | } |
242 | return false; |
|
268 | return true; |
243 | } |
|
269 | }, |
244 | return true; |
|
270 | |
245 | }, |
|
Line 271... | Line 246... | |||
271 | type: function( obj ) { |
246 | |
|
272 | if ( obj == null ) { |
247 | type: function( obj ) { |
|
- | 248 | if ( obj == null ) { |
||
- | 249 | return obj + ""; |
||
- | 250 | } |
||
- | 251 | // Support: Android<4.0, iOS<6 (functionish RegExp) |
||
- | 252 | return typeof obj === "object" || typeof obj === "function" ? |
||
- | 253 | class2type[ toString.call(obj) ] || "object" : |
||
- | 254 | typeof obj; |
||
- | 255 | }, |
||
- | 256 | |
||
- | 257 | // Evaluates a script in a global context |
||
- | 258 | globalEval: function( code ) { |
||
- | 259 | var script, |
||
- | 260 | indirect = eval; |
||
- | 261 | |
||
- | 262 | code = jQuery.trim( code ); |
||
- | 263 | |
||
273 | return obj + ""; |
264 | if ( code ) { |
|
- | 265 | // If the code includes a valid, prologue position |
||
- | 266 | // strict mode pragma, execute code by injecting a |
||
274 | } |
267 | // script tag into the document. |
|
Line 275... | Line 268... | |||
275 | |
268 | if ( code.indexOf("use strict") === 1 ) { |
|
276 | // Support: Android <=2.3 only (functionish RegExp) |
269 | script = document.createElement("script"); |
|
277 | return typeof obj === "object" || typeof obj === "function" ? |
270 | script.text = code; |
|
278 | class2type[ toString.call( obj ) ] || "object" : |
271 | document.head.appendChild( script ).parentNode.removeChild( script ); |
|
279 | typeof obj; |
272 | } else { |
|
280 | }, |
273 | // Otherwise, avoid the DOM node creation, insertion |
|
Line 281... | Line 274... | |||
281 | |
274 | // and removal by using an indirect global eval |
|
282 | // Evaluates a script in a global context |
275 | indirect( code ); |
|
283 | globalEval: function( code ) { |
276 | } |
|
Line -... | Line 277... | |||
- | 277 | } |
||
284 | DOMEval( code ); |
278 | }, |
|
285 | }, |
279 | |
|
- | 280 | // Convert dashed to camelCase; used by the css and data modules |
||
- | 281 | // Support: IE9-11+ |
||
- | 282 | // Microsoft forgot to hump their vendor prefix (#9572) |
||
Line 286... | Line 283... | |||
286 | |
283 | camelCase: function( string ) { |
|
287 | // Convert dashed to camelCase; used by the css and data modules |
284 | return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); |
|
288 | // Support: IE <=9 - 11, Edge 12 - 13 |
285 | }, |
|
- | 286 | |
||
- | 287 | nodeName: function( elem, name ) { |
||
- | 288 | return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); |
||
- | 289 | }, |
||
- | 290 | |
||
- | 291 | // args is for internal usage only |
||
- | 292 | each: function( obj, callback, args ) { |
||
- | 293 | var value, |
||
289 | // Microsoft forgot to hump their vendor prefix (#9572) |
294 | i = 0, |
|
- | 295 | length = obj.length, |
||
- | 296 | isArray = isArraylike( obj ); |
||
290 | camelCase: function( string ) { |
297 | |
|
- | 298 | if ( args ) { |
||
291 | return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); |
299 | if ( isArray ) { |
|
292 | }, |
300 | for ( ; i < length; i++ ) { |
|
- | 301 | value = callback.apply( obj[ i ], args ); |
||
- | 302 | |
||
293 | |
303 | if ( value === false ) { |
|
- | 304 | break; |
||
- | 305 | } |
||
- | 306 | } |
||
- | 307 | } else { |
||
- | 308 | for ( i in obj ) { |
||
- | 309 | value = callback.apply( obj[ i ], args ); |
||
- | 310 | |
||
- | 311 | if ( value === false ) { |
||
- | 312 | break; |
||
294 | nodeName: function( elem, name ) { |
313 | } |
|
295 | return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); |
314 | } |
|
- | 315 | } |
||
- | 316 | |
||
296 | }, |
317 | // A special, fast, case for the most common use of each |
|
- | 318 | } else { |
||
297 | |
319 | if ( isArray ) { |
|
298 | each: function( obj, callback ) { |
320 | for ( ; i < length; i++ ) { |
|
299 | var length, i = 0; |
321 | value = callback.call( obj[ i ], i, obj[ i ] ); |
|
Line 300... | Line 322... | |||
300 | |
322 | |
|
301 | if ( isArrayLike( obj ) ) { |
323 | if ( value === false ) { |
|
Line 302... | Line 324... | |||
302 | length = obj.length; |
324 | break; |
|
303 | for ( ; i < length; i++ ) { |
325 | } |
|
304 | if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { |
326 | } |
|
305 | break; |
327 | } else { |
|
306 | } |
328 | for ( i in obj ) { |
|
307 | } |
329 | value = callback.call( obj[ i ], i, obj[ i ] ); |
|
Line 326... | Line 348... | |||
326 | // results is for internal usage only |
348 | // results is for internal usage only |
|
327 | makeArray: function( arr, results ) { |
349 | makeArray: function( arr, results ) { |
|
328 | var ret = results || []; |
350 | var ret = results || []; |
|
Line 329... | Line 351... | |||
329 | |
351 | |
|
330 | if ( arr != null ) { |
352 | if ( arr != null ) { |
|
331 | if ( isArrayLike( Object( arr ) ) ) { |
353 | if ( isArraylike( Object(arr) ) ) { |
|
332 | jQuery.merge( ret, |
354 | jQuery.merge( ret, |
|
333 | typeof arr === "string" ? |
355 | typeof arr === "string" ? |
|
334 | [ arr ] : arr |
356 | [ arr ] : arr |
|
335 | ); |
357 | ); |
|
Line 343... | Line 365... | |||
343 | |
365 | |
|
344 | inArray: function( elem, arr, i ) { |
366 | inArray: function( elem, arr, i ) { |
|
345 | return arr == null ? -1 : indexOf.call( arr, elem, i ); |
367 | return arr == null ? -1 : indexOf.call( arr, elem, i ); |
|
Line 346... | Line -... | |||
346 | }, |
- | ||
347 | |
- | ||
348 | // Support: Android <=4.0 only, PhantomJS 1 only |
368 | }, |
|
349 | // push.apply(_, arraylike) throws on ancient WebKit |
369 | |
|
350 | merge: function( first, second ) { |
370 | merge: function( first, second ) { |
|
351 | var len = +second.length, |
371 | var len = +second.length, |
|
Line 380... | Line 400... | |||
380 | return matches; |
400 | return matches; |
|
381 | }, |
401 | }, |
|
Line 382... | Line 402... | |||
382 | |
402 | |
|
383 | // arg is for internal usage only |
403 | // arg is for internal usage only |
|
384 | map: function( elems, callback, arg ) { |
404 | map: function( elems, callback, arg ) { |
|
385 | var length, value, |
405 | var value, |
|
- | 406 | i = 0, |
||
- | 407 | length = elems.length, |
||
386 | i = 0, |
408 | isArray = isArraylike( elems ), |
|
Line 387... | Line 409... | |||
387 | ret = []; |
409 | ret = []; |
|
388 | |
410 | |
|
389 | // Go through the array, translating each of the items to their new values |
- | ||
390 | if ( isArrayLike( elems ) ) { |
411 | // Go through the array, translating each of the items to their new values |
|
391 | length = elems.length; |
412 | if ( isArray ) { |
|
Line 392... | Line 413... | |||
392 | for ( ; i < length; i++ ) { |
413 | for ( ; i < length; i++ ) { |
|
393 | value = callback( elems[ i ], i, arg ); |
414 | value = callback( elems[ i ], i, arg ); |
|
Line 447... | Line 468... | |||
447 | now: Date.now, |
468 | now: Date.now, |
|
Line 448... | Line 469... | |||
448 | |
469 | |
|
449 | // jQuery.support is not used in Core but other projects attach their |
470 | // jQuery.support is not used in Core but other projects attach their |
|
450 | // properties to it so it needs to exist. |
471 | // properties to it so it needs to exist. |
|
451 | support: support |
472 | support: support |
|
452 | } ); |
- | ||
453 | |
- | ||
454 | if ( typeof Symbol === "function" ) { |
- | ||
455 | jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; |
- | ||
Line 456... | Line 473... | |||
456 | } |
473 | }); |
|
457 | |
474 | |
|
458 | // Populate the class2type map |
- | ||
459 | jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), |
475 | // Populate the class2type map |
|
460 | function( i, name ) { |
476 | jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { |
|
Line 461... | Line 477... | |||
461 | class2type[ "[object " + name + "]" ] = name.toLowerCase(); |
477 | class2type[ "[object " + name + "]" ] = name.toLowerCase(); |
|
Line 462... | Line 478... | |||
462 | } ); |
478 | }); |
|
463 | |
479 | |
|
464 | function isArrayLike( obj ) { |
480 | function isArraylike( obj ) { |
|
465 | |
481 | |
|
466 | // Support: real iOS 8.2 only (not reproducible in simulator) |
482 | // Support: iOS 8.2 (not reproducible in simulator) |
|
467 | // `in` check used to prevent JIT error (gh-2145) |
483 | // `in` check used to prevent JIT error (gh-2145) |
|
Line 468... | Line 484... | |||
468 | // hasOwn isn't used here due to false negatives |
484 | // hasOwn isn't used here due to false negatives |
|
469 | // regarding Nodelist length in IE |
485 | // regarding Nodelist length in IE |
|
470 | var length = !!obj && "length" in obj && obj.length, |
486 | var length = "length" in obj && obj.length, |
|
Line -... | Line 487... | |||
- | 487 | type = jQuery.type( obj ); |
||
- | 488 | |
||
- | 489 | if ( type === "function" || jQuery.isWindow( obj ) ) { |
||
- | 490 | return false; |
||
471 | type = jQuery.type( obj ); |
491 | } |
|
472 | |
492 | |
|
473 | if ( type === "function" || jQuery.isWindow( obj ) ) { |
493 | if ( obj.nodeType === 1 && length ) { |
|
Line 474... | Line 494... | |||
474 | return false; |
494 | return true; |
|
475 | } |
495 | } |