Socket
Socket
Sign inDemoInstall

es-iterator-helpers

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

es-iterator-helpers - npm Package Compare versions

Comparing version 1.0.5 to 1.0.6

5

aos/CreateIteratorFromClosure.js

@@ -15,6 +15,5 @@ 'use strict';

var callBound = require('call-bind/callBound');
var SLOT = require('internal-slot');
var $concat = callBound('Array.prototype.concat');
var safeConcat = require('safe-array-concat');

@@ -38,3 +37,3 @@ var isString = function isString(slot) {

}
var internalSlotsList = $concat(extraSlots, ['[[GeneratorContext]]', '[[GeneratorBrand]]', '[[GeneratorState]]']); // step 3
var internalSlotsList = safeConcat(extraSlots, ['[[GeneratorContext]]', '[[GeneratorBrand]]', '[[GeneratorState]]']); // step 3
var generator = OrdinaryObjectCreate(proto, internalSlotsList); // steps 4, 6

@@ -41,0 +40,0 @@ SLOT.set(generator, '[[GeneratorBrand]]', generatorBrand); // step 5

52

aos/GetIteratorFlattenable.js

@@ -8,11 +8,8 @@ 'use strict';

var Call = require('es-abstract/2022/Call');
// var CreateAsyncFromSyncIterator = require('es-abstract/2022/CreateAsyncFromSyncIterator');
var Get = require('es-abstract/2022/Get');
var GetIterator = require('es-abstract/2022/GetIterator');
var GetIteratorDirect = require('./GetIteratorDirect');
var IsCallable = require('es-abstract/2022/IsCallable');
var Type = require('es-abstract/2022/Type');
var hasSymbols = require('has-symbols/shams')();
module.exports = function GetIteratorFlattenable(obj, hint) {
module.exports = function GetIteratorFlattenable(obj) {
if (Type(obj) !== 'Object') {

@@ -22,43 +19,20 @@ throw new $TypeError('obj must be an Object'); // step 1

var alreadyAsync = false; // step 2
var method = void undefined; // step 2
var method = void undefined; // step 3
// method = Get(obj, Symbol.iterator); // step 5.a
method = function () {
return GetIterator(obj);
};
if (hint === 'async') { // step 4
method = hasSymbols && Symbol.asyncIterator && obj[Symbol.asyncIterator]; // step 4.a
alreadyAsync = true; // step 4.b
}
if (!IsCallable(method)) { // step 5
// method = Get(obj, Symbol.iterator); // step 5.a
method = function () {
return GetIterator(obj);
};
alreadyAsync = false; // step 5.b
}
var iterator;
if (!IsCallable(method)) { // step 6
iterator = obj; // step 6.a
alreadyAsync = true; // step 6.b
} else { // step 7
iterator = Call(method, obj); // step 7.a
if (!IsCallable(method)) { // step 3
iterator = obj; // step 3.a
} else { // step 4
iterator = Call(method, obj); // step 4.a
}
if (Type(iterator) !== 'Object') {
throw new $TypeError('iterator must be an Object'); // step 8
throw new $TypeError('iterator must be an Object'); // step 5
}
var nextMethod = Get(iterator, 'next'); // step 9
if (!IsCallable(nextMethod)) {
throw new $TypeError('nextMethod must be a function'); // step 10
}
var iteratorRecord = { '[[Iterator]]': iterator, '[[NextMethod]]': nextMethod, '[[Done]]': false }; // step 11
if (hint === 'async' && !alreadyAsync) { // step 12
// return CreateAsyncFromSyncIterator(iteratorRecord); // step 12.a
}
return iteratorRecord;
return GetIteratorDirect(iterator); // step 6
};

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

## [v1.0.6](https://github.com/es-shims/iterator-helpers/compare/v1.0.5...v1.0.6) - 2023-04-20
### Commits
- [Refactor] `GetIteratorFlattenable`: remove hint [`781fc7c`](https://github.com/es-shims/iterator-helpers/commit/781fc7c28615aaaef139cbcd9e6ade513419bea1)
- [Refactor] `GetIteratorFlattenable`: use `GetIteratorDirect` [`026118b`](https://github.com/es-shims/iterator-helpers/commit/026118b8c884adaee5ab0eb12de838ef9abdbb6f)
- [Refactor] use `safe-array-concat` [`1d985a4`](https://github.com/es-shims/iterator-helpers/commit/1d985a449be212523f05ba4a359a162931ddf3d3)
## [v1.0.5](https://github.com/es-shims/iterator-helpers/compare/v1.0.4...v1.0.5) - 2023-03-22

@@ -10,0 +18,0 @@

@@ -21,3 +21,3 @@ 'use strict';

var iteratorRecord = GetIteratorFlattenable(O, 'sync'); // step 2
var iteratorRecord = GetIteratorFlattenable(O); // step 2

@@ -24,0 +24,0 @@ var hasInstance = OrdinaryHasInstance($Iterator, iteratorRecord['[[Iterator]]']); // step 3

@@ -61,3 +61,3 @@ 'use strict';

// yield mapped // step 6.b.vi
innerIterator = GetIteratorFlattenable(mapped, 'sync'); // step 6.b.vi
innerIterator = GetIteratorFlattenable(mapped); // step 6.b.vi
} catch (e) {

@@ -64,0 +64,0 @@ closeIfAbrupt(ThrowCompletion(e)); // steps 6.b.v, 6.b.vii

{
"name": "es-iterator-helpers",
"version": "1.0.5",
"version": "1.0.6",
"description": "An ESnext spec-compliant iterator helpers shim/polyfill/replacement that works as far down as ES3.",

@@ -137,3 +137,4 @@ "main": "index.json",

"internal-slot": "^1.0.5",
"iterator.prototype": "^1.1.0"
"iterator.prototype": "^1.1.0",
"safe-array-concat": "^1.0.0"
},

@@ -140,0 +141,0 @@ "devDependencies": {

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