2.5.22 • Published 3 years ago

extra-iterable.min v2.5.22

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

An iterable is a sequence of values. :package: NPM, :smiley_cat: GitHub, :running: RunKit, :vhs: Asciinema, :moon: Minified, :scroll: Files, :newspaper: JSDoc, :blue_book: Wiki.

Assumption here is that an iterable can only be iterated over once. Methods which require multiple iterations preserve old values in a backup array using many. Many methods accept both compare and map functions, and in some cases using only a map function enables faster comparision (like unique). I borrowed a lot of ideas from Haskell, Elm, Python, Basic, Lodash, and other NPM packages. These are mentioned in references of each method.

Methods as separate packages:

Stability: Experimental.

This is browserified, minified version of extra-iterable. It is exported as global variable iterable. CDN: unpkg, jsDelivr.

const iterable = require("extra-iterable");
// import * as iterable from "extra-iterable";
// import * as iterable from "https://unpkg.com/extra-iterable@2.5.10/index.mjs"; (deno)

var x = [2, 4, 6, 8];
iterable.get(x, 1);
// 4

var x = [1, 2, 3, 4];
[...iterable.swap(x, 0, 1)];
// [ 2, 1, 3, 4 ]

var x = [1, 2, 3];
[...iterable.cycle(x, 0, 4)];
// [1, 2, 3, 1]

var x = [1, 2, 3, 4];
iterable.reduce(x, (acc, v) => acc+v);
// 10

Index

MethodAction
isChecks if value is iterable.
getGets value at index.
setSets value at index.
swapExchanges two values.
indexGets zero-based index.
indexRangeGets index range of part of iterable.
isEmptyChecks is iterable is empty.
sizeCounts the number of values.
entriesLists all index-value pairs.
iteratorGives iterator for iterable.
manyConverts a once iterable to many.
fromConverts iterator to iterable.
takeKeeps first n values only.
dropDiscards first n values only.
headGets first value.
leftGets values from left.
concatAppends values from iterables.
pushAdds values to the end.
copyCopies part of iterable to another.
fillFills with given value.
sliceGets part of an iterable.
spliceRemoves or replaces existing values.
chunkBreaks iterable into chunks of given size.
cycleGives values that cycle through an iterable.
repeatRepeats an iterable given times.
reverseReverses the values.
rotateRotates values in iterable.
interleaveMerges values from iterables.
mergeMerges values from sorted iterables.
flatFlattens nested iterable to given depth.
minFinds smallest entry.
maxFinds largest entry.
rangeFinds smallest and largest entries.
countCounts values which satisfy a test.
partitionSegregates values by test result.
cutBreaks iterable when test passes.
splitBreaks iterable considering test as separator.
groupKeeps similar values together and in order.
joinJoins values together.
mapUpdates values based on map function.
filterKeeps the values which pass a test.
reduceReduces values to a single value.
accumulateProduces accumulating values.
cartesianProductLists cartesian product of iterables.
zipCombines values from iterables.
uniqueRemoves duplicate values.
unionGives values present in any iterable.
intersectionGives values present in both iterables.
differenceGives values not present in another iterable.
symmetricDifferenceGives values not present in both iterables.
isUniqueChecks if there are no duplicate values.
isDisjointChecks if iterables have no value in common.
hasValueChecks if iterable has a value.
hasPrefixChecks if iterable starts with a prefix.
hasSuffixChecks if iterable ends with a suffix.
hasInfixChecks if iterable contains an infix.
hasSubsequenceChecks if iterable has a subsequence.
isEqualChecks if two iterables are equal.
compareCompares two iterables.
searchFinds index of first value passing a test.
scanWhileScans from left, while a test passes.
findFinds first value passing a test.
forEachCalls a function for each value.
someChecks if any value satisfies a test.
everyChecks if all values satisfy a test.

npm.io

2.5.22

3 years ago

2.5.18

3 years ago

2.5.17

3 years ago

2.5.21

3 years ago

2.5.20

3 years ago

2.5.14

3 years ago

2.5.13

4 years ago

2.5.12

4 years ago

2.5.6

4 years ago

2.5.8

4 years ago

2.5.2

4 years ago

2.5.4

4 years ago

2.5.3

4 years ago

2.5.1

4 years ago

2.4.50

4 years ago

2.4.46

4 years ago

2.4.49

4 years ago

2.4.42

