string.prototype.iswellformed
v1.0.2
Published
An ESnext spec-compliant `String.prototype.isWellFormed` shim/polyfill/replacement that works as far down as ES3.
Downloads
128
Maintainers
Readme
string.prototype.iswellformed
An ESnext spec-compliant String.prototype.isWellFormed
shim/polyfill/replacement that works as far down as ES3.
This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the expected ES2024 spec.
Because String.prototype.isWellFormed
depends on a receiver (the this
value), the main export takes the string to operate on as the first argument.
Getting started
npm install --save string.prototype.iswellformed
Usage/Examples
var isWellFormed = require('string.prototype.iswellformed');
var assert = require('assert');
var leadingPoo = '\uD83D';
var trailingPoo = '\uDCA9';
var wholePoo = leadingPoo + trailingPoo;
assert.ok(isWellFormed(wholePoo));
assert.notOk(isWellFormed(leadingPoo));
assert.notOk(isWellFormed(trailingPoo));
var isWellFormed = require('string.prototype.iswellformed');
var assert = require('assert');
/* when String#isWellFormed is not present */
delete String.prototype.isWellFormed;
var shimmed = isWellFormed.shim();
assert.equal(shimmed, isWellFormed.getPolyfill());
assert.deepEqual(wholePoo.isWellFormed(), isWellFormed(wholePoo));
var isWellFormed = require('string.prototype.iswellformed');
var assert = require('assert');
/* when String#at is present */
var shimmed = isWellFormed.shim();
assert.equal(shimmed, String.prototype.isWellFormed);
assert.deepEqual(wholePoo.isWellFormed(), isWellFormed(wholePoo));
Tests
Simply clone the repo, npm install
, and run npm test