93926bfd37ed907d5cabe6581306e950dc6d1076b6737dfcb3ea8db89bf481ee70b4b095b630cc81925c8dc45fa6c6b937bfdb30fce13d8edaf2ee254d2376 1.2 KB

1234567891011121314151617181920212223
  1. // Polyfill for ES2022's .at() method on string/array prototypes, added to TypeScript in 4.6.
  2. // TODO: these methods are not used within @types/node, and should be removed at the next
  3. // major @types/node version; users should include the es2022 TypeScript libraries
  4. // if they need these features.
  5. interface RelativeIndexable<T> {
  6. at(index: number): T | undefined;
  7. }
  8. interface String extends RelativeIndexable<string> {}
  9. interface Array<T> extends RelativeIndexable<T> {}
  10. interface ReadonlyArray<T> extends RelativeIndexable<T> {}
  11. interface Int8Array extends RelativeIndexable<number> {}
  12. interface Uint8Array extends RelativeIndexable<number> {}
  13. interface Uint8ClampedArray extends RelativeIndexable<number> {}
  14. interface Int16Array extends RelativeIndexable<number> {}
  15. interface Uint16Array extends RelativeIndexable<number> {}
  16. interface Int32Array extends RelativeIndexable<number> {}
  17. interface Uint32Array extends RelativeIndexable<number> {}
  18. interface Float32Array extends RelativeIndexable<number> {}
  19. interface Float64Array extends RelativeIndexable<number> {}
  20. interface BigInt64Array extends RelativeIndexable<bigint> {}
  21. interface BigUint64Array extends RelativeIndexable<bigint> {}