Skip to content
Rejected ESNext Proposal: Set#toJSON
JavaScript
Branch: master
Clone or download
Latest commit 543e0f2 Jan 13, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows
test
.eslintrc
.gitignore
.npmrc
.travis.yml
CHANGELOG.md
LICENSE
README.md
auto.js
implementation.js
index.js
package.json
polyfill.js
requireSet.js
shim.js

README.md

set-tojson Version Badge

Build Status dependency status dev dependency status License Downloads

npm badge

Rejected ESNext Proposal: Set#toJSON https://github.com/DavidBruant/Map-Set.prototype.toJSON

This polyfill is spec-compliant (based on the spec so far). It will work in every engine in which Set exists natively, or where it is polyfilled with the (es6-shim)es6-shim-url

Example

var setToJSON = require('set-tojson');
var assert = require('assert');
var items = ['a', 'b', 'c'];
var entries = [[1, 2], [3, 4]];

assert.deepEqual(setToJSON(new Set()), []);
assert.deepEqual(setToJSON(new Set(items)), items);
assert.deepEqual(setToJSON(new Map()), []);
assert.deepEqual(setToJSON(new Map(entries)), entries);
assert.deepEqual(setToJSON(''), []);
assert.deepEqual(setToJSON('abc'), ['a', 'b', 'c']);
assert.deepEqual(setToJSON([]), []);
assert.deepEqual(setToJSON(items), items);
assert.deepEqual(setToJSON(entries), entries);

setToJSON.shim();
assert.deepEqual(new Set(items).toJSON(), items);
assert.deepEqual(new Set().toJSON(), []);

Tests

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

You can’t perform that action at this time.