This repository has been archived on 2026-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
todo/client/node_modules/core-js-pure/internals/to-set-like.js

21 lines
570 B
JavaScript
Raw Permalink Normal View History

2025-06-13 06:04:40 +00:00
'use strict';
var getBuiltIn = require('../internals/get-built-in');
var isCallable = require('../internals/is-callable');
var isIterable = require('../internals/is-iterable');
var isObject = require('../internals/is-object');
var Set = getBuiltIn('Set');
var isSetLike = function (it) {
return isObject(it)
&& typeof it.size == 'number'
&& isCallable(it.has)
&& isCallable(it.keys);
};
// fallback old -> new set methods proposal arguments
module.exports = function (it) {
if (isSetLike(it)) return it;
return isIterable(it) ? new Set(it) : it;
};