From a9f5dfc459f4557761fecaf4cd8da6dc65423d32 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Thu, 25 Mar 2021 02:59:15 +0300 Subject: [PATCH] more docs... Signed-off-by: Alex A. Naanou --- README.md | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 856b8c8..0d49c48 100644 --- a/README.md +++ b/README.md @@ -70,15 +70,19 @@ A library of JavaScript type extensions, types and type utilities. - [`generator.Generator`](#generatorgenerator) - [`generator.iter(..)`](#generatoriter) - [Generator instance iteration](#generator-instance-iteration) - - [`.map(..)` / `.filter(..)` / `.reduce(..)` / `.flat()`](#generatormap--generatorfilter--generatorreduce--generatorflat) + - [`.map(..)` / `.filter(..)` / `.reduce(..)`](#generatormap--generatorfilter--generatorreduce) + - [`.slice(..)`](#generatorslice) + - [`.at(..)`](#generatorat) + - [`.flat(..)`](#generatorflat) + - [`.shift()` / `.pop()`](#generatorshift--generatorpop) - [`.promise()`](#generatorpromise) - [`.then(..)` / `.catch(..)` / `.finally(..)`](#generatorthen--generatorcatch--generatorfinally) - [`.toArray()`](#generatortoarray) - [Generator constructor iteration](#generator-constructor-iteration) - - [`.at(..)`](#generatorat) - - [`.shift()` / `.pop()`](#generatorshift--generatorpop) - - [`.slice(..)`](#generatorslice) - - [`.map(..)` / `.filter(..)` / `.reduce(..)` / `.flat()`](#generatormap--generatorfilter--generatorreduce--generatorflat-1) + - [`.at(..)`](#generatorat-1) + - [`.shift()` / `.pop()`](#generatorshift--generatorpop-1) + - [`.slice(..)`](#generatorslice-1) + - [`.map(..)` / `.filter(..)` / `.reduce(..)` / `.flat()`](#generatormap--generatorfilter--generatorreduce--generatorflat) - [`.toArray()`](#generatortoarray-1) - [`.then(..)` / `.catch(..)` / `.finally(..)`](#generatorthen--generatorcatch--generatorfinally-1) - [Containers](#containers) @@ -1086,7 +1090,31 @@ But `Generator()` takes no arguments and thus can not be used as a wrapper. ### Generator instance iteration -#### `.map(..)` / `.filter(..)` / `.reduce(..)` / `.flat()` +This is a set of `Array`-like iterator methods that enable chaining of +generators. + +Chained generators handle items depth-first, i.e. the items are passed as they are yielded down the generator chain. + + +#### `.map(..)` / `.filter(..)` / `.reduce(..)` + +Equivalents to `Array`'s `.map(..)`, `.filter(..)` and `.reduce(..)` but return +generators that yield the handler return values. + + +#### `.slice(..)` + +#### `.at(..)` + +#### `.flat(..)` + +#### `.shift()` / `.pop()` + +Return a generator yielding the first/last sequence item. + +Note that there are no equivalents to `.push(..)` or `.unshift(..)` as they +need break item processing order. + #### `.promise()`