Bun

Symbol

CString.constructor

constructor (ptr: Pointer, byteOffset?: number, byteLength?: number): CString

Get a string from a UTF-8 encoded C string If byteLength is not provided, the string is assumed to be null-terminated.

@param ptr

The pointer to the C string

@param byteOffset

bytes to skip before reading

@param byteLength

bytes to read

var ptr = lib.symbols.getVersion();
console.log(new CString(ptr));

Referenced types

type Pointer = number & { __pointer__: null }

class CString

Get a string from a UTF-8 encoded C string If byteLength is not provided, the string is assumed to be null-terminated.

var ptr = lib.symbols.getVersion();
console.log(new CString(ptr));
  • byteLength?: number
  • byteOffset?: number
  • readonly length: number

    Returns the length of a String object.

  • ptr: Pointer

    The ptr to the C string

    This CString instance is a clone of the string, so it is safe to continue using this instance after the ptr has been freed.

  • [Symbol.iterator](): StringIterator<string>

    Iterator

  • at(index: number): undefined | string

    Returns a new String consisting of the single UTF-16 code unit located at the specified index.

    @param index

    The zero-based index of the desired code unit. A negative index will count back from the last item.

  • charAt(pos: number): string

    Returns the character at the specified index.

    @param pos

    The zero-based index of the desired character.

  • charCodeAt(index: number): number

    Returns the Unicode value of the character at the specified location.

    @param index

    The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.

  • codePointAt(pos: number): undefined | number

    Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point value of the UTF-16 encoded code point starting at the string element at position pos in the String resulting from converting this object to a String. If there is no element at that position, the result is undefined. If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.

  • concat(...strings: string[]): string

    Returns a string that contains the concatenation of two or more strings.

    @param strings

    The strings to append to the end of the string.

  • endsWith(searchString: string, endPosition?: number): boolean

    Returns true if the sequence of elements of searchString converted to a String is the same as the corresponding elements of this object (converted to a String) starting at endPosition – length(this). Otherwise returns false.

  • includes(searchString: string, position?: number): boolean

    Returns true if searchString appears as a substring of the result of converting this object to a String, at one or more positions that are greater than or equal to position; otherwise, returns false.

    @param searchString

    search string

    @param position

    If position is undefined, 0 is assumed, so as to search all of the String.

  • indexOf(searchString: string, position?: number): number

    Returns the position of the first occurrence of a substring.

    @param searchString

    The substring to search for in the string

    @param position

    The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.

  • isWellFormed(): boolean

    Returns true if all leading surrogates and trailing surrogates appear paired and in order.

  • lastIndexOf(searchString: string, position?: number): number

    Returns the last occurrence of a substring in the string.

    @param searchString

    The substring to search for.

    @param position

    The index at which to begin searching. If omitted, the search begins at the end of the string.

  • localeCompare(that: string): number

    Determines whether two strings are equivalent in the current locale.

    @param that

    String to compare to target string

    localeCompare(that: string, locales?: string | string[], options?: CollatorOptions): number

    Determines whether two strings are equivalent in the current or specified locale.

    @param that

    String to compare to target string

    @param locales

    A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.

    @param options

    An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.

    localeCompare(that: string, locales?: LocalesArgument, options?: CollatorOptions): number

    Determines whether two strings are equivalent in the current or specified locale.

    @param that

    String to compare to target string

    @param locales

    A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.

    @param options

    An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.

  • match(regexp: string | RegExp): null | RegExpMatchArray

    Matches a string with a regular expression, and returns an array containing the results of that search.

    @param regexp

    A variable name or string literal containing the regular expression pattern and flags.

    match(matcher: { [match](string: string): null | RegExpMatchArray }): null | RegExpMatchArray

    Matches a string or an object that supports being matched against, and returns an array containing the results of that search, or null if no matches are found.

    @param matcher

    An object that supports being matched against.

  • matchAll(regexp: RegExp): RegExpStringIterator<RegExpExecArray>

    Matches a string with a regular expression, and returns an iterable of matches containing the results of that search.

    @param regexp

    A variable name or string literal containing the regular expression pattern and flags.

  • normalize(form: 'NFC' | 'NFD' | 'NFKC' | 'NFKD'): string

    Returns the String value result of normalizing the string into the normalization form named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.

    @param form

    Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default is "NFC"

    normalize(form?: string): string

    Returns the String value result of normalizing the string into the normalization form named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms.

    @param form

    Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default is "NFC"

  • padEnd(maxLength: number, fillString?: string): string

    Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. The padding is applied from the end (right) of the current string.

    @param maxLength

    The length of the resulting string once the current string has been padded. If this parameter is smaller than the current string's length, the current string will be returned as it is.

    @param fillString

    The string to pad the current string with. If this string is too long, it will be truncated and the left-most part will be applied. The default value for this parameter is " " (U+0020).

  • padStart(maxLength: number, fillString?: string): string

    Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. The padding is applied from the start (left) of the current string.

    @param maxLength

    The length of the resulting string once the current string has been padded. If this parameter is smaller than the current string's length, the current string will be returned as it is.

    @param fillString

    The string to pad the current string with. If this string is too long, it will be truncated and the left-most part will be applied. The default value for this parameter is " " (U+0020).

  • repeat(count: number): string

    Returns a String value that is made from count copies appended together. If count is 0, the empty string is returned.

    @param count

    number of copies to append

  • replace(searchValue: string | RegExp, replaceValue: string): string

    Replaces text in a string, using a regular expression or search string.

    @param searchValue

    A string or regular expression to search for.

    @param replaceValue

    A string containing the text to replace. When the searchValue is a RegExp, all matches are replaced if the g flag is set (or only those matches at the beginning, if the y flag is also present). Otherwise, only the first match of searchValue is replaced.

    replace(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string

    Replaces text in a string, using a regular expression or search string.

    @param searchValue

    A string to search for.

    @param replacer

    A function that returns the replacement text.

    replace(searchValue: { [replace](string: string, replaceValue: string): string }, replaceValue: string): string

    Passes a string and replaceValue to the [Symbol.replace] method on searchValue. This method is expected to implement its own replacement algorithm.

    @param searchValue

    An object that supports searching for and replacing matches within a string.

    @param replaceValue

    The replacement text.

    replace(searchValue: { [replace](string: string, replacer: (substring: string, ...args: any[]) => string): string }, replacer: (substring: string, ...args: any[]) => string): string

    Replaces text in a string, using an object that supports replacement within a string.

    @param searchValue

    A object can search for and replace matches within a string.

    @param replacer

    A function that returns the replacement text.

  • replaceAll(searchValue: string | RegExp, replaceValue: string): string

    Replace all instances of a substring in a string, using a regular expression or search string.

    @param searchValue

    A string to search for.

    @param replaceValue

    A string containing the text to replace for every successful match of searchValue in this string.

    replaceAll(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string

    Replace all instances of a substring in a string, using a regular expression or search string.

    @param searchValue

    A string to search for.

    @param replacer

    A function that returns the replacement text.

  • search(regexp: string | RegExp): number

    Finds the first substring match in a regular expression search.

    @param regexp

    The regular expression pattern and applicable flags.

    search(searcher: { [search](string: string): number }): number

    Finds the first substring match in a regular expression search.

    @param searcher

    An object which supports searching within a string.

  • slice(start?: number, end?: number): string

    Returns a section of a string.

    @param start

    The index to the beginning of the specified portion of stringObj.

    @param end

    The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. If this value is not specified, the substring continues to the end of stringObj.

  • split(separator: string | RegExp, limit?: number): string[]

    Split a string into substrings using the specified separator and return them as an array.

    @param separator

    A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.

    @param limit

    A value used to limit the number of elements returned in the array.

    split(splitter: { [split](string: string, limit?: number): string[] }, limit?: number): string[]

    Split a string into substrings using the specified separator and return them as an array.

    @param splitter

    An object that can split a string.

    @param limit

    A value used to limit the number of elements returned in the array.

  • startsWith(searchString: string, position?: number): boolean

    Returns true if the sequence of elements of searchString converted to a String is the same as the corresponding elements of this object (converted to a String) starting at position. Otherwise returns false.

  • substring(start: number, end?: number): string

    Returns the substring at the specified location within a String object.

    @param start

    The zero-based index number indicating the beginning of the substring.

    @param end

    Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. If end is omitted, the characters from start through the end of the original string are returned.

  • toLocaleLowerCase(locales?: string | string[]): string

    Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.

    toLocaleLowerCase(locales?: LocalesArgument): string

    Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.

  • toLocaleUpperCase(locales?: string | string[]): string

    Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.

    toLocaleUpperCase(locales?: LocalesArgument): string

    Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.

  • toLowerCase(): string

    Converts all the alphabetic characters in a string to lowercase.

  • toString(): string

    Returns a string representation of a string.

  • toUpperCase(): string

    Converts all the alphabetic characters in a string to uppercase.

  • toWellFormed(): string

    Returns a string where all lone or out-of-order surrogates have been replaced by the Unicode replacement character (U+FFFD).

  • trim(): string

    Removes the leading and trailing white space and line terminator characters from a string.

  • trimEnd(): string

    Removes the trailing white space and line terminator characters from a string.

  • trimStart(): string

    Removes the leading white space and line terminator characters from a string.

  • valueOf(): string

    Returns the primitive value of the specified object.

  • static fromCharCode(...codes: number[]): string
  • static fromCodePoint(...codePoints: number[]): string

    Return the String value whose elements are, in order, the elements in the List elements. If length is 0, the empty string is returned.

  • static raw(template: { raw: readonly string[] | ArrayLike<string> }, ...substitutions: any[]): string

    String.raw is usually used as a tag function of a Tagged Template String. When called as such, the first argument will be a well formed template call site object and the rest parameter will contain the substitution values. It can also be called directly, for example, to interleave strings and values from your own tag function, and in this case the only thing it needs from the first argument is the raw property.

    @param template

    A well-formed template string call site representation.

    @param substitutions

    A set of substitution values.