New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

iteragain

Package Overview
Dependencies
Maintainers
1
Versions
113
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

iteragain - npm Package Compare versions

Comparing version 0.0.6 to 0.1.0

flatten.d.ts

1

concat.d.ts

@@ -7,1 +7,2 @@ import { IteratorOrIterable } from './types';

export declare function concat(...args: IteratorOrIterable<any>[]): ExtendedIterator<any>;
export default concat;

7

concat.js

@@ -8,5 +8,5 @@ "use strict";

let next;
for (let arg of args) {
arg = (0, toIterator_1.default)(arg);
while (!(next = arg.next()).done)
for (const arg of args) {
const iterator = (0, toIterator_1.default)(arg);
while (!(next = iterator.next()).done)
yield next.value;

@@ -19,1 +19,2 @@ }

exports.concat = concat;
exports.default = concat;

@@ -6,6 +6,5 @@ "use strict";

function enumerate(arg) {
return (0, iter_1.default)(arg)
.map(((count = 0) => v => [count++, v])()); // prettier-ignore
return (0, iter_1.default)(arg).enumerate();
}
exports.enumerate = enumerate;
exports.default = enumerate;

@@ -1,2 +0,2 @@

import { IteratorOrIterable } from './types';
import { FlattenDeep, FlattenDepth1, IteratorOrIterable, FlattenDepth2, FlattenDepth3, FlattenDepth4, FlattenDepth5 } from './types';
export declare class ExtendedIterator<T> {

@@ -37,2 +37,13 @@ protected readonly iterator: Iterator<T>;

slice(start?: number, end?: number): ExtendedIterator<unknown>;
/**
* Flatten this iterator.
* @param depth The number of levels to flatten (default: Infinity, i.e. deeply).
*/
flatten(depth: 1): ExtendedIterator<FlattenDepth1<T>>;
flatten(depth: 2): ExtendedIterator<FlattenDepth2<T>>;
flatten(depth: 3): ExtendedIterator<FlattenDepth3<T>>;
flatten(depth: 4): ExtendedIterator<FlattenDepth4<T>>;
flatten(depth: 5): ExtendedIterator<FlattenDepth5<T>>;
flatten(): ExtendedIterator<FlattenDeep<T>>;
flatten(depth: number): ExtendedIterator<any>;
/** Attaches the index to each value as a pair like: `[0, value], [1, value]`, etc. */

@@ -45,2 +56,3 @@ enumerate(): ExtendedIterator<[number, T]>;

take(n: number): ExtendedIterator<unknown>;
/** Iterates and collects all values into an Array. */
toArray(): T[];

@@ -47,0 +59,0 @@ toSet(): Set<T>;

@@ -5,2 +5,3 @@ "use strict";

const concat_1 = require("./concat");
const flatten_1 = require("./flatten");
class ExtendedIterator {

@@ -56,3 +57,3 @@ constructor(iterator) {

concat(...args) {
return new ExtendedIterator((0, concat_1.concat)(this, ...args));
return (0, concat_1.default)(this, ...args);
}

@@ -78,5 +79,8 @@ /**

return { done: true, value: undefined };
}
},
});
}
flatten(depth = Infinity) {
return (0, flatten_1.default)(this, depth);
}
/** Attaches the index to each value as a pair like: `[0, value], [1, value]`, etc. */

@@ -93,2 +97,3 @@ enumerate() {

}
/** Iterates and collects all values into an Array. */
toArray() {

@@ -95,0 +100,0 @@ const result = [];

@@ -1,4 +0,5 @@

import { concat } from './concat';
import concat from './concat';
import enumerate from './enumerate';
import ExtendedIterator from './ExtendedIterator';
import flatten from './flatten';
import isIterable from './isIterable';

@@ -9,5 +10,5 @@ import isIterator from './isIterator';

import toIterator from './toIterator';
import { zip } from './zip';
import { zipLongest } from './zipLongest';
export { concat, enumerate, ExtendedIterator, isIterable, isIterator, iter, range, toIterator, zip, zipLongest };
import zip from './zip';
import zipLongest from './zipLongest';
export { concat, enumerate, ExtendedIterator, flatten, isIterable, isIterator, iter, range, toIterator, zip, zipLongest, };
declare const _default: {

@@ -17,2 +18,3 @@ concat: typeof concat;

ExtendedIterator: typeof ExtendedIterator;
flatten: typeof flatten;
isIterable: typeof isIterable;

@@ -19,0 +21,0 @@ isIterator: typeof isIterator;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.zipLongest = exports.zip = exports.toIterator = exports.range = exports.iter = exports.isIterator = exports.isIterable = exports.ExtendedIterator = exports.enumerate = exports.concat = void 0;
exports.zipLongest = exports.zip = exports.toIterator = exports.range = exports.iter = exports.isIterator = exports.isIterable = exports.flatten = exports.ExtendedIterator = exports.enumerate = exports.concat = void 0;
const concat_1 = require("./concat");
Object.defineProperty(exports, "concat", { enumerable: true, get: function () { return concat_1.concat; } });
exports.concat = concat_1.default;
const enumerate_1 = require("./enumerate");

@@ -10,2 +10,4 @@ exports.enumerate = enumerate_1.default;

exports.ExtendedIterator = ExtendedIterator_1.default;
const flatten_1 = require("./flatten");
exports.flatten = flatten_1.default;
const isIterable_1 = require("./isIterable");

@@ -22,5 +24,17 @@ exports.isIterable = isIterable_1.default;

const zip_1 = require("./zip");
Object.defineProperty(exports, "zip", { enumerable: true, get: function () { return zip_1.zip; } });
exports.zip = zip_1.default;
const zipLongest_1 = require("./zipLongest");
Object.defineProperty(exports, "zipLongest", { enumerable: true, get: function () { return zipLongest_1.zipLongest; } });
exports.default = { concat: concat_1.concat, enumerate: enumerate_1.default, ExtendedIterator: ExtendedIterator_1.default, isIterable: isIterable_1.default, isIterator: isIterator_1.default, iter: iter_1.default, range: range_1.default, toIterator: toIterator_1.default, zip: zip_1.zip, zipLongest: zipLongest_1.zipLongest };
exports.zipLongest = zipLongest_1.default;
exports.default = {
concat: concat_1.default,
enumerate: enumerate_1.default,
ExtendedIterator: ExtendedIterator_1.default,
flatten: flatten_1.default,
isIterable: isIterable_1.default,
isIterator: isIterator_1.default,
iter: iter_1.default,
range: range_1.default,
toIterator: toIterator_1.default,
zip: zip_1.default,
zipLongest: zipLongest_1.default,
};

@@ -1,3 +0,3 @@

/** Returns true if `arg` implements the ES6 `Symbol.iterator`, i.e. it's able to be passed to a `for of` loop. */
/** Returns true if `arg` implements the `Symbol.iterator`, i.e. it's able to be passed to a `for of` loop. */
export declare function isIterable(arg: any): arg is Iterable<any>;
export default isIterable;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isIterable = void 0;
/** Returns true if `arg` implements the ES6 `Symbol.iterator`, i.e. it's able to be passed to a `for of` loop. */
/** Returns true if `arg` implements the `Symbol.iterator`, i.e. it's able to be passed to a `for of` loop. */
function isIterable(arg) {

@@ -6,0 +6,0 @@ return typeof (arg === null || arg === void 0 ? void 0 : arg[Symbol.iterator]) === 'function';

@@ -1,6 +0,3 @@

/**
* Returns true if `arg` implements the ES6 "Iterator"/"Generator" interface, i.e. it has a `next` method that
* returns `{ done: boolean, value: any }`.
*/
/** Returns true if `arg` implements the "Iterator" interface, i.e. it has a `next` method. */
export declare function isIterator(arg: any): arg is Iterator<any>;
export default isIterator;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isIterator = void 0;
/**
* Returns true if `arg` implements the ES6 "Iterator"/"Generator" interface, i.e. it has a `next` method that
* returns `{ done: boolean, value: any }`.
*/
/** Returns true if `arg` implements the "Iterator" interface, i.e. it has a `next` method. */
function isIterator(arg) {

@@ -9,0 +6,0 @@ return typeof (arg === null || arg === void 0 ? void 0 : arg.next) === 'function';

{
"name": "iteragain",
"version": "0.0.6",
"version": "0.1.0",
"description": "Javascript ES6 Iterable/Iterator utilities.",

@@ -5,0 +5,0 @@ "main": "index.js",

export declare type IteratorOrIterable<T> = Iterator<T> | Iterable<T>;
export declare type FlattenDeep<T> = T extends IteratorOrIterable<infer V> ? V extends IteratorOrIterable<infer U> ? U : V : T;
export declare type FlattenDepth1<T> = T extends IteratorOrIterable<infer V> ? V : T;
export declare type FlattenDepth2<T> = T extends IteratorOrIterable<infer V> ? FlattenDepth1<V> : T;
export declare type FlattenDepth3<T> = T extends IteratorOrIterable<infer V> ? FlattenDepth2<V> : T;
export declare type FlattenDepth4<T> = T extends IteratorOrIterable<infer V> ? FlattenDepth3<V> : T;
export declare type FlattenDepth5<T> = T extends IteratorOrIterable<infer V> ? FlattenDepth4<V> : T;

@@ -7,1 +7,2 @@ import ExtendedIterator from './ExtendedIterator';

export declare function zip(...args: IteratorOrIterable<any>[]): ExtendedIterator<any[]>;
export default zip;

@@ -23,1 +23,2 @@ "use strict";

exports.zip = zip;
exports.default = zip;

@@ -9,1 +9,2 @@ import ExtendedIterator from './ExtendedIterator';

export declare function zipLongest(...args: IteratorOrIterable<any>[]): ExtendedIterator<any[]>;
export default zipLongest;

@@ -25,1 +25,2 @@ "use strict";

exports.zipLongest = zipLongest;
exports.default = zipLongest;
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