You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
539 B
15 lines
539 B
'use strict';
|
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
var iterateSimple = require('../internals/iterate-simple');
|
|
var SetHelpers = require('../internals/set-helpers');
|
|
|
|
var Set = SetHelpers.Set;
|
|
var SetPrototype = SetHelpers.proto;
|
|
var forEach = uncurryThis(SetPrototype.forEach);
|
|
var keys = uncurryThis(SetPrototype.keys);
|
|
var next = keys(new Set()).next;
|
|
|
|
module.exports = function (set, fn, interruptible) {
|
|
return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);
|
|
};
|