Download node_modules/jquery/src/ajax/jsonp.js from Leon4gr45/matomo: direct link, hf CLI and curl.
- Browser
- Download file 2.75 kB
-
https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/node_modules/jquery/src/ajax/jsonp.js
- Command line
-
hf download hf://spaces/Leon4gr45/matomo/node_modules/jquery/src/ajax/jsonp.js
-
curl -L -o jsonp.js https://huggingface.co/spaces/Leon4gr45/matomo/resolve/main/node_modules/jquery/src/ajax/jsonp.js
2.75 kB
| define( [ | |
| "../core", | |
| "../var/isFunction", | |
| "./var/nonce", | |
| "./var/rquery", | |
| "../ajax" | |
| ], function( jQuery, isFunction, nonce, rquery ) { | |
| ; | |
| var oldCallbacks = [], | |
| rjsonp = /(=)\?(?=&|$)|\?\?/; | |
| // Default jsonp settings | |
| jQuery.ajaxSetup( { | |
| jsonp: "callback", | |
| jsonpCallback: function() { | |
| var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); | |
| this[ callback ] = true; | |
| return callback; | |
| } | |
| } ); | |
| // Detect, normalize options and install callbacks for jsonp requests | |
| jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { | |
| var callbackName, overwritten, responseContainer, | |
| jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? | |
| "url" : | |
| typeof s.data === "string" && | |
| ( s.contentType || "" ) | |
| .indexOf( "application/x-www-form-urlencoded" ) === 0 && | |
| rjsonp.test( s.data ) && "data" | |
| ); | |
| // Handle iff the expected data type is "jsonp" or we have a parameter to set | |
| if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { | |
| // Get callback name, remembering preexisting value associated with it | |
| callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? | |
| s.jsonpCallback() : | |
| s.jsonpCallback; | |
| // Insert callback into url or form data | |
| if ( jsonProp ) { | |
| s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); | |
| } else if ( s.jsonp !== false ) { | |
| s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; | |
| } | |
| // Use data converter to retrieve json after script execution | |
| s.converters[ "script json" ] = function() { | |
| if ( !responseContainer ) { | |
| jQuery.error( callbackName + " was not called" ); | |
| } | |
| return responseContainer[ 0 ]; | |
| }; | |
| // Force json dataType | |
| s.dataTypes[ 0 ] = "json"; | |
| // Install callback | |
| overwritten = window[ callbackName ]; | |
| window[ callbackName ] = function() { | |
| responseContainer = arguments; | |
| }; | |
| // Clean-up function (fires after converters) | |
| jqXHR.always( function() { | |
| // If previous value didn't exist - remove it | |
| if ( overwritten === undefined ) { | |
| jQuery( window ).removeProp( callbackName ); | |
| // Otherwise restore preexisting value | |
| } else { | |
| window[ callbackName ] = overwritten; | |
| } | |
| // Save back as free | |
| if ( s[ callbackName ] ) { | |
| // Make sure that re-using the options doesn't screw things around | |
| s.jsonpCallback = originalSettings.jsonpCallback; | |
| // Save the callback name for future use | |
| oldCallbacks.push( callbackName ); | |
| } | |
| // Call if it was a function and we have a response | |
| if ( responseContainer && isFunction( overwritten ) ) { | |
| overwritten( responseContainer[ 0 ] ); | |
| } | |
| responseContainer = overwritten = undefined; | |
| } ); | |
| // Delegate to script | |
| return "script"; | |
| } | |
| } ); | |
| } ); | |