reports/frontend/node_modules/es-abstract-get
jtricerolph 1c411e402e Add settings page for managing forecasting API key and URL via UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-20 14:37:36 +00:00
..
.github Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
test Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
.nycrc Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
CHANGELOG.md Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
eslint.config.mjs Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
Get.d.ts Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
Get.js Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
GetMethod.d.ts Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
GetMethod.js Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
GetV.d.ts Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
GetV.js Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
isPropertyKey.d.ts Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
isPropertyKey.js Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
LICENSE Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
package.json Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
README.md Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00
tsconfig.json Add settings page for managing forecasting API key and URL via UI 2026-07-20 14:37:36 +00:00

es-abstract-get Version Badge

github actions coverage License Downloads

npm badge

The ECMAScript “getting properties” abstract operations — Get, GetV, and GetMethod — plus the isPropertyKey helper they share, with TypeScript types.

Motivation

These operations are also available in es-abstract, but es-abstract ships every abstract operation for every spec edition, so depending on it to use one or two of them pulls in a very large dependency graph. These three operations (and isPropertyKey) historically never differ between spec editions, so theyre split out here: a package that only needs Get, GetV, GetMethod, or isPropertyKey can depend on this instead and get a far smaller install.

Each operation is its own entry point - there is intentionally no main (.) export - so you only pay for what you import.

Example

var Get = require('es-abstract-get/Get');
var GetV = require('es-abstract-get/GetV');
var GetMethod = require('es-abstract-get/GetMethod');
var isPropertyKey = require('es-abstract-get/isPropertyKey');
var assert = require('assert');

// Get(O, P): O must be an Object
assert.equal(Get({ a: 1 }, 'a'), 1);

// GetV(V, P): V may be a primitive (it is coerced to an object for the lookup,
// but the original value is the receiver)
assert.equal(GetV('abc', 'length'), 3);

// GetMethod(O, P): returns undefined for null/undefined, throws if not callable
assert.equal(GetMethod({}, 'toString'), Object.prototype.toString);
assert.equal(GetMethod({ a: null }, 'a'), undefined);

// isPropertyKey(argument): true for strings and symbols
assert.equal(isPropertyKey('a'), true);
assert.equal(isPropertyKey(Symbol.iterator), true);
assert.equal(isPropertyKey(1), false);

Tests

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