mirror of
https://codeberg.org/keyoxide/doipjs.git
synced 2024-12-23 15:09:28 -07:00
34 lines
938 B
JavaScript
34 lines
938 B
JavaScript
"use strict";
|
|
|
|
var typeOf = require("@sinonjs/commons").typeOf;
|
|
var forEach = require("@sinonjs/commons").prototypes.array.forEach;
|
|
|
|
/**
|
|
* This helper makes it convenient to create Set instances from a
|
|
* collection, an overcomes the shortcoming that IE11 doesn't support
|
|
* collection arguments
|
|
*
|
|
* @private
|
|
* @param {Array} array An array to create a set from
|
|
* @returns {Set} A set (unique) containing the members from array
|
|
*
|
|
* @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();
|
|
|
|
forEach(items, function(item) {
|
|
set.add(item);
|
|
});
|
|
|
|
return set;
|
|
}
|
|
|
|
module.exports = createSet;
|