Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

set.prototype.intersection

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

set.prototype.intersection - npm Package Compare versions

Comparing version 1.1.3 to 1.1.4

aos/SetDataSize.js

10

aos/GetSetRecord.js

@@ -6,7 +6,7 @@ 'use strict';

var Get = require('es-abstract/2023/Get');
var IsCallable = require('es-abstract/2023/IsCallable');
var ToIntegerOrInfinity = require('es-abstract/2023/ToIntegerOrInfinity');
var ToNumber = require('es-abstract/2023/ToNumber');
var Type = require('es-abstract/2023/Type');
var Get = require('es-abstract/2024/Get');
var IsCallable = require('es-abstract/2024/IsCallable');
var ToIntegerOrInfinity = require('es-abstract/2024/ToIntegerOrInfinity');
var ToNumber = require('es-abstract/2024/ToNumber');
var Type = require('es-abstract/2024/Type');

@@ -13,0 +13,0 @@ var isNaN = require('es-abstract/helpers/isNaN');

@@ -5,4 +5,4 @@ 'use strict';

var IsArray = require('es-abstract/2023/IsArray');
var SameValueZero = require('es-abstract/2023/SameValueZero');
var IsArray = require('es-abstract/2024/IsArray');
var SameValueZero = require('es-abstract/2024/SameValueZero');

@@ -9,0 +9,0 @@ var some = require('es-abstract/helpers/some');

@@ -8,2 +8,12 @@ # Changelog

