@duplojs/utils 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/array/group.cjs +1 -1
- package/dist/array/group.mjs +2 -2
- package/dist/array/index.cjs +3 -0
- package/dist/array/index.d.ts +1 -0
- package/dist/array/index.mjs +2 -1
- package/dist/array/length.cjs +7 -0
- package/dist/array/length.d.ts +1 -0
- package/dist/array/length.mjs +5 -0
- package/dist/array/reduce.cjs +8 -9
- package/dist/array/reduce.d.ts +6 -8
- package/dist/array/reduce.mjs +8 -10
- package/dist/array/reduceRight.cjs +4 -12
- package/dist/array/reduceRight.d.ts +3 -30
- package/dist/array/reduceRight.mjs +4 -12
- package/dist/array/types/index.d.ts +1 -0
- package/dist/common/and.cjs +17 -0
- package/dist/common/and.mjs +15 -0
- package/dist/common/index.d.ts +4 -0
- package/dist/common/justReturn.cjs +12 -0
- package/dist/common/justReturn.d.ts +3 -0
- package/dist/common/justReturn.mjs +10 -0
- package/dist/common/kind.d.ts +2 -2
- package/dist/common/or.cjs +17 -0
- package/dist/common/or.mjs +15 -0
- package/dist/common/when.d.ts +2 -2
- package/dist/common/whenElse.cjs +17 -0
- package/dist/common/whenElse.d.ts +5 -0
- package/dist/common/whenElse.mjs +15 -0
- package/dist/common/whenNot.d.ts +2 -2
- package/dist/either/bool/create.d.ts +1 -0
- package/dist/either/bool/falsy.d.ts +2 -2
- package/dist/either/bool/truthy.d.ts +2 -2
- package/dist/either/future/create.d.ts +1 -1
- package/dist/either/left/when.d.ts +2 -2
- package/dist/either/nullable/create.d.ts +1 -0
- package/dist/either/nullable/empty.d.ts +2 -2
- package/dist/either/nullable/filled.d.ts +2 -2
- package/dist/either/nullish/create.d.ts +1 -0
- package/dist/either/nullish/empty.d.ts +2 -2
- package/dist/either/nullish/filled.d.ts +2 -2
- package/dist/either/optional/create.d.ts +1 -0
- package/dist/either/optional/empty.d.ts +2 -2
- package/dist/either/optional/filled.d.ts +2 -2
- package/dist/either/right/asyncPipe.cjs +8 -4
- package/dist/either/right/asyncPipe.d.ts +13 -15
- package/dist/either/right/asyncPipe.mjs +8 -4
- package/dist/either/right/pipe.cjs +15 -8
- package/dist/either/right/pipe.d.ts +13 -14
- package/dist/either/right/pipe.mjs +12 -5
- package/dist/either/right/when.d.ts +2 -2
- package/dist/either/whenHasInformation.d.ts +2 -2
- package/dist/generator/asyncReduce.cjs +4 -12
- package/dist/generator/asyncReduce.d.ts +3 -30
- package/dist/generator/asyncReduce.mjs +4 -12
- package/dist/generator/index.cjs +1 -0
- package/dist/generator/index.mjs +1 -1
- package/dist/generator/reduce.cjs +8 -9
- package/dist/generator/reduce.d.ts +8 -10
- package/dist/generator/reduce.mjs +8 -10
- package/dist/index.cjs +8 -0
- package/dist/index.mjs +4 -0
- package/dist/object/discriminate.d.ts +2 -3
- package/dist/object/entry.cjs +7 -0
- package/dist/object/entry.d.ts +2 -0
- package/dist/object/entry.mjs +5 -0
- package/dist/object/index.cjs +2 -0
- package/dist/object/index.d.ts +1 -0
- package/dist/object/index.mjs +1 -0
- package/dist/object/keys.cjs +4 -1
- package/dist/object/keys.d.ts +1 -1
- package/dist/object/keys.mjs +4 -1
- package/dist/pattern/result.d.ts +1 -1
- package/dist/pattern/when.d.ts +2 -2
- package/dist/string/index.cjs +2 -0
- package/dist/string/index.d.ts +1 -0
- package/dist/string/index.mjs +1 -0
- package/dist/string/length.cjs +7 -0
- package/dist/string/length.d.ts +2 -0
- package/dist/string/length.mjs +5 -0
- package/dist/string/types/index.d.ts +1 -0
- package/dist/string/types/stringLength.d.ts +2 -0
- package/package.json +8 -3
|
@@ -2,7 +2,7 @@ import { type EitherRight } from "../right";
|
|
|
2
2
|
import { type EitherLeft } from "../left";
|
|
3
3
|
import { nullish } from "./create";
|
|
4
4
|
import { type Kind } from "../../common/kind";
|
|
5
|
-
import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
|
|
5
|
+
import { type EscapeVoid, type AnyValue, type Unwrap, type BreakGenericLink } from "../../common";
|
|
6
6
|
import { eitherNullishKind } from "./base";
|
|
7
7
|
export declare const eitherNullishFilledKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-nullish-filled", unknown>>;
|
|
8
8
|
type _EitherNullishFilled<GenericValue extends unknown = unknown> = (EitherRight<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishFilledKind.definition>);
|
|
@@ -12,6 +12,6 @@ export declare function nullishFilled<const GenericValue extends unknown>(value:
|
|
|
12
12
|
type Either = EitherRight | EitherLeft;
|
|
13
13
|
export declare function isNullishFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishFilled>;
|
|
14
14
|
type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullish<GenericValue>>;
|
|
15
|
-
export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<GenericInput
|
|
15
|
+
export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullishFilled>;
|
|
16
16
|
export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishFilled>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishFilled>;
|
|
17
17
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type EitherOptionalEmpty } from "./empty";
|
|
2
2
|
import { type EitherOptionalFilled } from "./filled";
|
|
3
3
|
export declare function optional<const GenericValue extends unknown = undefined>(value: GenericValue): GenericValue extends undefined ? EitherOptionalEmpty : EitherOptionalFilled<GenericValue>;
|
|
4
|
+
export type Optional<GenericValue extends unknown> = EitherOptionalFilled<GenericValue> | EitherOptionalEmpty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
|
|
1
|
+
import { type EscapeVoid, type AnyValue, type Unwrap, type BreakGenericLink } from "../../common";
|
|
2
2
|
import { type Kind } from "../../common/kind";
|
|
3
3
|
import { type EitherLeft } from "../left";
|
|
4
4
|
import { type EitherRight } from "../right";
|
|
@@ -12,6 +12,6 @@ type Either = EitherRight | EitherLeft;
|
|
|
12
12
|
export declare function optionalEmpty(): EitherOptionalEmpty;
|
|
13
13
|
export declare function isOptionalEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalEmpty>;
|
|
14
14
|
type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
|
|
15
|
-
export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<GenericInput
|
|
15
|
+
export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalEmpty>;
|
|
16
16
|
export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalEmpty>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalEmpty>;
|
|
17
17
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
|
|
1
|
+
import { type EscapeVoid, type AnyValue, type Unwrap, type BreakGenericLink } from "../../common";
|
|
2
2
|
import { type Kind } from "../../common/kind";
|
|
3
3
|
import { type EitherLeft } from "../left";
|
|
4
4
|
import { type EitherRight } from "../right";
|
|
@@ -12,6 +12,6 @@ type Either = EitherRight | EitherLeft;
|
|
|
12
12
|
export declare function optionalFilled<const GenericValue extends unknown>(value: GenericValue): EitherOptionalFilled<GenericValue>;
|
|
13
13
|
export declare function isOptionalFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalFilled>;
|
|
14
14
|
type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
|
|
15
|
-
export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<GenericInput
|
|
15
|
+
export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalFilled>;
|
|
16
16
|
export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalFilled>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalFilled>;
|
|
17
17
|
export {};
|
|
@@ -13,15 +13,19 @@ function rightAsyncPipe(input, ...pipes) {
|
|
|
13
13
|
return awaitedInput;
|
|
14
14
|
}
|
|
15
15
|
let acc = is$1.isRight(awaitedInput)
|
|
16
|
-
? awaitedInput
|
|
17
|
-
:
|
|
16
|
+
? unwrap.unwrap(awaitedInput)
|
|
17
|
+
: awaitedInput;
|
|
18
18
|
for (const pipe of pipes) {
|
|
19
|
-
acc = await pipe(
|
|
19
|
+
acc = await pipe(is$1.isRight(acc)
|
|
20
|
+
? unwrap.unwrap(acc)
|
|
21
|
+
: acc);
|
|
20
22
|
if (is.isLeft(acc)) {
|
|
21
23
|
return acc;
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
|
-
return acc
|
|
26
|
+
return is$1.isRight(acc)
|
|
27
|
+
? acc
|
|
28
|
+
: success.success(acc);
|
|
25
29
|
})());
|
|
26
30
|
}
|
|
27
31
|
|
|
@@ -3,20 +3,18 @@ import { type EitherLeft } from "../left";
|
|
|
3
3
|
import { type MaybeFutureEither } from "../future/maybeFutureEither";
|
|
4
4
|
import { type Future } from "../future";
|
|
5
5
|
import { type EitherSuccess } from "./success";
|
|
6
|
-
import { type
|
|
6
|
+
import { type AnyValue, type Unwrap } from "../../common";
|
|
7
7
|
type Either = EitherRight | EitherLeft;
|
|
8
|
-
type
|
|
9
|
-
export type
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
13
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
14
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
15
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
16
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
17
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
18
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
19
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends
|
|
20
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither, GenericOutputPipe6 extends EitherOrFutureEither, GenericOutputPipe7 extends EitherOrFutureEither, GenericOutputPipe8 extends EitherOrFutureEither, GenericOutputPipe9 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe5>, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe6>, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe7>, GenericOutputPipe8>, pipe9: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe8>, GenericOutputPipe9>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9, GenericOutputPipe9>, any>>;
|
|
21
|
-
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither, GenericOutputPipe6 extends EitherOrFutureEither, GenericOutputPipe7 extends EitherOrFutureEither, GenericOutputPipe8 extends EitherOrFutureEither, GenericOutputPipe9 extends EitherOrFutureEither, GenericOutputPipe10 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe5>, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe6>, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe7>, GenericOutputPipe8>, pipe9: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe8>, GenericOutputPipe9>, pipe10: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe9>, GenericOutputPipe10>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9 | GenericOutputPipe10, GenericOutputPipe10>, any>>;
|
|
8
|
+
export type EitherRightAsyncPipeFunction<GenericInput extends AnyValue = AnyValue, GenericOutput extends MaybeFutureEither<AnyValue> = MaybeFutureEither<AnyValue>> = (input: Awaited<GenericInput> extends infer InferredInput extends Either ? Unwrap<Exclude<Awaited<InferredInput>, EitherLeft>> : Exclude<Awaited<GenericInput>, Either>) => GenericOutput;
|
|
9
|
+
export type EitherRightAsyncPipeResult<GenericPipeOutputs extends AnyValue, GenericLastPipeOutput extends AnyValue> = Extract<Awaited<GenericPipeOutputs>, EitherLeft> | Exclude<Awaited<GenericLastPipeOutput> extends Either ? Awaited<GenericLastPipeOutput> : EitherSuccess<Awaited<GenericLastPipeOutput>>, EitherLeft>;
|
|
10
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1, GenericOutputPipe1>, any>>;
|
|
11
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2, GenericOutputPipe2>, any>>;
|
|
12
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3, GenericOutputPipe3>, any>>;
|
|
13
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>, GenericOutputPipe4 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<GenericOutputPipe3, GenericOutputPipe4>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4, GenericOutputPipe4>, any>>;
|
|
14
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>, GenericOutputPipe4 extends MaybeFutureEither<AnyValue>, GenericOutputPipe5 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<GenericOutputPipe4, GenericOutputPipe5>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5, GenericOutputPipe5>, any>>;
|
|
15
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>, GenericOutputPipe4 extends MaybeFutureEither<AnyValue>, GenericOutputPipe5 extends MaybeFutureEither<AnyValue>, GenericOutputPipe6 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<GenericOutputPipe5, GenericOutputPipe6>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6, GenericOutputPipe6>, any>>;
|
|
16
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>, GenericOutputPipe4 extends MaybeFutureEither<AnyValue>, GenericOutputPipe5 extends MaybeFutureEither<AnyValue>, GenericOutputPipe6 extends MaybeFutureEither<AnyValue>, GenericOutputPipe7 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<GenericOutputPipe6, GenericOutputPipe7>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7, GenericOutputPipe7>, any>>;
|
|
17
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>, GenericOutputPipe4 extends MaybeFutureEither<AnyValue>, GenericOutputPipe5 extends MaybeFutureEither<AnyValue>, GenericOutputPipe6 extends MaybeFutureEither<AnyValue>, GenericOutputPipe7 extends MaybeFutureEither<AnyValue>, GenericOutputPipe8 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<GenericOutputPipe7, GenericOutputPipe8>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8, GenericOutputPipe8>, any>>;
|
|
18
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>, GenericOutputPipe4 extends MaybeFutureEither<AnyValue>, GenericOutputPipe5 extends MaybeFutureEither<AnyValue>, GenericOutputPipe6 extends MaybeFutureEither<AnyValue>, GenericOutputPipe7 extends MaybeFutureEither<AnyValue>, GenericOutputPipe8 extends MaybeFutureEither<AnyValue>, GenericOutputPipe9 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<GenericOutputPipe7, GenericOutputPipe8>, pipe9: EitherRightAsyncPipeFunction<GenericOutputPipe8, GenericOutputPipe9>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9, GenericOutputPipe9>, any>>;
|
|
19
|
+
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>, GenericOutputPipe4 extends MaybeFutureEither<AnyValue>, GenericOutputPipe5 extends MaybeFutureEither<AnyValue>, GenericOutputPipe6 extends MaybeFutureEither<AnyValue>, GenericOutputPipe7 extends MaybeFutureEither<AnyValue>, GenericOutputPipe8 extends MaybeFutureEither<AnyValue>, GenericOutputPipe9 extends MaybeFutureEither<AnyValue>, GenericOutputPipe10 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<GenericOutputPipe7, GenericOutputPipe8>, pipe9: EitherRightAsyncPipeFunction<GenericOutputPipe8, GenericOutputPipe9>, pipe10: EitherRightAsyncPipeFunction<GenericOutputPipe9, GenericOutputPipe10>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9 | GenericOutputPipe10, GenericOutputPipe10>, any>>;
|
|
22
20
|
export {};
|
|
@@ -11,15 +11,19 @@ function rightAsyncPipe(input, ...pipes) {
|
|
|
11
11
|
return awaitedInput;
|
|
12
12
|
}
|
|
13
13
|
let acc = isRight(awaitedInput)
|
|
14
|
-
? awaitedInput
|
|
15
|
-
:
|
|
14
|
+
? unwrap(awaitedInput)
|
|
15
|
+
: awaitedInput;
|
|
16
16
|
for (const pipe of pipes) {
|
|
17
|
-
acc = await pipe(
|
|
17
|
+
acc = await pipe(isRight(acc)
|
|
18
|
+
? unwrap(acc)
|
|
19
|
+
: acc);
|
|
18
20
|
if (isLeft(acc)) {
|
|
19
21
|
return acc;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
|
-
return acc
|
|
24
|
+
return isRight(acc)
|
|
25
|
+
? acc
|
|
26
|
+
: success(acc);
|
|
23
27
|
})());
|
|
24
28
|
}
|
|
25
29
|
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var unwrap = require('../../common/unwrap.cjs');
|
|
4
|
-
var is
|
|
4
|
+
var is = require('../left/is.cjs');
|
|
5
5
|
var success = require('./success.cjs');
|
|
6
|
-
var is = require('./is.cjs');
|
|
6
|
+
var is$1 = require('./is.cjs');
|
|
7
7
|
|
|
8
8
|
/* eslint-disable @typescript-eslint/max-params */
|
|
9
9
|
function rightPipe(input, ...pipes) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
if (is.isLeft(input)) {
|
|
11
|
+
return input;
|
|
12
|
+
}
|
|
13
|
+
let acc = is$1.isRight(input)
|
|
14
|
+
? unwrap.unwrap(input)
|
|
15
|
+
: input;
|
|
13
16
|
for (const pipe of pipes) {
|
|
14
|
-
acc = pipe(
|
|
15
|
-
|
|
17
|
+
acc = pipe(is$1.isRight(acc)
|
|
18
|
+
? unwrap.unwrap(acc)
|
|
19
|
+
: acc);
|
|
20
|
+
if (is.isLeft(acc)) {
|
|
16
21
|
return acc;
|
|
17
22
|
}
|
|
18
23
|
}
|
|
19
|
-
return acc
|
|
24
|
+
return is$1.isRight(acc)
|
|
25
|
+
? acc
|
|
26
|
+
: success.success(acc);
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
exports.rightPipe = rightPipe;
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { type EitherRight } from "./create";
|
|
2
2
|
import { type EitherLeft } from "../left";
|
|
3
3
|
import { type EitherSuccess } from "./success";
|
|
4
|
-
import { type Unwrap } from "../../common";
|
|
4
|
+
import { type AnyValue, type Unwrap } from "../../common";
|
|
5
5
|
type Either = EitherRight | EitherLeft;
|
|
6
|
-
export type EitherRightPipeFunction<GenericInput extends
|
|
7
|
-
export type EitherRightPipeResult<
|
|
8
|
-
|
|
9
|
-
export declare function rightPipe<
|
|
10
|
-
export declare function rightPipe<
|
|
11
|
-
export declare function rightPipe<
|
|
12
|
-
export declare function rightPipe<
|
|
13
|
-
export declare function rightPipe<
|
|
14
|
-
export declare function rightPipe<
|
|
15
|
-
export declare function rightPipe<
|
|
16
|
-
export declare function rightPipe<
|
|
17
|
-
export declare function rightPipe<
|
|
18
|
-
export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either, GenericOutputPipe5 extends Either, GenericOutputPipe6 extends Either, GenericOutputPipe7 extends Either, GenericOutputPipe8 extends Either, GenericOutputPipe9 extends Either, GenericOutputPipe10 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightPipeFunction<GenericOutputPipe7, GenericOutputPipe8>, pipe9: EitherRightPipeFunction<GenericOutputPipe8, GenericOutputPipe9>, pipe10: EitherRightPipeFunction<GenericOutputPipe9, GenericOutputPipe10>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9 | GenericOutputPipe10, GenericOutputPipe10>, any>;
|
|
6
|
+
export type EitherRightPipeFunction<GenericInput extends AnyValue = AnyValue, GenericOutput extends AnyValue = AnyValue> = (input: GenericInput extends Either ? Unwrap<Exclude<GenericInput, EitherLeft>> : GenericInput) => GenericOutput;
|
|
7
|
+
export type EitherRightPipeResult<GenericPipeOutputs extends AnyValue, GenericLastPipeOutput extends AnyValue> = Extract<GenericPipeOutputs, EitherLeft> | Exclude<GenericLastPipeOutput extends Either ? GenericLastPipeOutput : EitherSuccess<GenericLastPipeOutput>, EitherLeft>;
|
|
8
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1, GenericOutputPipe1>, any>;
|
|
9
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2, GenericOutputPipe2>, any>;
|
|
10
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3, GenericOutputPipe3>, any>;
|
|
11
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue, GenericOutputPipe4 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4, GenericOutputPipe4>, any>;
|
|
12
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue, GenericOutputPipe4 extends AnyValue, GenericOutputPipe5 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5, GenericOutputPipe5>, any>;
|
|
13
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue, GenericOutputPipe4 extends AnyValue, GenericOutputPipe5 extends AnyValue, GenericOutputPipe6 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6, GenericOutputPipe6>, any>;
|
|
14
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue, GenericOutputPipe4 extends AnyValue, GenericOutputPipe5 extends AnyValue, GenericOutputPipe6 extends AnyValue, GenericOutputPipe7 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7, GenericOutputPipe7>, any>;
|
|
15
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue, GenericOutputPipe4 extends AnyValue, GenericOutputPipe5 extends AnyValue, GenericOutputPipe6 extends AnyValue, GenericOutputPipe7 extends AnyValue, GenericOutputPipe8 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightPipeFunction<GenericOutputPipe7, GenericOutputPipe8>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8, GenericOutputPipe8>, any>;
|
|
16
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue, GenericOutputPipe4 extends AnyValue, GenericOutputPipe5 extends AnyValue, GenericOutputPipe6 extends AnyValue, GenericOutputPipe7 extends AnyValue, GenericOutputPipe8 extends AnyValue, GenericOutputPipe9 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightPipeFunction<GenericOutputPipe7, GenericOutputPipe8>, pipe9: EitherRightPipeFunction<GenericOutputPipe8, GenericOutputPipe9>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9, GenericOutputPipe9>, any>;
|
|
17
|
+
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue, GenericOutputPipe4 extends AnyValue, GenericOutputPipe5 extends AnyValue, GenericOutputPipe6 extends AnyValue, GenericOutputPipe7 extends AnyValue, GenericOutputPipe8 extends AnyValue, GenericOutputPipe9 extends AnyValue, GenericOutputPipe10 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightPipeFunction<GenericOutputPipe7, GenericOutputPipe8>, pipe9: EitherRightPipeFunction<GenericOutputPipe8, GenericOutputPipe9>, pipe10: EitherRightPipeFunction<GenericOutputPipe9, GenericOutputPipe10>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9 | GenericOutputPipe10, GenericOutputPipe10>, any>;
|
|
19
18
|
export {};
|
|
@@ -5,16 +5,23 @@ import { isRight } from './is.mjs';
|
|
|
5
5
|
|
|
6
6
|
/* eslint-disable @typescript-eslint/max-params */
|
|
7
7
|
function rightPipe(input, ...pipes) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
if (isLeft(input)) {
|
|
9
|
+
return input;
|
|
10
|
+
}
|
|
11
|
+
let acc = isRight(input)
|
|
12
|
+
? unwrap(input)
|
|
13
|
+
: input;
|
|
11
14
|
for (const pipe of pipes) {
|
|
12
|
-
acc = pipe(
|
|
15
|
+
acc = pipe(isRight(acc)
|
|
16
|
+
? unwrap(acc)
|
|
17
|
+
: acc);
|
|
13
18
|
if (isLeft(acc)) {
|
|
14
19
|
return acc;
|
|
15
20
|
}
|
|
16
21
|
}
|
|
17
|
-
return acc
|
|
22
|
+
return isRight(acc)
|
|
23
|
+
? acc
|
|
24
|
+
: success(acc);
|
|
18
25
|
}
|
|
19
26
|
|
|
20
27
|
export { rightPipe };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
|
|
1
|
+
import { type EscapeVoid, type AnyValue, type Unwrap, type BreakGenericLink } from "../../common";
|
|
2
2
|
import { type EitherRight } from "./create";
|
|
3
|
-
export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput): (input: GenericInput) => Exclude<GenericInput
|
|
3
|
+
export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput): (input: GenericInput) => Exclude<BreakGenericLink<GenericInput>, EitherRight> | GenericOutput;
|
|
4
4
|
export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput): Exclude<GenericInput, EitherRight> | GenericOutput;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type Kind, type WrappedValue, type AnyValue, type Unwrap } from "../common";
|
|
1
|
+
import { type Kind, type WrappedValue, type AnyValue, type Unwrap, type BreakGenericLink } from "../common";
|
|
2
2
|
import { type EitherRight } from "./right";
|
|
3
3
|
import { type EitherLeft } from "./left";
|
|
4
4
|
import { eitherInformationKind } from "./base";
|
|
5
5
|
type Either = EitherRight | EitherLeft;
|
|
6
|
-
export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<GenericInput
|
|
6
|
+
export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
|
|
7
7
|
export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(input: GenericInput, information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): GenericOutput | Exclude<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
|
|
8
8
|
export {};
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var kind = require('../common/kind.cjs');
|
|
4
|
-
var wrapValue = require('../common/wrapValue.cjs');
|
|
5
3
|
var unwrap = require('../common/unwrap.cjs');
|
|
6
4
|
var override = require('../object/override.cjs');
|
|
7
5
|
|
|
8
|
-
const generatorAsyncReduceFromKind = kind.createKind("generator-async-reduce-from");
|
|
9
|
-
const getStartValueParams = {
|
|
10
|
-
from: (value) => generatorAsyncReduceFromKind.addTo(wrapValue.wrapValue(value), null),
|
|
11
|
-
};
|
|
12
6
|
function asyncReduce(...args) {
|
|
13
7
|
if (args.length === 2) {
|
|
14
|
-
const [
|
|
15
|
-
return (iterator) => asyncReduce(iterator,
|
|
8
|
+
const [fromValue, theFunction] = args;
|
|
9
|
+
return (iterator) => asyncReduce(iterator, fromValue, theFunction);
|
|
16
10
|
}
|
|
17
|
-
const [iterator,
|
|
18
|
-
let lastValue = unwrap.unwrap(
|
|
19
|
-
? getStartValue(getStartValueParams)
|
|
20
|
-
: getStartValue);
|
|
11
|
+
const [iterator, fromValue, theFunction] = args;
|
|
12
|
+
let lastValue = unwrap.unwrap(fromValue);
|
|
21
13
|
return (async () => {
|
|
22
14
|
let index = 0;
|
|
23
15
|
for await (const element of iterator) {
|
|
@@ -1,30 +1,3 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { type ToLargeEnsemble } from "../common";
|
|
5
|
-
interface AsyncGeneratorReduceNext<GenericOutput extends unknown> {
|
|
6
|
-
"-next": GenericOutput;
|
|
7
|
-
}
|
|
8
|
-
interface ArrayReduceExit<GenericOutput extends unknown> {
|
|
9
|
-
"-exit": GenericOutput;
|
|
10
|
-
}
|
|
11
|
-
type ExitOrNext<GenericOutput extends unknown = unknown> = ArrayReduceExit<GenericOutput> | AsyncGeneratorReduceNext<GenericOutput>;
|
|
12
|
-
export interface AsyncGeneratorReduceFunctionParams<GenericElement extends unknown = unknown, GenericOutput extends unknown = unknown> {
|
|
13
|
-
element: GenericElement;
|
|
14
|
-
index: number;
|
|
15
|
-
lastValue: GenericOutput;
|
|
16
|
-
nextWithObject: GenericOutput extends object ? (object1: GenericOutput, object2: Partial<GenericOutput>) => AsyncGeneratorReduceNext<GenericOutput> : undefined;
|
|
17
|
-
next(output: GenericOutput): AsyncGeneratorReduceNext<GenericOutput>;
|
|
18
|
-
exit(output: GenericOutput): ArrayReduceExit<GenericOutput>;
|
|
19
|
-
}
|
|
20
|
-
declare const generatorAsyncReduceFromKind: import("../common").KindHandler<import("../common").KindDefinition<"generator-async-reduce-from", unknown>>;
|
|
21
|
-
export interface AsyncGeneratorReduceFromResult<GenericValue extends unknown = unknown> extends Kind<typeof generatorAsyncReduceFromKind.definition>, WrappedValue<GenericValue> {
|
|
22
|
-
}
|
|
23
|
-
interface GetStartValueParams {
|
|
24
|
-
from<GenericValue extends unknown>(value: GenericValue): AsyncGeneratorReduceFromResult<GenericValue>;
|
|
25
|
-
}
|
|
26
|
-
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends number | string | bigint | boolean>(startValue: GenericReduceFrom, theFunction: (params: AsyncGeneratorReduceFunctionParams<GenericElement, ToLargeEnsemble<GenericReduceFrom>>) => ExitOrNext<ToLargeEnsemble<GenericReduceFrom>>): (iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>) => Promise<ToLargeEnsemble<GenericReduceFrom>>;
|
|
27
|
-
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends AsyncGeneratorReduceFromResult>(getStartValue: (params: GetStartValueParams) => GenericReduceFrom, theFunction: (params: AsyncGeneratorReduceFunctionParams<GenericElement, Unwrap<GenericReduceFrom>>) => ExitOrNext<Unwrap<GenericReduceFrom>>): (iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>) => Promise<Unwrap<GenericReduceFrom>>;
|
|
28
|
-
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends number | string | bigint | boolean>(iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>, startValue: GenericReduceFrom, theFunction: (params: AsyncGeneratorReduceFunctionParams<GenericElement, ToLargeEnsemble<GenericReduceFrom>>) => ExitOrNext<ToLargeEnsemble<GenericReduceFrom>>): Promise<ToLargeEnsemble<GenericReduceFrom>>;
|
|
29
|
-
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends AsyncGeneratorReduceFromResult>(iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>, getStartValue: (params: GetStartValueParams) => GenericReduceFrom, theFunction: (params: AsyncGeneratorReduceFunctionParams<GenericElement, Unwrap<GenericReduceFrom>>) => ExitOrNext<Unwrap<GenericReduceFrom>>): Promise<Unwrap<GenericReduceFrom>>;
|
|
30
|
-
export {};
|
|
1
|
+
import { type GeneratorReduceFromValue, type GeneratorEligibleReduceFromValue, type GeneratorReduceExitOrNext, type GeneratorReduceFunctionParams } from "./reduce";
|
|
2
|
+
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue>(startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => GeneratorReduceExitOrNext<GeneratorReduceFromValue<GenericReduceFrom>>): (iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>) => Promise<GeneratorReduceFromValue<GenericReduceFrom>>;
|
|
3
|
+
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue>(iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>, startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => GeneratorReduceExitOrNext<GeneratorReduceFromValue<GenericReduceFrom>>): Promise<GeneratorReduceFromValue<GenericReduceFrom>>;
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import { createKind } from '../common/kind.mjs';
|
|
2
|
-
import { wrapValue } from '../common/wrapValue.mjs';
|
|
3
1
|
import { unwrap } from '../common/unwrap.mjs';
|
|
4
2
|
import { override } from '../object/override.mjs';
|
|
5
3
|
|
|
6
|
-
const generatorAsyncReduceFromKind = createKind("generator-async-reduce-from");
|
|
7
|
-
const getStartValueParams = {
|
|
8
|
-
from: (value) => generatorAsyncReduceFromKind.addTo(wrapValue(value), null),
|
|
9
|
-
};
|
|
10
4
|
function asyncReduce(...args) {
|
|
11
5
|
if (args.length === 2) {
|
|
12
|
-
const [
|
|
13
|
-
return (iterator) => asyncReduce(iterator,
|
|
6
|
+
const [fromValue, theFunction] = args;
|
|
7
|
+
return (iterator) => asyncReduce(iterator, fromValue, theFunction);
|
|
14
8
|
}
|
|
15
|
-
const [iterator,
|
|
16
|
-
let lastValue = unwrap(
|
|
17
|
-
? getStartValue(getStartValueParams)
|
|
18
|
-
: getStartValue);
|
|
9
|
+
const [iterator, fromValue, theFunction] = args;
|
|
10
|
+
let lastValue = unwrap(fromValue);
|
|
19
11
|
return (async () => {
|
|
20
12
|
let index = 0;
|
|
21
13
|
for await (const element of iterator) {
|
package/dist/generator/index.cjs
CHANGED
|
@@ -18,6 +18,7 @@ exports.asyncMap = asyncMap.asyncMap;
|
|
|
18
18
|
exports.filter = filter.filter;
|
|
19
19
|
exports.asyncFilter = asyncFilter.asyncFilter;
|
|
20
20
|
exports.reduce = reduce.reduce;
|
|
21
|
+
exports.reduceFrom = reduce.reduceFrom;
|
|
21
22
|
exports.asyncReduce = asyncReduce.asyncReduce;
|
|
22
23
|
exports.loop = loop.loop;
|
|
23
24
|
exports.asyncLoop = asyncLoop.asyncLoop;
|
package/dist/generator/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ export { execute } from './execute.mjs';
|
|
|
3
3
|
export { asyncMap } from './asyncMap.mjs';
|
|
4
4
|
export { filter } from './filter.mjs';
|
|
5
5
|
export { asyncFilter } from './asyncFilter.mjs';
|
|
6
|
-
export { reduce } from './reduce.mjs';
|
|
6
|
+
export { reduce, reduceFrom } from './reduce.mjs';
|
|
7
7
|
export { asyncReduce } from './asyncReduce.mjs';
|
|
8
8
|
export { loop } from './loop.mjs';
|
|
9
9
|
export { asyncLoop } from './asyncLoop.mjs';
|
|
@@ -6,18 +6,16 @@ var unwrap = require('../common/unwrap.cjs');
|
|
|
6
6
|
var override = require('../object/override.cjs');
|
|
7
7
|
|
|
8
8
|
const generatorReduceFromKind = kind.createKind("generator-reduce-from");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
9
|
+
function reduceFrom(value) {
|
|
10
|
+
return generatorReduceFromKind.addTo(wrapValue.wrapValue(value));
|
|
11
|
+
}
|
|
12
12
|
function reduce(...args) {
|
|
13
13
|
if (args.length === 2) {
|
|
14
|
-
const [
|
|
15
|
-
return (iterator) => reduce(iterator,
|
|
14
|
+
const [fromValue, theFunction] = args;
|
|
15
|
+
return (iterator) => reduce(iterator, fromValue, theFunction);
|
|
16
16
|
}
|
|
17
|
-
const [iterator,
|
|
18
|
-
let lastValue = unwrap.unwrap(
|
|
19
|
-
? getStartValue(getStartValueParams)
|
|
20
|
-
: getStartValue);
|
|
17
|
+
const [iterator, fromValue, theFunction] = args;
|
|
18
|
+
let lastValue = unwrap.unwrap(fromValue);
|
|
21
19
|
let index = 0;
|
|
22
20
|
for (const element of iterator) {
|
|
23
21
|
const result = theFunction({
|
|
@@ -40,3 +38,4 @@ function reduce(...args) {
|
|
|
40
38
|
}
|
|
41
39
|
|
|
42
40
|
exports.reduce = reduce;
|
|
41
|
+
exports.reduceFrom = reduceFrom;
|
|
@@ -5,26 +5,24 @@ import { type ToLargeEnsemble } from "../common";
|
|
|
5
5
|
interface GeneratorReduceNext<GenericOutput extends unknown> {
|
|
6
6
|
"-next": GenericOutput;
|
|
7
7
|
}
|
|
8
|
-
interface
|
|
8
|
+
interface GeneratorReduceExit<GenericOutput extends unknown> {
|
|
9
9
|
"-exit": GenericOutput;
|
|
10
10
|
}
|
|
11
|
-
type
|
|
11
|
+
export type GeneratorReduceExitOrNext<GenericOutput extends unknown = unknown> = GeneratorReduceExit<GenericOutput> | GeneratorReduceNext<GenericOutput>;
|
|
12
12
|
export interface GeneratorReduceFunctionParams<GenericElement extends unknown = unknown, GenericOutput extends unknown = unknown> {
|
|
13
13
|
element: GenericElement;
|
|
14
14
|
index: number;
|
|
15
15
|
lastValue: GenericOutput;
|
|
16
16
|
nextWithObject: GenericOutput extends object ? (object1: GenericOutput, object2: Partial<GenericOutput>) => GeneratorReduceNext<GenericOutput> : undefined;
|
|
17
17
|
next(output: GenericOutput): GeneratorReduceNext<GenericOutput>;
|
|
18
|
-
exit(output: GenericOutput):
|
|
18
|
+
exit(output: GenericOutput): GeneratorReduceExit<GenericOutput>;
|
|
19
19
|
}
|
|
20
20
|
declare const generatorReduceFromKind: import("../common").KindHandler<import("../common").KindDefinition<"generator-reduce-from", unknown>>;
|
|
21
21
|
export interface GeneratorReduceFromResult<GenericValue extends unknown = unknown> extends Kind<typeof generatorReduceFromKind.definition>, WrappedValue<GenericValue> {
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends
|
|
27
|
-
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends
|
|
28
|
-
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends number | string | bigint | boolean>(iterator: Iterable<GenericElement>, startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, ToLargeEnsemble<GenericReduceFrom>>) => ExitOrNext<ToLargeEnsemble<GenericReduceFrom>>): ToLargeEnsemble<GenericReduceFrom>;
|
|
29
|
-
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorReduceFromResult>(iterator: Iterable<GenericElement>, getStartValue: (params: GetStartValueParams) => GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, Unwrap<GenericReduceFrom>>) => ExitOrNext<Unwrap<GenericReduceFrom>>): Unwrap<GenericReduceFrom>;
|
|
23
|
+
export declare function reduceFrom<GenericValue extends unknown>(value: GenericValue): GeneratorReduceFromResult<GenericValue>;
|
|
24
|
+
export type GeneratorEligibleReduceFromValue = number | string | bigint | boolean | GeneratorReduceFromResult;
|
|
25
|
+
export type GeneratorReduceFromValue<GenericValue extends GeneratorEligibleReduceFromValue> = GenericValue extends GeneratorReduceFromResult ? Unwrap<GenericValue> : ToLargeEnsemble<GenericValue>;
|
|
26
|
+
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue>(startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => GeneratorReduceExitOrNext<GeneratorReduceFromValue<GenericReduceFrom>>): (iterator: Iterable<GenericElement>) => GeneratorReduceFromValue<GenericReduceFrom>;
|
|
27
|
+
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue>(iterator: Iterable<GenericElement>, startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => GeneratorReduceExitOrNext<GeneratorReduceFromValue<GenericReduceFrom>>): GeneratorReduceFromValue<GenericReduceFrom>;
|
|
30
28
|
export {};
|
|
@@ -4,18 +4,16 @@ import { unwrap } from '../common/unwrap.mjs';
|
|
|
4
4
|
import { override } from '../object/override.mjs';
|
|
5
5
|
|
|
6
6
|
const generatorReduceFromKind = createKind("generator-reduce-from");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
7
|
+
function reduceFrom(value) {
|
|
8
|
+
return generatorReduceFromKind.addTo(wrapValue(value));
|
|
9
|
+
}
|
|
10
10
|
function reduce(...args) {
|
|
11
11
|
if (args.length === 2) {
|
|
12
|
-
const [
|
|
13
|
-
return (iterator) => reduce(iterator,
|
|
12
|
+
const [fromValue, theFunction] = args;
|
|
13
|
+
return (iterator) => reduce(iterator, fromValue, theFunction);
|
|
14
14
|
}
|
|
15
|
-
const [iterator,
|
|
16
|
-
let lastValue = unwrap(
|
|
17
|
-
? getStartValue(getStartValueParams)
|
|
18
|
-
: getStartValue);
|
|
15
|
+
const [iterator, fromValue, theFunction] = args;
|
|
16
|
+
let lastValue = unwrap(fromValue);
|
|
19
17
|
let index = 0;
|
|
20
18
|
for (const element of iterator) {
|
|
21
19
|
const result = theFunction({
|
|
@@ -37,4 +35,4 @@ function reduce(...args) {
|
|
|
37
35
|
return lastValue;
|
|
38
36
|
}
|
|
39
37
|
|
|
40
|
-
export { reduce };
|
|
38
|
+
export { reduce, reduceFrom };
|
package/dist/index.cjs
CHANGED
|
@@ -31,6 +31,10 @@ var whenNot = require('./common/whenNot.cjs');
|
|
|
31
31
|
var equal = require('./common/equal.cjs');
|
|
32
32
|
var not = require('./common/not.cjs');
|
|
33
33
|
var isType = require('./common/isType.cjs');
|
|
34
|
+
var and = require('./common/and.cjs');
|
|
35
|
+
var or = require('./common/or.cjs');
|
|
36
|
+
var whenElse = require('./common/whenElse.cjs');
|
|
37
|
+
var justReturn = require('./common/justReturn.cjs');
|
|
34
38
|
var index = require('./array/index.cjs');
|
|
35
39
|
var index$1 = require('./number/index.cjs');
|
|
36
40
|
var index$2 = require('./either/index.cjs');
|
|
@@ -78,6 +82,10 @@ exports.whenNot = whenNot.whenNot;
|
|
|
78
82
|
exports.equal = equal.equal;
|
|
79
83
|
exports.not = not.not;
|
|
80
84
|
exports.isType = isType.isType;
|
|
85
|
+
exports.and = and.and;
|
|
86
|
+
exports.or = or.or;
|
|
87
|
+
exports.whenElse = whenElse.whenElse;
|
|
88
|
+
exports.justReturn = justReturn.justReturn;
|
|
81
89
|
exports.A = index;
|
|
82
90
|
exports.DArray = index;
|
|
83
91
|
exports.DNumber = index$1;
|