Socket
Socket
Sign inDemoInstall

es-abstract

Package Overview
Dependencies
65
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    es-abstract

ECMAScript spec abstract operations.


Version published
Maintainers
1
Created

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 17 May 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your 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