Implement String.prototype.trimStart and trimEnd.
parent
1ed9f0a194
commit
8ac840e319
|
@ -828,16 +828,16 @@ function String_static_trim(string) {
|
|||
return callFunction(std_String_trim, string);
|
||||
}
|
||||
|
||||
function String_static_trimLeft(string) {
|
||||
function String_static_trimStart(string) {
|
||||
if (arguments.length < 1)
|
||||
ThrowTypeError(JSMSG_MISSING_FUN_ARG, 0, 'String.trimLeft');
|
||||
return callFunction(std_String_trimLeft, string);
|
||||
ThrowTypeError(JSMSG_MISSING_FUN_ARG, 0, 'String.trimStart');
|
||||
return callFunction(std_String_trimStart, string);
|
||||
}
|
||||
|
||||
function String_static_trimRight(string) {
|
||||
function String_static_trimEnd(string) {
|
||||
if (arguments.length < 1)
|
||||
ThrowTypeError(JSMSG_MISSING_FUN_ARG, 0, 'String.trimRight');
|
||||
return callFunction(std_String_trimRight, string);
|
||||
ThrowTypeError(JSMSG_MISSING_FUN_ARG, 0, 'String.trimEnd');
|
||||
return callFunction(std_String_trimEnd, string);
|
||||
}
|
||||
|
||||
function String_static_toLocaleLowerCase(string) {
|
||||
|
|
|
@ -1970,14 +1970,14 @@ js::str_trim(JSContext* cx, unsigned argc, Value* vp)
|
|||
}
|
||||
|
||||
bool
|
||||
js::str_trimLeft(JSContext* cx, unsigned argc, Value* vp)
|
||||
js::str_trimStart(JSContext* cx, unsigned argc, Value* vp)
|
||||
{
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
return TrimString(cx, args, true, false);
|
||||
}
|
||||
|
||||
bool
|
||||
js::str_trimRight(JSContext* cx, unsigned argc, Value* vp)
|
||||
js::str_trimEnd(JSContext* cx, unsigned argc, Value* vp)
|
||||
{
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
return TrimString(cx, args, false, true);
|
||||
|
@ -2568,8 +2568,10 @@ static const JSFunctionSpec string_methods[] = {
|
|||
JS_FN("startsWith", str_startsWith, 1,0),
|
||||
JS_FN("endsWith", str_endsWith, 1,0),
|
||||
JS_FN("trim", str_trim, 0,0),
|
||||
JS_FN("trimLeft", str_trimLeft, 0,0),
|
||||
JS_FN("trimRight", str_trimRight, 0,0),
|
||||
JS_FN("trimLeft", str_trimStart, 0,0),
|
||||
JS_FN("trimStart", str_trimStart, 0,0),
|
||||
JS_FN("trimRight", str_trimEnd, 0,0),
|
||||
JS_FN("trimEnd", str_trimEnd, 0,0),
|
||||
JS_FN("toLocaleLowerCase", str_toLocaleLowerCase, 0,0),
|
||||
JS_FN("toLocaleUpperCase", str_toLocaleUpperCase, 0,0),
|
||||
JS_SELF_HOSTED_FN("localeCompare", "String_localeCompare", 1,0),
|
||||
|
@ -2881,8 +2883,10 @@ static const JSFunctionSpec string_static_methods[] = {
|
|||
JS_SELF_HOSTED_FN("startsWith", "String_static_startsWith", 2,0),
|
||||
JS_SELF_HOSTED_FN("endsWith", "String_static_endsWith", 2,0),
|
||||
JS_SELF_HOSTED_FN("trim", "String_static_trim", 1,0),
|
||||
JS_SELF_HOSTED_FN("trimLeft", "String_static_trimLeft", 1,0),
|
||||
JS_SELF_HOSTED_FN("trimRight", "String_static_trimRight", 1,0),
|
||||
JS_SELF_HOSTED_FN("trimLeft", "String_static_trimStart", 1,0),
|
||||
JS_SELF_HOSTED_FN("trimStart", "String_static_trimStart", 1,0),
|
||||
JS_SELF_HOSTED_FN("trimRight", "String_static_trimEnd", 1,0),
|
||||
JS_SELF_HOSTED_FN("trimEnd", "String_static_trimEnd", 1,0),
|
||||
JS_SELF_HOSTED_FN("toLocaleLowerCase","String_static_toLocaleLowerCase",1,0),
|
||||
JS_SELF_HOSTED_FN("toLocaleUpperCase","String_static_toLocaleUpperCase",1,0),
|
||||
JS_SELF_HOSTED_FN("normalize", "String_static_normalize", 1,0),
|
||||
|
|
|
@ -367,10 +367,10 @@ extern bool
|
|||
str_trim(JSContext* cx, unsigned argc, Value* vp);
|
||||
|
||||
extern bool
|
||||
str_trimLeft(JSContext* cx, unsigned argc, Value* vp);
|
||||
str_trimStart(JSContext* cx, unsigned argc, Value* vp);
|
||||
|
||||
extern bool
|
||||
str_trimRight(JSContext* cx, unsigned argc, Value* vp);
|
||||
str_trimEnd(JSContext* cx, unsigned argc, Value* vp);
|
||||
|
||||
extern bool
|
||||
str_toLocaleLowerCase(JSContext* cx, unsigned argc, Value* vp);
|
||||
|
|
|
@ -2200,8 +2200,10 @@ static const JSFunctionSpec intrinsic_functions[] = {
|
|||
JS_INLINABLE_FN("std_String_charAt", str_charAt, 1,0, StringCharAt),
|
||||
JS_FN("std_String_endsWith", str_endsWith, 1,0),
|
||||
JS_FN("std_String_trim", str_trim, 0,0),
|
||||
JS_FN("std_String_trimLeft", str_trimLeft, 0,0),
|
||||
JS_FN("std_String_trimRight", str_trimRight, 0,0),
|
||||
JS_FN("std_String_trimLeft", str_trimStart, 0,0),
|
||||
JS_FN("std_String_trimStart", str_trimStart, 0,0),
|
||||
JS_FN("std_String_trimRight", str_trimEnd, 0,0),
|
||||
JS_FN("std_String_trimEnd", str_trimEnd, 0,0),
|
||||
JS_FN("std_String_toLocaleLowerCase", str_toLocaleLowerCase, 0,0),
|
||||
JS_FN("std_String_toLocaleUpperCase", str_toLocaleUpperCase, 0,0),
|
||||
JS_FN("std_String_normalize", str_normalize, 0,0),
|
||||
|
|
Loading…
Reference in New Issue