## [v1.1.4](https://github.com/es-shims/Set.prototype.intersection/compare/v1.1.3...v1.1.4) - 2024-03-19
### Commits
- [Refactor] add `SetDataSize` [`714b7a1`](https://github.com/es-shims/Set.prototype.intersection/commit/714b7a1b25b3f403ec1415ba4b3eb1ee5ae6ea64)
- [meta] remove useless ESM [`766bf7a`](https://github.com/es-shims/Set.prototype.intersection/commit/766bf7a7f0a3406f95b2338dcc69d4e584889bad)
- [Deps] update `call-bind`, `es-abstract`, `es-errors`, `is-set` [`72b2a56`](https://github.com/es-shims/Set.prototype.intersection/commit/72b2a567d899e20239889de0a4876e6acbb6e575)
- [actions] remove redundant finisher [`ba66d24`](https://github.com/es-shims/Set.prototype.intersection/commit/ba66d249c62aa8797ec28e3e69d85a067f787bce)
- [Dev Deps] update `tape` [`4bc40ee`](https://github.com/es-shims/Set.prototype.intersection/commit/4bc40eebcf57ae9342f0095d7e86b397a52ce7d0)
## [v1.1.3](https://github.com/es-shims/Set.prototype.intersection/compare/v1.1.2...v1.1.3) - 2024-02-04

@@ -10,0 +20,0 @@

'use strict';
// Note: the commented out code is because there is no performant way in userland to do the optimization in step 7.
// Note: the commented out code is because there is no performant way in userland to do the optimization in step 6.

@@ -9,9 +9,10 @@ var $TypeError = require('es-errors/type');

var Call = require('es-abstract/2023/Call');
var GetIteratorFromMethod = require('es-abstract/2023/GetIteratorFromMethod');
var Call = require('es-abstract/2024/Call');
var GetIteratorFromMethod = require('es-abstract/2024/GetIteratorFromMethod');
var GetSetRecord = require('./aos/GetSetRecord');
var IteratorStep = require('es-abstract/2023/IteratorStep');
var IteratorValue = require('es-abstract/2023/IteratorValue');
var IteratorStep = require('es-abstract/2024/IteratorStep');
var IteratorValue = require('es-abstract/2024/IteratorValue');
var SetDataHas = require('./aos/SetDataHas');
var ToBoolean = require('es-abstract/2023/ToBoolean');
var SetDataSize = require('./aos/SetDataSize');
var ToBoolean = require('es-abstract/2024/ToBoolean');

@@ -27,3 +28,2 @@ var forEach = require('es-abstract/helpers/forEach');

var $setAdd = tools.add;
var $setSize = tools.size;

@@ -45,14 +45,13 @@ var $push = callBound('Array.prototype.push');

var thisSize = $setSize(O); // step 5
if (thisSize <= otherRec['[[Size]]']) { // step 6
var index = 0; // step 6.a
var thisSize = SetDataSize(O); // step 5.a
if (thisSize <= otherRec['[[Size]]']) { // step 5
var index = 0; // step 5.b
$setForEach(O, function (e) {
if (index < thisSize) { // step 6.b
index += 1; // step 6.b.ii
var inOther = ToBoolean(Call(otherRec['[[Has]]'], otherRec['[[Set]]'], [e])); // step 6.b.iii.1
if (inOther) { // step 6.b.iii.2
var alreadyInResult = SetDataHas(resultSetData, e); // step 6.b.iii.2.b
if (!alreadyInResult) { // step 6.b.iii.2.c
$push(resultSetData, e); // step 6.b.iii.c.i
if (index < thisSize) { // step 5.c
index += 1; // step 5.c.ii
var inOther = ToBoolean(Call(otherRec['[[Has]]'], otherRec['[[Set]]'], [e])); // step 5.c.iii.1
if (inOther) { // step 6.c.iii.2
var alreadyInResult = SetDataHas(resultSetData, e); // step 5.c.iii.2.b
if (!alreadyInResult) { // step 5.c.iii.2.c
$push(resultSetData, e); // step 5.c.iii.c.i
thisSize += 1;

@@ -63,17 +62,17 @@ }

});
} else { // step 7
var keysIter = GetIteratorFromMethod(otherRec['[[Set]]'], otherRec['[[Keys]]']); // step 7.a
var next = true; // step 7.b
while (next) { // step 7.c
next = IteratorStep(keysIter); // step 7.c.i
if (next) { // step 7.c.ii
var nextValue = IteratorValue(next); // step 7.c.ii.1
} else { // step 6
var keysIter = GetIteratorFromMethod(otherRec['[[Set]]'], otherRec['[[Keys]]']); // step 6.a
var next = true; // step 6.b
while (next) { // step 6.c
next = IteratorStep(keysIter); // step 6.c.i
if (next) { // step 6.c.ii
var nextValue = IteratorValue(next); // step 6.c.ii.1
if (nextValue === 0) { // step 7.c.ii.2
if (nextValue === 0) { // step 6.c.ii.2
nextValue = +0;
}
var alreadyInResult = SetDataHas(resultSetData, nextValue); // step 7.c.ii.4
var inThis = $setHas(O, nextValue); // step 7.c.ii.5
if (!alreadyInResult && inThis) { // step 7.c.ii.6
$push(resultSetData, nextValue); // step 7.c.ii.6.a
var alreadyInResult = SetDataHas(resultSetData, nextValue); // step 6.c.ii.4
var inThis = $setHas(O, nextValue); // step 6.c.ii.5
if (!alreadyInResult && inThis) { // step 6.c.ii.6
$push(resultSetData, nextValue); // step 6.c.ii.6.a
}

@@ -84,6 +83,6 @@ }

// var result = OrdinaryObjectCreate(%Set.prototype%, « [[SetData]] »); // step 8
// var result = OrdinaryObjectCreate(%Set.prototype%, « [[SetData]] »); // step 7
var result = new $Set();
// result.[[SetData]] = resultSetData; // step 9
// result.[[SetData]] = resultSetData; // step 8
forEach(resultSetData, function (e) {

@@ -93,3 +92,3 @@ $setAdd(result, e);

return result; // step 10
return result; // step 9
};
{
"name": "set.prototype.intersection",
"version": "1.1.3",
"version": "1.1.4",
"description": "An ESnext spec-compliant `Set.prototype.intersection` shim/polyfill/replacement that works as far down as ES3",
"main": "index.js",
"exports": {
".": [
{
"import": "./index.mjs",
"require": "./index.js",
"default": "./index.js"
},
"./index.js"
],
".": "./index.js",
"./auto": "./auto.js",

@@ -31,4 +24,3 @@ "./polyfill": "./polyfill.js",

"postlint": "es-shim-api --bound",
"tests-esm": "nyc node test/index.mjs",
"test": "npm run tests-only && npm run tests-esm",
"test": "npm run tests-only",
"posttest": "aud --production",

@@ -63,8 +55,8 @@ "version": "auto-changelog && git add CHANGELOG.md",

"dependencies": {
"call-bind": "^1.0.5",
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
"es-abstract": "^1.22.3",
"es-errors": "^1.0.0",
"es-abstract": "^1.23.2",
"es-errors": "^1.3.0",
"es-set": "^1.1.1",
"is-set": "^2.0.2",
"is-set": "^2.0.3",
"stop-iteration-iterator": "^1.0.0"

@@ -92,3 +84,3 @@ },

"safe-publish-latest": "^2.0.0",
"tape": "^5.7.4"
"tape": "^5.7.5"
},

@@ -95,0 +87,0 @@ "testling": {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc