diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 7eb99f8c..9865ea94 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -482,6 +482,8 @@ declare class String { trim(): string; trimLeft(): string; trimRight(): string; + trimStart(): string; + trimEnd(): string; padStart(targetLength: i32, padString?: string): string; padEnd(targetLength: i32, padString?: string): string; repeat(count?: i32): string; diff --git a/std/assembly/string.ts b/std/assembly/string.ts index 881da290..2407299e 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -303,7 +303,17 @@ export class String { return out; } + @inline trimLeft(): String { + return this.trimStart(); + } + + @inline + trimRight(): String { + return this.trimEnd(); + } + + trimStart(): String { assert(this !== null); var start: isize = 0; var len: isize = this.length; @@ -323,7 +333,7 @@ export class String { return out; } - trimRight(): String { + trimEnd(): String { assert(this !== null); var len: isize = this.length; while ( diff --git a/std/portable/index.d.ts b/std/portable/index.d.ts index 427147bd..f2e592b0 100644 --- a/std/portable/index.d.ts +++ b/std/portable/index.d.ts @@ -304,6 +304,8 @@ declare class String { trim(): string; trimLeft(): string; trimRight(): string; + trimStart(): string; + trimEnd(): string; padStart(targetLength: i32, padString?: string): string; padEnd(targetLength: i32, padString?: string): string; replace(search: string, replacement: string): string; diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 75c2842a..7d712740 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -2734,7 +2734,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 345) + (i32.const 355) (i32.const 4) ) (unreachable) @@ -2876,7 +2876,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 365) + (i32.const 375) (i32.const 4) ) (unreachable) @@ -3675,7 +3675,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 513) + (i32.const 523) (i32.const 10) ) (unreachable) @@ -4153,7 +4153,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 385) + (i32.const 395) (i32.const 4) ) (unreachable) @@ -4189,7 +4189,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 390) + (i32.const 400) (i32.const 6) ) (unreachable) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index e4e9a585..89a6435f 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -3451,7 +3451,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 345) + (i32.const 355) (i32.const 4) ) (unreachable) @@ -3601,7 +3601,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 365) + (i32.const 375) (i32.const 4) ) (unreachable) @@ -4465,7 +4465,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 513) + (i32.const 523) (i32.const 10) ) (unreachable) @@ -5012,7 +5012,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 385) + (i32.const 395) (i32.const 4) ) (unreachable) @@ -5047,7 +5047,7 @@ (call $~lib/env/abort (i32.const 0) (i32.const 80) - (i32.const 390) + (i32.const 400) (i32.const 6) ) (unreachable) diff --git a/tests/parser/string-binding.ts b/tests/parser/string-binding.ts index f76b9f0d..876de128 100644 --- a/tests/parser/string-binding.ts +++ b/tests/parser/string-binding.ts @@ -40,10 +40,10 @@ export class ExternalString { trim(): String { return unreachable(); } @binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE) - trimLeft(): String { return unreachable(); } + trimStart(): String { return unreachable(); } @binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE) - trimRight(): String { return unreachable(); } + trimEnd(): String { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU) @operator("==") diff --git a/tests/parser/string-binding.ts.fixture.ts b/tests/parser/string-binding.ts.fixture.ts index 8f502768..37349872 100644 --- a/tests/parser/string-binding.ts.fixture.ts +++ b/tests/parser/string-binding.ts.fixture.ts @@ -50,11 +50,11 @@ export class ExternalString { return unreachable(); } @binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE) - trimLeft(): String { + trimStart(): String { return unreachable(); } @binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE) - trimRight(): String { + trimEnd(): String { return unreachable(); } @binding(BindingCall.THIS, [BindingType.OBJECT_HANDLE], BindingType.PASS_THRU)