Socket
Socket
Sign inDemoInstall

es-abstract

Package Overview
Dependencies
59
Maintainers
1
Versions
79
Alerts
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

es-abstract

ECMAScript spec abstract operations.

    1.22.5latest
    GitHub
    npm

Version published
Maintainers
1
Weekly downloads
38,946,765
increased by5.14%

Weekly downloads

Package description

What is es-abstract?

The es-abstract npm package provides utility functions for ECMAScript language abstract operations. These operations are the fundamental building blocks of the ECMAScript specification, which JavaScript and other related languages are based on. The package includes methods for type conversion, manipulation of objects, and working with language semantics as defined in various ECMAScript editions.

What are es-abstract's main functionalities?

Type Conversion

Converts a value to a number as per ECMAScript abstract operation ToNumber.

const ES = require('es-abstract');
const value = '123';
const number = ES.ToNumber(value);

Object Manipulation

Gets an array of the own enumerable property names of an object.

const ES = require('es-abstract');
const obj = { a: 1 };
const keys = ES.EnumerableOwnNames(obj);

Working with Language Semantics

Calls a given function with a specific this value and arguments list.

const ES = require('es-abstract');
const result = ES.Call(Function.prototype.toString, () => {});

Other packages similar to es-abstract

Readme

Source

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.

Keywords

FAQs

Last updated on 28 Feb 2024

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc