28 lines
724 B
JavaScript
28 lines
724 B
JavaScript
"use strict";
|
|
|
|
var typeOf = require("@sinonjs/commons").typeOf;
|
|
|
|
// This helper makes it convenient to create Set instances from a
|
|
// collection, an overcomes the shortcoming that IE11 doesn't support
|
|
// collection arguments
|
|
//
|
|
// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
|
|
function createSet(array) {
|
|
if (arguments.length > 0 && !Array.isArray(array)) {
|
|
throw new TypeError(
|
|
"createSet can be called with either no arguments or an Array"
|
|
);
|
|
}
|
|
|
|
var items = typeOf(array) === "array" ? array : [];
|
|
var set = new Set();
|
|
|
|
items.forEach(function(item) {
|
|
set.add(item);
|
|
});
|
|
|
|
return set;
|
|
}
|
|
|
|
module.exports = createSet;
|