PopClip JavaScript API Reference
    Preparing search index...

    Class Buffer

    Node-compatible Buffer, a Uint8Array subclass for working with binary data. PopClip installs it as a global and it is also loadable as require("buffer"). The implementation is a modified version of the buffer npm package (6.0.3).

    Refer also to the Node.js Buffer documentation: the API follows Node's, though only the members declared here are guaranteed to be present.

    The usual way in is Buffer.from, and the way back out is Buffer.toString: together they convert between strings, binary data and binary-to-text encodings. The supported encodings are "utf8" (the default), "utf16le", "latin1", "ascii", "base64", "base64url" and "hex".

    // Buffer.from() encodes a string into bytes
    const b = Buffer.from("hello"); // 5 bytes of UTF-8: 68 65 6c 6c 6f
    print(b.length); // 5

    // toString() renders the bytes in any encoding
    print(b.toString("hex")); // 68656c6c6f
    print(b.toString("base64")); // aGVsbG8=

    // pass an encoding to Buffer.from() to decode from it
    print(Buffer.from("aGVsbG8=", "base64").toString()); // hello
    print(Buffer.from("68656c6c6f", "hex").toString()); // hello

    // bytes can also come from an array, or any Uint8Array
    print(Buffer.from([0xfb, 0xef, 0xff]).toString("base64url")); // --__

    // byte length is not string length, once outside ASCII
    print("héllo".length, Buffer.byteLength("héllo")); // 5 6

    // wrap a Uint8Array with Buffer.from() to use Buffer's methods on it
    const digest = Buffer.from(util.hash(b, "sha256"));
    print(digest.toString("hex")); // 2cf24dba5fb0a30e26e83b2ac5b9e29e…

    Hierarchy

    • Uint8Array
      • Buffer
    Index
    • Allocates a new buffer containing the string str, in the given encoding (default "utf8"). Prefer Buffer.from.

      Parameters

      • str: string
      • Optionalencoding: string

      Returns Buffer

    • Allocates a new buffer of size bytes. Prefer Buffer.alloc.

      Parameters

      • size: number

      Returns Buffer

    • Allocates a new buffer containing a copy of the given bytes. Prefer Buffer.from.

      Parameters

      • array: Uint8Array

      Returns Buffer

    • Creates a buffer viewing the same memory as arrayBuffer. Prefer Buffer.from.

      Parameters

      • arrayBuffer: ArrayBuffer

      Returns Buffer

    • Allocates a new buffer containing the given array of bytes. Prefer Buffer.from.

      Parameters

      • array: any[]

      Returns Buffer

    • Copies the data of buffer into a new buffer. Prefer Buffer.from.

      Parameters

      Returns Buffer

    buffer: ArrayBuffer

    The ArrayBuffer instance referenced by the array.

    byteLength: number

    The length in bytes of the array.

    byteOffset: number

    The offset in bytes of the array.

    BYTES_PER_ELEMENT: number

    The size in bytes of each element in the array.

    BYTES_PER_ELEMENT: number

    The size in bytes of each element in the array.

    length: number

    Length of the buffer in bytes.

    • Allocates a new buffer of size bytes, filled with zeros — or, if fill is given, initialized by calling buf.fill(fill) (with encoding, if given).

      Parameters

      • size: number
      • Optionalfill: string | number | Buffer
      • Optionalencoding: string

      Returns Buffer

    • Allocates a new buffer of size bytes without initializing the memory. The buffer's contents are unknown and may contain sensitive data; fill it completely before use.

      Parameters

      • size: number

      Returns Buffer

    • Like Buffer.allocUnsafe — a new buffer of size bytes with uninitialized memory — but never allocated from the internal pool.

      Parameters

      • size: number

      Returns Buffer

    • Returns the item located at the specified index.

      Parameters

      • index: number

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

      Returns number | undefined

    • Returns the byte length of string in the given encoding (default "utf8"). Not the same as String.prototype.length, which counts UTF-16 code units rather than bytes.

      Parameters

      • string: string
      • Optionalencoding: string

      Returns number

    • The same as buf1.compare(buf2). Useful for sorting an array of buffers.

      Parameters

      • buf1: Uint8Array
      • buf2: Uint8Array

      Returns number

    • Compares this buffer (or a range of it) with otherBuffer (or a range of it), returning -1, 0 or 1 for use in sorting.

      Parameters

      • otherBuffer: Uint8Array
      • OptionaltargetStart: number
      • OptionaltargetEnd: number
      • OptionalsourceStart: number
      • OptionalsourceEnd: number

      Returns number

    • Concatenates the buffers in list into a new buffer. If totalLength (the total length of the buffers) is not provided, it is measured from the list, which is slower.

      Parameters

      • list: Uint8Array<ArrayBufferLike>[]
      • OptionaltotalLength: number

      Returns Buffer

    • Copies a byte range of this buffer into targetBuffer, even where the ranges overlap. Returns the number of bytes copied.

      Parameters

      • targetBuffer: Buffer
      • OptionaltargetStart: number
      • OptionalsourceStart: number
      • OptionalsourceEnd: number

      Returns number

    • Returns the this object after copying a section of the array identified by start and end to the same array starting at position target

      Parameters

      • target: number

        If target is negative, it is treated as length+target where length is the length of the array.

      • start: number

        If start is negative, it is treated as length+start. If end is negative, it is treated as length+end.

      • Optionalend: number

        If not specified, length of the this object is used as its default value.

      Returns this

    • Returns an array of key, value pairs for every entry in the array

      Returns ArrayIterator<[number, number]>

    • Returns whether this buffer contains exactly the same bytes as otherBuffer.

      Parameters

      Returns boolean

    • Determines whether all the members of an array satisfy the specified test.

      Parameters

      • predicate: (value: number, index: number, array: this) => unknown

        A function that accepts up to three arguments. The every method calls the predicate function for each element in the array until the predicate returns a value which is coercible to the Boolean value false, or until the end of the array.

      • OptionalthisArg: any

        An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.

      Returns boolean

    • Fills the buffer, or the byte range [offset, end), with value, repeating or truncating it as necessary. Returns the buffer.

      Parameters

      • value: any
      • Optionaloffset: number
      • Optionalend: number

      Returns this

    • Returns the elements of an array that meet the condition specified in a callback function.

      Parameters

      • predicate: (value: number, index: number, array: this) => any

        A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.

      • OptionalthisArg: any

        An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.

      Returns Uint8Array<ArrayBuffer>

    • Returns the value of the first element in the array where predicate is true, and undefined otherwise.

      Parameters

      • predicate: (value: number, index: number, obj: this) => boolean

        find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, find immediately returns that element value. Otherwise, find returns undefined.

      • OptionalthisArg: any

        If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.

      Returns number | undefined

    • Returns the index of the first element in the array where predicate is true, and -1 otherwise.

      Parameters

      • predicate: (value: number, index: number, obj: this) => boolean

        find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, findIndex immediately returns that element index. Otherwise, findIndex returns -1.

      • OptionalthisArg: any

        If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.

      Returns number

    • Returns the value of the last element in the array where predicate is true, and undefined otherwise.

      Type Parameters

      • S extends number

      Parameters

      • predicate: (value: number, index: number, array: this) => value is S

        findLast calls predicate once for each element of the array, in descending order, until it finds one where predicate returns true. If such an element is found, findLast immediately returns that element value. Otherwise, findLast returns undefined.

      • OptionalthisArg: any

        If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.

      Returns S | undefined

    • Returns the index of the last element in the array where predicate is true, and -1 otherwise.

      Parameters

      • predicate: (value: number, index: number, array: this) => unknown

        findLastIndex calls predicate once for each element of the array, in descending order, until it finds one where predicate returns true. If such an element is found, findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.

      • OptionalthisArg: any

        If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.

      Returns number

    • Performs the specified action for each element in an array.

      Parameters

      • callbackfn: (value: number, index: number, array: this) => void

        A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.

      • OptionalthisArg: any

        An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.

      Returns void

    • Allocates a new buffer containing the given array of bytes.

      Parameters

      • array: any[]

      Returns Buffer

    • Creates a buffer viewing the same memory as arrayBuffer (for example, the .buffer property of a typed array), optionally restricted to the range given by byteOffset and length.

      Parameters

      • arrayBuffer: ArrayBuffer
      • OptionalbyteOffset: number
      • Optionallength: number

      Returns Buffer

    • Copies the bytes of buffer into a new buffer.

      Parameters

      • buffer: Uint8Array<ArrayBufferLike> | Buffer

      Returns Buffer

    • Creates a new buffer containing the string str, in the given encoding (default "utf8").

      Parameters

      • str: string
      • Optionalencoding: string

      Returns Buffer

    • Returns whether the buffer contains value.

      Parameters

      • value: string | number | Buffer
      • OptionalbyteOffset: number
      • Optionalencoding: string

      Returns boolean

    • Returns the index of the first occurrence of value at or after byteOffset, or -1. Strings are interpreted in encoding (default "utf8").

      Parameters

      • value: string | number | Buffer
      • OptionalbyteOffset: number
      • Optionalencoding: string

      Returns number

    • Returns whether obj is a Buffer.

      Parameters

      • obj: any

      Returns obj is Buffer

    • Returns whether encoding names a supported encoding, such as "utf8", "utf16le", "latin1", "base64", "base64url" or "hex".

      Parameters

      • encoding: string

      Returns boolean

    • Adds all the elements of an array separated by the specified separator string.

      Parameters

      • Optionalseparator: string

        A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.

      Returns string

    • Returns an list of keys in the array

      Returns ArrayIterator<number>

    • Returns the index of the last occurrence of value, searching backwards from byteOffset, or -1.

      Parameters

      • value: string | number | Buffer
      • OptionalbyteOffset: number
      • Optionalencoding: string

      Returns number

    • Calls a defined callback function on each element of an array, and returns an array that contains the results.

      Parameters

      • callbackfn: (value: number, index: number, array: this) => number

        A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.

      • OptionalthisArg: any

        An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.

      Returns Uint8Array<ArrayBuffer>

    • Returns a new array from a set of elements.

      Parameters

      • ...items: number[]

        A set of elements to include in the new array object.

      Returns Uint8Array<ArrayBuffer>

    • Reads a signed big-endian 64-bit integer at offset, as a bigint.

      Parameters

      • offset: number

      Returns bigint

    • Reads a signed little-endian 64-bit integer at offset, as a bigint.

      Parameters

      • offset: number

      Returns bigint

    • Reads an unsigned big-endian 64-bit integer at offset, as a bigint.

      Parameters

      • offset: number

      Returns bigint

    • Reads an unsigned little-endian 64-bit integer at offset, as a bigint.

      Parameters

      • offset: number

      Returns bigint

    • Reads a big-endian 64-bit double at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a little-endian 64-bit double at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a big-endian 32-bit float at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a little-endian 32-bit float at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a signed big-endian 16-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a signed little-endian 16-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a signed big-endian 32-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a signed little-endian 32-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads a signed 8-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads byteLength bytes (up to 6) at offset as a signed big-endian integer.

      Parameters

      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads byteLength bytes (up to 6) at offset as a signed little-endian integer.

      Parameters

      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads an unsigned big-endian 16-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads an unsigned little-endian 16-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads an unsigned big-endian 32-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads an unsigned little-endian 32-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads an unsigned 8-bit integer at offset.

      Parameters

      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads byteLength bytes (up to 6) at offset as an unsigned big-endian integer.

      Parameters

      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number

    • Reads byteLength bytes (up to 6) at offset as an unsigned little-endian integer.

      Parameters

      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number

    • Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.

      Parameters

      • callbackfn: (
            previousValue: number,
            currentValue: number,
            currentIndex: number,
            array: this,
        ) => number

        A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.

      Returns number

    • Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.

      Type Parameters

      • U

      Parameters

      • callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U

        A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.

      • initialValue: U

        If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.

      Returns U

    • Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.

      Parameters

      • callbackfn: (
            previousValue: number,
            currentValue: number,
            currentIndex: number,
            array: this,
        ) => number

        A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.

      Returns number

    • Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.

      Type Parameters

      • U

      Parameters

      • callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U

        A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.

      • initialValue: U

        If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.

      Returns U

    • Reverses the buffer in place and returns it.

      Returns this

    • Sets a value or an array of values.

      Parameters

      • array: ArrayLike<number>

        A typed or untyped array of values to set.

      • Optionaloffset: number

        The index in the current array at which the values are to be written.

      Returns void

    • Returns a new Buffer for the byte range [start, end), sharing this buffer's memory. (Unlike Uint8Array.prototype.slice, which copies.)

      Parameters

      • Optionalstart: number
      • Optionalend: number

      Returns Buffer

    • Determines whether the specified callback function returns true for any element of an array.

      Parameters

      • predicate: (value: number, index: number, array: this) => unknown

        A function that accepts up to three arguments. The some method calls the predicate function for each element in the array until the predicate returns a value which is coercible to the Boolean value true, or until the end of the array.

      • OptionalthisArg: any

        An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.

      Returns boolean

    • Sorts an array.

      Parameters

      • OptionalcompareFn: (a: number, b: number) => number

        Function used to determine the order of the elements. It is expected to return a negative value if first argument is less than second argument, zero if they're equal and a positive value otherwise. If omitted, the elements are sorted in ascending order.

        [11,2,22,1].sort((a, b) => a - b)
        

      Returns this

    • Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements at begin, inclusive, up to end, exclusive.

      Parameters

      • Optionalbegin: number

        The index of the beginning of the array.

      • Optionalend: number

        The index of the end of the array.

      Returns Uint8Array<ArrayBuffer>

    • Swaps the buffer's byte order in place, treating it as an array of 16-bit values. Throws if the length is not a multiple of 2.

      Returns Buffer

    • Swaps the buffer's byte order in place, treating it as an array of 32-bit values. Throws if the length is not a multiple of 4.

      Returns Buffer

    • Swaps the buffer's byte order in place, treating it as an array of 64-bit values. Throws if the length is not a multiple of 8.

      Returns Buffer

    • Returns a { type: "Buffer", data: [...] } representation of the buffer. (Called by JSON.stringify().)

      Returns { data: any[]; type: "Buffer" }

    • Converts a number to a string by using the current locale.

      Returns string

    • Copies the array and returns the copy with the elements in reverse order.

      Returns Uint8Array<ArrayBuffer>

    • Copies and sorts the array.

      Parameters

      • OptionalcompareFn: (a: number, b: number) => number

        Function used to determine the order of the elements. It is expected to return a negative value if the first argument is less than the second argument, zero if they're equal, and a positive value otherwise. If omitted, the elements are sorted in ascending order.

        const myNums = Uint8Array.from([11, 2, 22, 1]);
        myNums.toSorted((a, b) => a - b) // Uint8Array(4) [1, 2, 11, 22]

      Returns Uint8Array<ArrayBuffer>

    • Decodes the buffer, or the byte range [start, end), into a string using the given encoding (default "utf8").

      Parameters

      • Optionalencoding: string
      • Optionalstart: number
      • Optionalend: number

      Returns string

    • Returns the primitive value of the specified object.

      Returns this

    • Returns an list of values in the array

      Returns ArrayIterator<number>

    • Copies the array and inserts the given number at the provided index.

      Parameters

      • index: number

        The index of the value to overwrite. If the index is negative, then it replaces from the end of the array.

      • value: number

        The value to insert into the copied array.

      Returns Uint8Array<ArrayBuffer>

      A copy of the original array with the inserted value.

    • Writes string into the buffer at offset, in the given encoding (default "utf8"). Returns the number of bytes written.

      Parameters

      • string: string
      • Optionaloffset: number
      • Optionallength: number
      • Optionalencoding: string

      Returns number

    • Writes value at offset as a signed big-endian 64-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: bigint
      • offset: number

      Returns number

    • Writes value at offset as a signed little-endian 64-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: bigint
      • offset: number

      Returns number

    • Writes value at offset as an unsigned big-endian 64-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: bigint
      • offset: number

      Returns number

    • Writes value at offset as an unsigned little-endian 64-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: bigint
      • offset: number

      Returns number

    • Writes value at offset as a big-endian 64-bit double. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a little-endian 64-bit double. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a big-endian 32-bit float. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a little-endian 32-bit float. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a signed big-endian 16-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a signed little-endian 16-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a signed big-endian 32-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a signed little-endian 32-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a signed 8-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a signed big-endian integer of byteLength bytes (up to 6). Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as a signed little-endian integer of byteLength bytes (up to 6). Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as an unsigned big-endian 16-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as an unsigned little-endian 16-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as an unsigned big-endian 32-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as an unsigned little-endian 32-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as an unsigned 8-bit integer. Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as an unsigned big-endian integer of byteLength bytes (up to 6). Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number

    • Writes value at offset as an unsigned little-endian integer of byteLength bytes (up to 6). Returns offset plus the bytes written.

      Parameters

      • value: number
      • offset: number
      • byteLength: number
      • OptionalnoAssert: boolean

      Returns number