tree: 3671ecaec4ac390eb9121e878eb8a8a2e1e78dab [path history] [tgz]
  1. 2015/
  2. 2016/
  3. 2017/
  4. 2018/
  5. 2019/
  6. 2020/
  7. 2021/
  8. 5/
  9. helpers/
  10. operations/
  11. .editorconfig
  12. .eslintignore
  13. .eslintrc
  14. .nycrc
  15. .travis.yml
  16. CHANGELOG.md
  17. es2015.js
  18. es2016.js
  19. es2017.js
  20. es2018.js
  21. es2019.js
  22. es2020.js
  23. es2021.js
  24. es5.js
  25. es6.js
  26. es7.js
  27. GetIntrinsic.js
  28. index.js
  29. LICENSE
  30. Makefile
  31. package.json
  32. README.md
node_modules/es-abstract/README.md

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.