diff --git a/compiled/facebook-www/REVISION b/compiled/facebook-www/REVISION index 567094c26f..91293823fe 100644 --- a/compiled/facebook-www/REVISION +++ b/compiled/facebook-www/REVISION @@ -1 +1 @@ -d121c67004a2e6b0bb5d341843663ef213f64863 +ab2385fa388f3d4ebc0b1a9f5a747c82e4aa82ed diff --git a/compiled/facebook-www/ReactFlightDOMRelayClient-dev.classic.js b/compiled/facebook-www/ReactFlightDOMRelayClient-dev.classic.js index 6209190a6d..ad1be8bcfe 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayClient-dev.classic.js +++ b/compiled/facebook-www/ReactFlightDOMRelayClient-dev.classic.js @@ -558,6 +558,25 @@ function parseModelString(response, parentObject, key, value) { } } + case "I": { + // $Infinity + return Infinity; + } + + case "-": { + // $-0 or $-Infinity + if (value[2] === "0") { + return -0; + } else { + return -Infinity; + } + } + + case "N": { + // $NaN + return NaN; + } + case "u": { // matches "$undefined" // Special encoding for `undefined` which can't be serialized as JSON otherwise. diff --git a/compiled/facebook-www/ReactFlightDOMRelayClient-dev.modern.js b/compiled/facebook-www/ReactFlightDOMRelayClient-dev.modern.js index 6209190a6d..ad1be8bcfe 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayClient-dev.modern.js +++ b/compiled/facebook-www/ReactFlightDOMRelayClient-dev.modern.js @@ -558,6 +558,25 @@ function parseModelString(response, parentObject, key, value) { } } + case "I": { + // $Infinity + return Infinity; + } + + case "-": { + // $-0 or $-Infinity + if (value[2] === "0") { + return -0; + } else { + return -Infinity; + } + } + + case "N": { + // $NaN + return NaN; + } + case "u": { // matches "$undefined" // Special encoding for `undefined` which can't be serialized as JSON otherwise. diff --git a/compiled/facebook-www/ReactFlightDOMRelayClient-prod.classic.js b/compiled/facebook-www/ReactFlightDOMRelayClient-prod.classic.js index 94bc45cb7e..76a1514411 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayClient-prod.classic.js +++ b/compiled/facebook-www/ReactFlightDOMRelayClient-prod.classic.js @@ -285,6 +285,12 @@ function parseModelString(response, parentObject, key, value) { default: throw parentObject.reason; } + case "I": + return Infinity; + case "-": + return "0" === value[2] ? -0 : -Infinity; + case "N": + return NaN; case "u": return; case "n": diff --git a/compiled/facebook-www/ReactFlightDOMRelayClient-prod.modern.js b/compiled/facebook-www/ReactFlightDOMRelayClient-prod.modern.js index 94bc45cb7e..76a1514411 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayClient-prod.modern.js +++ b/compiled/facebook-www/ReactFlightDOMRelayClient-prod.modern.js @@ -285,6 +285,12 @@ function parseModelString(response, parentObject, key, value) { default: throw parentObject.reason; } + case "I": + return Infinity; + case "-": + return "0" === value[2] ? -0 : -Infinity; + case "N": + return NaN; case "u": return; case "n": diff --git a/compiled/facebook-www/ReactFlightDOMRelayServer-dev.classic.js b/compiled/facebook-www/ReactFlightDOMRelayServer-dev.classic.js index 2a9435b294..b8e2ab64dc 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayServer-dev.classic.js +++ b/compiled/facebook-www/ReactFlightDOMRelayServer-dev.classic.js @@ -1442,6 +1442,24 @@ function serializeProviderReference(name) { return "$P" + name; } +function serializeNumber(number) { + if (Number.isFinite(number)) { + if (number === 0 && 1 / number === -Infinity) { + return "$-0"; + } else { + return number; + } + } else { + if (number === Infinity) { + return "$Infinity"; + } else if (number === -Infinity) { + return "$-Infinity"; + } else { + return "$NaN"; + } + } +} + function serializeUndefined() { return "$undefined"; } @@ -1733,10 +1751,14 @@ function resolveModelToJSON(request, parent, key, value) { return escapeStringValue(value); } - if (typeof value === "boolean" || typeof value === "number") { + if (typeof value === "boolean") { return value; } + if (typeof value === "number") { + return serializeNumber(value); + } + if (typeof value === "undefined") { return serializeUndefined(); } diff --git a/compiled/facebook-www/ReactFlightDOMRelayServer-dev.modern.js b/compiled/facebook-www/ReactFlightDOMRelayServer-dev.modern.js index 2a9435b294..b8e2ab64dc 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayServer-dev.modern.js +++ b/compiled/facebook-www/ReactFlightDOMRelayServer-dev.modern.js @@ -1442,6 +1442,24 @@ function serializeProviderReference(name) { return "$P" + name; } +function serializeNumber(number) { + if (Number.isFinite(number)) { + if (number === 0 && 1 / number === -Infinity) { + return "$-0"; + } else { + return number; + } + } else { + if (number === Infinity) { + return "$Infinity"; + } else if (number === -Infinity) { + return "$-Infinity"; + } else { + return "$NaN"; + } + } +} + function serializeUndefined() { return "$undefined"; } @@ -1733,10 +1751,14 @@ function resolveModelToJSON(request, parent, key, value) { return escapeStringValue(value); } - if (typeof value === "boolean" || typeof value === "number") { + if (typeof value === "boolean") { return value; } + if (typeof value === "number") { + return serializeNumber(value); + } + if (typeof value === "undefined") { return serializeUndefined(); } diff --git a/compiled/facebook-www/ReactFlightDOMRelayServer-prod.classic.js b/compiled/facebook-www/ReactFlightDOMRelayServer-prod.classic.js index 411eddc6b9..d9d0a456ba 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayServer-prod.classic.js +++ b/compiled/facebook-www/ReactFlightDOMRelayServer-prod.classic.js @@ -753,7 +753,20 @@ function resolveModelToJSON(request, parent, key, value) { } if ("string" === typeof value) return (request = "$" === value[0] ? "$" + value : value), request; - if ("boolean" === typeof value || "number" === typeof value) return value; + if ("boolean" === typeof value) return value; + if ("number" === typeof value) + return ( + (request = value), + Number.isFinite(request) + ? 0 === request && -Infinity === 1 / request + ? "$-0" + : request + : Infinity === request + ? "$Infinity" + : -Infinity === request + ? "$-Infinity" + : "$NaN" + ); if ("undefined" === typeof value) return "$undefined"; if ("function" === typeof value) { if (value instanceof JSResourceReferenceImpl) diff --git a/compiled/facebook-www/ReactFlightDOMRelayServer-prod.modern.js b/compiled/facebook-www/ReactFlightDOMRelayServer-prod.modern.js index 411eddc6b9..d9d0a456ba 100644 --- a/compiled/facebook-www/ReactFlightDOMRelayServer-prod.modern.js +++ b/compiled/facebook-www/ReactFlightDOMRelayServer-prod.modern.js @@ -753,7 +753,20 @@ function resolveModelToJSON(request, parent, key, value) { } if ("string" === typeof value) return (request = "$" === value[0] ? "$" + value : value), request; - if ("boolean" === typeof value || "number" === typeof value) return value; + if ("boolean" === typeof value) return value; + if ("number" === typeof value) + return ( + (request = value), + Number.isFinite(request) + ? 0 === request && -Infinity === 1 / request + ? "$-0" + : request + : Infinity === request + ? "$Infinity" + : -Infinity === request + ? "$-Infinity" + : "$NaN" + ); if ("undefined" === typeof value) return "$undefined"; if ("function" === typeof value) { if (value instanceof JSResourceReferenceImpl)