Вход Регистрация
Файл: Main Website Files/assets/bower_components/jquery/src/data/Data.js
Строк: 215
<?php
define
([
    
"../core",
    
"../var/rnotwhite",
    
"./accepts"
], function( jQueryrnotwhite ) {

function 
Data() {
    
// Support: Android<4,
    // Old WebKit does not have Object.preventExtensions/freeze method,
    // return new empty object instead with no [[set]] accessor
    
Object.definePropertythis.cache = {}, 0, {
        
get: function() {
            return {};
        }
    });

    
this.expando jQuery.expando Data.uid++;
}

Data.uid 1;
Data.accepts jQuery.acceptData;

Data.prototype = {
    
key: function( owner ) {
        
// We can accept data for non-element nodes in modern browsers,
        // but we should not, see #8335.
        // Always return the key for a frozen object.
        
if ( !Data.acceptsowner ) ) {
            return 
0;
        }

        var 
descriptor = {},
            
// Check if the owner object already has a cache key
            
unlock ownerthis.expando ];

        
// If not, create one
        
if ( !unlock ) {
            
unlock Data.uid++;

            
// Secure it in a non-enumerable, non-writable property
            
try {
                
descriptorthis.expando ] = { valueunlock };
                
Object.definePropertiesownerdescriptor );

            
// Support: Android<4
            // Fallback to a less secure definition
            
} catch ( ) {
                
descriptorthis.expando ] = unlock;
                
jQuery.extendownerdescriptor );
            }
        }

        
// Ensure the cache object
        
if ( !this.cacheunlock ] ) {
            
this.cacheunlock ] = {};
        }

        return 
unlock;
    },
    
set: function( ownerdatavalue ) {
        var 
prop,
            
// There may be an unlock assigned to this node,
            // if there is no entry for this "owner", create one inline
            // and set the unlock as though an owner entry had always existed
            
unlock this.keyowner ),
            
cache this.cacheunlock ];

        
// Handle: [ owner, key, value ] args
        
if ( typeof data === "string" ) {
            
cachedata ] = value;

        
// Handle: [ owner, { properties } ] args
        
} else {
            
// Fresh assignments by object are shallow copied
            
if ( jQuery.isEmptyObjectcache ) ) {
                
jQuery.extendthis.cacheunlock ], data );
            
// Otherwise, copy the properties one-by-one to the cache object
            
} else {
                for ( 
prop in data ) {
                    
cacheprop ] = dataprop ];
                }
            }
        }
        return 
cache;
    },
    
get: function( ownerkey ) {
        
// Either a valid cache is found, or will be created.
        // New caches will be created and the unlock returned,
        // allowing direct access to the newly created
        // empty data object. A valid owner object must be provided.
        
var cache this.cachethis.keyowner ) ];

        return 
key === undefined ?
            
cache cachekey ];
    },
    
access: function( ownerkeyvalue ) {
        var 
stored;
        
// In cases where either:
        //
        //   1. No key was specified
        //   2. A string key was specified, but no value provided
        //
        // Take the "read" path and allow the get method to determine
        // which value to return, respectively either:
        //
        //   1. The entire cache object
        //   2. The data stored at the key
        //
        
if ( key === undefined ||
                ((
key && typeof key === "string") && value === undefined) ) {

            
stored this.getownerkey );

            return 
stored !== undefined ?
                
stored this.getownerjQuery.camelCase(key) );
        }

        
// [*]When the key is not a string, or both a key and value
        // are specified, set or extend (existing objects) with either:
        //
        //   1. An object of properties
        //   2. A key and value
        //
        
this.setownerkeyvalue );

        
// Since the "set" path can have two possible entry points
        // return the expected data based on which path was taken[*]
        
return value !== undefined value key;
    },
    
remove: function( ownerkey ) {
        var 
inamecamel,
            
unlock this.keyowner ),
            
cache this.cacheunlock ];

        if ( 
key === undefined ) {
            
this.cacheunlock ] = {};

        } else {
            
// Support array or space separated string of keys
            
if ( jQuery.isArraykey ) ) {
                
// If "name" is an array of keys...
                // When data is initially created, via ("key", "val") signature,
                // keys will be converted to camelCase.
                // Since there is no way to tell _how_ a key was added, remove
                // both plain key and camelCase key. #12786
                // This will only penalize the array argument path.
                
name key.concatkey.mapjQuery.camelCase ) );
            } else {
                
camel jQuery.camelCasekey );
                
// Try the string as a key before any manipulation
                
if ( key in cache ) {
                    
name = [ keycamel ];
                } else {
                    
// If a key with the spaces exists, use it.
                    // Otherwise, create an array by matching non-whitespace
                    
name camel;
                    
name name in cache ?
                        [ 
name ] : ( name.matchrnotwhite ) || [] );
                }
            }

            
name.length;
            while ( 
i-- ) {
                
delete cachename] ];
            }
        }
    },
    
hasData: function( owner ) {
        return !
jQuery.isEmptyObject(
            
this.cacheownerthis.expando ] ] || {}
        );
    },
    
discard: function( owner ) {
        if ( 
ownerthis.expando ] ) {
            
delete this.cacheownerthis.expando ] ];
        }
    }
};

return 
Data;
});
?>
Онлайн: 1
Реклама