/es-spackle

Primary LanguageJavaScriptMIT LicenseMIT

Light-weight polyfills for EcmaScript 2018+

  • ES2018
    • Promise.prototype.finally
  • ES2019
    • Array.prototype.flat
    • Array.prototype.flatMap
    • Object.fromEntries
    • String.prototype.trimStart
    • String.prototype.trimEnd
  • ES2020
    • globalThis 1
    • Promise.allSettled
    • String.prototype.matchAll 2
  • ES2021
    • Promise.any 3
    • String.prototype.replaceAll
  • ES2022
    • Object.hasOwn
    • String.prototype.at
    • Array.prototype.at
    • %TypedArray%.prototype.at 4
  • ES2023
    • Array.prototype.findLast
    • Array.prototype.findLastIndex
    • %TypedArray%.prototype.findLast 4
    • %TypedArray%.prototype.findLastIndex 4
  • ES2024
    • Promise.withResolvers
    • Object.groupBy
    • Map.groupBy
  • ES2025
    • Set.prototype.intersection
    • Set.prototype.union
    • Set.prototype.difference
    • Set.prototype.symmetricDifference
    • Set.prototype.isSubsetOf
    • Set.prototype.isSupersetOf
    • Set.prototype.isDisjointFrom
  • ESNext
    • Promise.try
    • Iterator.range 5
    • Uint8Array.fromBase64 6
    • Uint8Array.fromHex
    • Uint8Array.prototype.toBase64 6
    • Uint8Array.prototype.toHex
    • RegExp.escape

License

This project is licensed under the terms of the MIT license.

Footnotes

  1. Only polyfills for browser environments.

  2. Returns an array as an iterable.

  3. Throws an Error (not an AggregateError) but it has the aggregate errors property.

  4. Polyfills are not yet supported on BigInt typed arrays. 2 3

  5. Options parameter and inclusive setting are not yet implemented.

  6. Options for base64 alphabet and overflow handling are not yet implemented. 2