diff --git a/packages/webapi/src/lib/RelativeIndexingMethod.ts b/packages/webapi/src/lib/RelativeIndexingMethod.ts deleted file mode 100644 index d88349b80..000000000 --- a/packages/webapi/src/lib/RelativeIndexingMethod.ts +++ /dev/null @@ -1,50 +0,0 @@ -type TypedArray = - | Int8Array - | Uint8Array - | Uint8ClampedArray - | Int16Array - | Uint16Array - | Int32Array - | Uint32Array - | Float32Array - | Float64Array - | BigInt64Array - | BigUint64Array - -export const at = { - at | string | TypedArray>(this: T, index: number) { - index = Math.trunc(index) || 0 - - if (index < 0) index += this.length - - if (index < 0 || index >= this.length) return undefined - - return this[index] - }, -}.at - -export const initRelativeIndexingMethod = ( - target: any, - exclude: Set -) => { - if (exclude.has('at')) return - - const Classes = [] - - if (!exclude.has('TypedArray')) - Classes.push( - Object.getPrototypeOf(target.Int8Array || globalThis.Int8Array) - ) - if (!exclude.has('Array')) Classes.push(target.Array || globalThis.Array) - if (!exclude.has('String')) Classes.push(target.String || globalThis.String) - - for (const Class of Classes) { - if (!Class.prototype.at) - Object.defineProperty(Class.prototype, 'at', { - value: at, - writable: true, - enumerable: false, - configurable: true, - }) - } -}