{"ScriptPreparationCode":"/*your preparation JavaScript code goes here\r\nTo execute async code during the script preparation, wrap it as function globalMeasureThatScriptPrepareFunction, example:*/\r\nasync function globalMeasureThatScriptPrepareFunction() {\r\n // This function is optional, feel free to remove it.\r\n // await someThing();\r\n}","TestCases":[{"Name":"Using if","Code":"const clamp = (x, minValue, maxValue) =\u003E {\r\n if (minValue \u003E maxValue) {\r\n const temp = minValue;\r\n minValue = maxValue;\r\n maxValue = temp;\r\n }\r\n\r\n if (x \u003C= minValue) return minValue;\r\n\r\n if (x \u003E= maxValue) return maxValue;\r\n\r\n return x;\r\n}\r\n\r\nclamp(5, 0, 10);\r\nclamp(-10, 0, 10);\r\nclamp(15, 0, 10);\r\nclamp(0, 0, 10);\r\nclamp(10, 0, 10);\r\nclamp(5, 5, 5);\r\nclamp(10, 5, 5);\r\nclamp(-3, 5, 5);\r\nclamp(-5, -10, 0);\r\nclamp(-15, -10, 0);\r\nclamp(5, -10, 0);\r\nclamp(5, 10, 0);\r\nclamp(-5, 10, 0);\r\nclamp(15, 10, 0);\r\nclamp(100, 0, Infinity);\r\nclamp(-100, -Infinity, 100);\r\nclamp(NaN, 0, 10);","IsDeferred":false},{"Name":"Using min and max","Code":"const clamp = (x, minValue, maxValue) =\u003E Math.max(minValue, Math.min(x, maxValue));\r\n\r\nclamp(5, 0, 10);\r\nclamp(-10, 0, 10);\r\nclamp(15, 0, 10);\r\nclamp(0, 0, 10);\r\nclamp(10, 0, 10);\r\nclamp(5, 5, 5);\r\nclamp(10, 5, 5);\r\nclamp(-3, 5, 5);\r\nclamp(-5, -10, 0);\r\nclamp(-15, -10, 0);\r\nclamp(5, -10, 0);\r\nclamp(5, 10, 0);\r\nclamp(-5, 10, 0);\r\nclamp(15, 10, 0);\r\nclamp(100, 0, Infinity);\r\nclamp(-100, -Infinity, 100);\r\nclamp(NaN, 0, 10);","IsDeferred":false},{"Name":"Using ternary","Code":"const clamp = (x, minValue, maxValue) =\u003E {\r\n const lower = minValue \u003C maxValue ? minValue : maxValue;\r\n const upper = minValue \u003C maxValue ? maxValue : minValue;\r\n return x \u003C lower ? lower : x \u003E upper ? upper : x;\r\n}\r\n\r\nclamp(5, 0, 10);\r\nclamp(-10, 0, 10);\r\nclamp(15, 0, 10);\r\nclamp(0, 0, 10);\r\nclamp(10, 0, 10);\r\nclamp(5, 5, 5);\r\nclamp(10, 5, 5);\r\nclamp(-3, 5, 5);\r\nclamp(-5, -10, 0);\r\nclamp(-15, -10, 0);\r\nclamp(5, -10, 0);\r\nclamp(5, 10, 0);\r\nclamp(-5, 10, 0);\r\nclamp(15, 10, 0);\r\nclamp(100, 0, Infinity);\r\nclamp(-100, -Infinity, 100);\r\nclamp(NaN, 0, 10);","IsDeferred":false}]}