Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Changed dataConverters key format.

  • Loading branch information...
commit 22e28b01e60e87b2454f88ca128fb84916b13564 1 parent 524bf39
unknown authored jaubourg committed
View
25 src/ajax.js
@@ -223,36 +223,21 @@ jQuery.extend({
},
// List of data converters
- // 1) key format is "source_type => destination_type" (spaces required)
+ // 1) key format is "source_type destination_type" (a single space in-between)
// 2) the catchall symbol "*" can be used for source_type
dataConverters: {
// Convert anything to text
- "* => text": function(data) {
- return "" + data;
- },
+ "* text": window.String,
@Krinkle
Krinkle added a note

Why window.String instead of String? They're reliable globals in the language (not just in the browser API), also whitelisted in JSHint.

Or is this to allow better minification? Afaik it can only optimise the host object name that is locally aliased, not the property. So at best this'd become a.String.

@rwaldron Collaborator

IIRC, two years ago we still used JSLint and it probably gave you warnings for using String, I'm sure this can change now

@Krinkle
Krinkle added a note

Looks like this is the only mention of \.(Boolean|Number|String|Object|Array|Date|Function|Error) in latest master.

Fixed in GH-1176.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
// Text to html (no transformation)
- "text => html": function(data) {
- return data;
- },
+ "text html": window.String,
// Evaluate text as a json expression
- "text => json": jQuery.parseJSON,
+ "text json": jQuery.parseJSON,
// Parse text as xml
- "text => xml": function(data) {
- var xml, parser;
- if ( window.DOMParser ) { // Standard
- parser = new DOMParser();
- xml = parser.parseFromString(data,"text/xml");
- } else { // IE
- xml = new ActiveXObject("Microsoft.XMLDOM");
- xml.async="false";
- xml.loadXML(data);
- }
- return xml;
- }
+ "text xml": jQuery.parseXML
}
},
View
6 src/transports/jsonp.js
@@ -70,18 +70,16 @@ jQuery.xhr.prefilter("json jsonp", function(s) {
}, s.complete ];
// Use data converter to retrieve json after script execution
- s.dataConverters["script => json"] = function() {
+ s.dataConverters["script json"] = function() {
if ( ! responseContainer ) {
- jQuery.error("Callback '" + jsonpCallback + "' was not called");
+ jQuery.error( jsonpCallback + " was not called" );
}
return responseContainer[ 0 ];
};
// Delegate to script transport
return "script";
-
}
-
});
})( jQuery );
View
2  src/transports/script.js
@@ -12,7 +12,7 @@ jQuery.extend( true, jQuery.ajaxSettings , {
},
dataConverters: {
- "text => script": jQuery.globalEval
+ "text script": jQuery.globalEval
}
} );
View
10 src/xhr.js
@@ -254,12 +254,14 @@ jQuery.xhr = function( _native ) {
} else if ( current !== "*" && prev !== current ) {
oneConv = conv1 =
- dataConverters[ ( conversion = prev + " => " + current ) ] ||
- dataConverters[ "* => " + current ];
+ dataConverters[ ( conversion = prev + " " + current ) ] ||
+ dataConverters[ "* " + current ];
+
+ console.log( conversion );
if ( ! oneConv && prev !== "text" && current !== "text" ) {
- conv1 = dataConverters[ prev + " => text" ] || dataConverters[ "* => text" ];
- conv2 = dataConverters[ "text => " + current ];
+ conv1 = dataConverters[ prev + " text" ] || dataConverters[ "* text" ];
+ conv2 = dataConverters[ "text " + current ];
}
if ( oneConv || conv1 && conv2 ) {
response = oneConv ? conv1( response ) : conv2( conv1( response ) );
View
6 test/unit/ajax.js
@@ -707,6 +707,10 @@ test("jQuery.ajax - xml: non-namespace elements inside namespaced elements (over
equals( jQuery("jsconf", resp).length, 1, 'jsconf in responseXML' );
equals( jQuery("thing", resp).length, 2, 'things in responseXML' );
start();
+ },
+ error: function(_1,_2,error) {
+ ok( false, error );
+ start();
}
});
});
@@ -1487,7 +1491,7 @@ test("jQuery.ajax() - json by content-type disabled with options", function() {
},
success: function( text ) {
equals( typeof text , "string" , "json wasn't auto-determined" );
- var json = this.dataConverters["text => json"]( text );
+ var json = this.dataConverters["text json"]( text );
ok( json.length >= 2, "Check length");
equals( json[0].name, 'John', 'Check JSON: first, name' );
equals( json[0].age, 21, 'Check JSON: first, age' );
@Krinkle

Why window.String instead of String? They're reliable globals in the language (not just in the browser API), also whitelisted in JSHint.

Or is this to allow better minification? Afaik it can only optimise the host object name that is locally aliased, not the property. So at best this'd become a.String.

@rwaldron
Collaborator

IIRC, two years ago we still used JSLint and it probably gave you warnings for using String, I'm sure this can change now

@Krinkle

Looks like this is the only mention of \.(Boolean|Number|String|Object|Array|Date|Function|Error) in latest master.

Fixed in GH-1176.

Please sign in to comment.
Something went wrong with that request. Please try again.