4 years ago

2.4.41

4 years ago

2.4.40

4 years ago

2.4.36

4 years ago

2.4.38

4 years ago

2.4.35

4 years ago

2.4.34

4 years ago

2.4.32

4 years ago

2.4.30

4 years ago

2.4.29

4 years ago

2.4.28

4 years ago

2.4.26

4 years ago

2.4.25

4 years ago

2.4.23

4 years ago

2.4.19

4 years ago

2.4.21

4 years ago

2.4.17

4 years ago

2.4.14

4 years ago

2.4.16

4 years ago

2.4.13

4 years ago

2.4.12

4 years ago

2.4.11

4 years ago

2.4.9

4 years ago

2.4.6

4 years ago

2.4.8

4 years ago

2.4.5

4 years ago

2.4.4

4 years ago

2.4.3

4 years ago

2.4.2

4 years ago

2.4.1

4 years ago

2.4.0

4 years ago

2.3.43

4 years ago

2.3.42

4 years ago

2.3.39

4 years ago

2.3.38

4 years ago

2.3.37

4 years ago

2.3.36

4 years ago

2.3.35

4 years ago

2.3.34

4 years ago

2.3.33

4 years ago

2.3.32

4 years ago

2.3.29

4 years ago

2.3.28

4 years ago

2.3.26

4 years ago

2.3.24

4 years ago

2.3.23

4 years ago

2.3.22

4 years ago

2.3.20

4 years ago

2.3.18

4 years ago

2.3.17

4 years ago

2.3.16

4 years ago

2.3.13

4 years ago

2.3.0

4 years ago

2.3.3

4 years ago

2.3.6

4 years ago

2.3.9

4 years ago

2.3.12

4 years ago

2.3.10

4 years ago

2.2.19

4 years ago

2.2.28

4 years ago

2.2.29

4 years ago

2.2.25

4 years ago

2.2.30

4 years ago

2.2.17

4 years ago

2.2.15

4 years ago

2.2.13

4 years ago

2.2.14

4 years ago

2.2.10

4 years ago

2.2.8

4 years ago

2.2.5

4 years ago

2.2.4

4 years ago

2.2.3

4 years ago

2.2.1

4 years ago

2.2.0

4 years ago

2.1.72

4 years ago

2.1.73

4 years ago

2.1.71

4 years ago

2.1.68

4 years ago

2.1.65

4 years ago

2.1.63

4 years ago

2.1.58

4 years ago

2.1.56

4 years ago

2.1.55

4 years ago

2.1.52

4 years ago

2.1.51

4 years ago

2.1.61

4 years ago

2.1.62

4 years ago

2.1.49

4 years ago

2.1.46

4 years ago

2.1.44

4 years ago

2.1.50

4 years ago

2.1.43

4 years ago

2.1.42

4 years ago

2.1.38

4 years ago

2.1.39

4 years ago

2.1.26

4 years ago

2.1.25

4 years ago

2.1.17

4 years ago

2.1.16

4 years ago

2.1.9

4 years ago

2.1.14

4 years ago

2.1.15

4 years ago

2.1.12

4 years ago

2.1.13

4 years ago

2.1.10

4 years ago

2.1.11

4 years ago

2.0.48

4 years ago

2.0.49

4 years ago

2.0.47

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.3

4 years ago

2.1.5

4 years ago

2.1.8

4 years ago

2.1.7

4 years ago

2.0.50

4 years ago

2.1.0

4 years ago

2.0.46

4 years ago

2.0.44

4 years ago

2.0.45

4 years ago

2.0.42

4 years ago

2.0.43

4 years ago

2.0.40

4 years ago

2.0.38

4 years ago

2.0.39

4 years ago

2.0.37

4 years ago

2.0.36

4 years ago

2.0.35

4 years ago

2.0.34

4 years ago

2.0.33

4 years ago

2.0.32

4 years ago

2.0.31

4 years ago

2.0.30

4 years ago

2.0.26

4 years ago

2.0.27

4 years ago

2.0.24

4 years ago

2.0.22

4 years ago

2.0.21

4 years ago

2.0.19

4 years ago

2.0.17

4 years ago

2.0.16

4 years ago

2.0.15

4 years ago

2.0.14

4 years ago

2.0.12

4 years ago

2.0.11

4 years ago

2.0.10

4 years ago

2.0.9

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.7

5 years ago