Commit 00fb8a9a authored by jaubourg's avatar jaubourg

Removed dataCheckers, added true as possible value for dataConverters...

Removed dataCheckers, added true as possible value for dataConverters indicating dataType equivalence (ie. no conversion has to be performed).
parent 5237b096
......@@ -212,31 +212,6 @@ jQuery.extend({
// 3) selection will start with transport dataType and THEN go to "*" if needed
transports: {},
// Checkers
// 1) key is dataType
// 2) they are called to control successful response
// 3) error throws is used as error data
dataCheckers: {
// Check if data is a string
"text": function(data) {
if ( typeof data != "string" ) {
jQuery.error("typeerror");
}
},
// Check if xml has been properly parsed
"xml": function(data) {
var documentElement = data ? data.documentElement : data;
if ( ! documentElement || ! documentElement.nodeName ) {
jQuery.error("typeerror");
}
if ( documentElement.nodeName == "parsererror" ) {
jQuery.error("parsererror");
}
}
},
// List of data converters
// 1) key format is "source_type destination_type" (a single space in-between)
// 2) the catchall symbol "*" can be used for source_type
......@@ -245,8 +220,8 @@ jQuery.extend({
// Convert anything to text
"* text": window.String,
// Text to html (no transformation)
"text html": window.String,
// Text to html (true = no transformation)
"text html": true,
// Evaluate text as a json expression
"text json": jQuery.parseJSON,
......
......@@ -231,7 +231,6 @@ jQuery.xhr = function( _native ) {
oneConv,
convertion,
dataTypes = s.dataTypes,
dataCheckers = s.dataCheckers,
dataConverters = s.dataConverters,
dataFilter = s.dataFilter,
responses = {
......@@ -243,51 +242,40 @@ jQuery.xhr = function( _native ) {
current = dataTypes[ i ];
if ( responses[ current ] ) {
xhr[ "response" + responses[ current ] ] = response;
responses[ current ] = 0;
}
if ( i ) {
prev = dataTypes[ i - 1 ];
if ( prev === "*" ) {
prev = current;
} else if ( current !== "*" && prev !== current ) {
if ( prev !== "*" && current !== "*" && prev !== current ) {
oneConv = conv1 =
dataConverters[ ( conversion = prev + " " + current ) ] ||
dataConverters[ "* " + current ];
if ( ! oneConv && prev !== "text" && current !== "text" ) {
conv1 = dataConverters[ prev + " text" ] || dataConverters[ "* text" ];
conv2 = dataConverters[ "text " + current ];
}
if ( oneConv || conv1 && conv2 ) {
response = oneConv ? conv1( response ) : conv2( conv1( response ) );
} else {
throw "no " + conversion;
if ( oneConv !== true ) {
if ( ! oneConv && prev !== "text" && current !== "text" ) {
conv1 = dataConverters[ prev + " text" ] || dataConverters[ "* text" ];
conv2 = dataConverters[ "text " + current ];
}
if ( oneConv || conv1 && conv2 ) {
response = oneConv ? conv1( response ) : conv2( conv1( response ) );
} else {
throw "no " + conversion;
}
}
}
}
checker = dataCheckers[ current ];
if ( response != null && checker ) {
checker( response );
}
if ( responses[ current ] ) {
xhr[ "response" + responses[ current ] ] = response;
responses[ current ] = 0;
}
if ( ! i && dataFilter ) {
response = dataFilter( response );
} else if ( dataFilter ) {
response = s.dataFilter( response );
dataTypes = s.dataTypes;
dataFilter = 0;
i--;
}
prev = current;
}
// We have a real success
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment