Name Last Update
..
2015 Loading commit data...
2016 Loading commit data...
2017 Loading commit data...
2018 Loading commit data...
2019 Loading commit data...
2020 Loading commit data...
2021 Loading commit data...
2022 Loading commit data...
5 Loading commit data...
helpers Loading commit data...
operations Loading commit data...
.editorconfig Loading commit data...
.eslintrc Loading commit data...
.nycrc Loading commit data...
CHANGELOG.md Loading commit data...
GetIntrinsic.js Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
es2015.js Loading commit data...
es2016.js Loading commit data...
es2017.js Loading commit data...
es2018.js Loading commit data...
es2019.js Loading commit data...
es2020.js Loading commit data...
es2021.js Loading commit data...
es2022.js Loading commit data...
es5.js Loading commit data...
es6.js Loading commit data...
es7.js Loading commit data...
index.js Loading commit data...
package.json Loading commit data...

es-abstract Version Badge

dependency status dev dependency status License Downloads

npm badge

ECMAScript spec abstract operations.

Every operation is available by edition/year and by name - for example, es-abstract/2020/Call gives you the Call operation from ES2020, es-abstract/5/Type gives you the Type operation from ES5.

All abstract operations are also available under an es5/es2015/es2016/es2017/es2018/es2019/es2020/es2021 entry point, and as a property on the main export, but using deep imports is highly encouraged for bundle size and performance reasons. Non-deep entry points will be removed in the next semver-major release.

Example

var ES = require('es-abstract');
var assert = require('assert');

assert(ES.isCallable(function () {}));
assert(!ES.isCallable(/a/g));

Tests

Simply clone the repo, npm install, and run npm test

Security

Please email @ljharb or see https://tidelift.com/security if you have a potential security vulnerability to report.