Standard library
npm install pure-javascriptPure JS is a modular JavaScript library that provides polyfills and shims for ECMAScript features, enabling developers to use modern JavaScript features in environments that do not natively support them. This library focuses on providing a "pure" implementation, avoiding global pollution by exporting features as modules.
ā
Polyfills for ECMAScript features, including:
- Map, Set, WeakMap, WeakSet
- Symbol and well-known symbols (Symbol.asyncDispose, Symbol.dispose)
- Iterators & Async Iterators
- Typed Arrays
- Promises & Observables
- Utility functions (queueMicrotask, structuredClone)
ā Modular Design - Import only what you need
ā Compatibility - Supports both modern and legacy JavaScript environments
map-helpers.js - Helper methods for Map operations.set-helpers.js - Helper methods for Set operations.weak-map-helpers.js - Helper methods for WeakMap operations.weak-set-helpers.js - Helper methods for WeakSet operations.map-iterate.js - Implements iteration logic for Map objects.set-to-string-tag.js - Sets the toStringTag property for objects.define-built-ins.js - Defines multiple built-in properties on a target object.esnext.symbol.async-dispose.js - Defines Symbol.asyncDispose.esnext.symbol.dispose.js - Defines Symbol.dispose.es.regexp.constructor.js - Ensures correct RegExp constructor behavior.web.dom-collections.iterator.js - Adds iterator support for DOM collections.Map, Set, WeakMap, WeakSet).To install Pure JS via npm, run:
``sh`
npm install pure-javascript
Import specific polyfills as needed:
`js
import "pure-javascript/override/modules/esnext.symbol.dispose.js";
const obj = {
[Symbol.dispose]() {
console.log("Disposed!");
},
};
obj[Symbol.dispose]();
``
Contributions are welcome! Feel free to submit issues or pull requests to improve Pure JS.
This project is licensed under the MIT License.