JSPM

symbol.prototype.description

1.0.7
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1007487
  • Score
    100M100P100Q237115F
  • License MIT

Spec-compliant shim for Symbol.prototype.description proposal.

Package Exports

  • symbol.prototype.description
  • symbol.prototype.description/auto
  • symbol.prototype.description/auto.js
  • symbol.prototype.description/index.js
  • symbol.prototype.description/shim
  • symbol.prototype.description/shim.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (symbol.prototype.description) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Symbol.prototype.description Version Badge

github actions coverage License Downloads

npm badge

An ECMAScript spec-compliant Symbol.prototype.description shim. Invoke its "shim" method to shim Symbol.prototype.description if it is unavailable. Note: Symbol#description requires a true ES6 environment, specifically one with native Symbols (eg, node >= v11.15.0)

This package implements the es-shim API interface. It works in an ES6-supported environment and complies with the spec.

Most common usage:

var description = require('symbol.prototype.description');
var assert = require('assert');

assert(description(Symbol('foo')) === 'foo');
assert(description(Symbol()) === undefined);
assert(description(Symbol(undefined)) === undefined);
assert(description(Symbol(null)) === 'null');

if (!('description' in Symbol.prototype)) {
    // note: this should be the empty string, but in many engines,
    // it is impossible to distinguish Symbol() and Symbol('')
    // without globally replacing `Symbol`
    assert(description(Symbol('')) === undefined);

    description.shim();
}

assert(description(Symbol('foo')) === Symbol('foo').description);
assert(description(Symbol()) === Symbol().description);
assert(description(Symbol(undefined)) === Symbol(undefined).description);
assert(description(Symbol(null)) === Symbol(null).description);

assert(Symbol('').description === ''); // this works fine!

Tests

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