// a host-bindings syntax experiment @binding(BindingCall.NEW, [ BindingType.STRING ], BindingType.OBJECT_HANDLE) export class ExternalString { @binding(BindingCall.FUNCTION, [ BindingType.U32, BindingType.U32 ], BindingType.OBJECT_HANDLE) static fromCharCode(char: u16, schar: u16 = -1): String { return unreachable(); } @binding(BindingCall.FUNCTION, [ BindingType.U32 ], BindingType.OBJECT_HANDLE) static fromCodePoint(codepoint: u32): String { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.U32 ], BindingType.OBJECT_HANDLE) charAt(index: u32): String { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.U32 ], BindingType.PASS_THRU) charCodeAt(index: u32): u16 { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.U32 ], BindingType.PASS_THRU) codePointAt(index: u32): u32 { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.OBJECT_HANDLE) @operator("+") concat(other: String): String { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU) endsWith(other: String): bool { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU) indexOf(other: String): i32 { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU) startsWith(other: String): bool { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.U32, BindingType.U32 ], BindingType.OBJECT_HANDLE) substr(start: i32, length: i32): String { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.U32, BindingType.U32 ], BindingType.OBJECT_HANDLE) substring(start: i32, end: i32): String { return unreachable(); } @binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE) trim(): String { return unreachable(); } @binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE) trimLeft(): String { return unreachable(); } @binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE) trimRight(): String { return unreachable(); } @binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU) @operator("==") equals(other: String): bool { return unreachable(); } }