@duplojs/utils 1.0.0 → 1.0.2

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.
Files changed (47) hide show
  1. package/dist/array/minElements.d.ts +9 -3
  2. package/dist/array/types/createTuple.d.ts +2 -0
  3. package/dist/array/types/index.d.ts +1 -0
  4. package/dist/common/asyncInnerPipe.d.ts +12 -12
  5. package/dist/common/asyncPipe.d.ts +12 -12
  6. package/dist/common/index.d.ts +2 -0
  7. package/dist/common/innerPipe.d.ts +11 -11
  8. package/dist/common/pipe.d.ts +11 -11
  9. package/dist/common/types/forcePredicate.d.ts +3 -1
  10. package/dist/common/types/index.d.ts +1 -1
  11. package/dist/common/when.cjs +15 -0
  12. package/dist/common/when.mjs +13 -0
  13. package/dist/common/whenNot.cjs +15 -0
  14. package/dist/common/whenNot.mjs +13 -0
  15. package/dist/either/bool/falsy.d.ts +3 -1
  16. package/dist/either/bool/truthy.d.ts +3 -1
  17. package/dist/either/future/error.d.ts +4 -1
  18. package/dist/either/future/index.d.ts +1 -0
  19. package/dist/either/future/success.d.ts +4 -1
  20. package/dist/either/left/create.d.ts +4 -1
  21. package/dist/either/left/error.d.ts +4 -1
  22. package/dist/either/left/fail.d.ts +4 -1
  23. package/dist/either/nullable/empty.d.ts +3 -1
  24. package/dist/either/nullable/filled.d.ts +3 -1
  25. package/dist/either/nullish/empty.d.ts +3 -1
  26. package/dist/either/nullish/filled.d.ts +3 -1
  27. package/dist/either/optional/empty.d.ts +3 -1
  28. package/dist/either/optional/filled.d.ts +3 -1
  29. package/dist/either/right/asyncPipe.d.ts +1 -1
  30. package/dist/either/right/create.d.ts +4 -1
  31. package/dist/either/right/ok.d.ts +4 -1
  32. package/dist/either/right/success.d.ts +4 -1
  33. package/dist/index.cjs +4 -0
  34. package/dist/index.mjs +2 -0
  35. package/dist/pattern/match.d.ts +2 -2
  36. package/dist/pattern/types/complexMatchedValue/array.d.ts +2 -2
  37. package/dist/pattern/types/complexMatchedValue/object.d.ts +1 -1
  38. package/dist/string/normalize.d.ts +1 -1
  39. package/dist/string/split.cjs +0 -4
  40. package/dist/string/split.d.ts +3 -5
  41. package/dist/string/split.mjs +0 -4
  42. package/dist/string/types/index.d.ts +2 -0
  43. package/dist/string/types/split.d.ts +6 -9
  44. package/package.json +2 -1
  45. package/dist/common/types/createTupleFromLength.d.ts +0 -6
  46. /package/dist/either/future/{MaybeFutureEither.d.ts → maybeFutureEither.d.ts} +0 -0
  47. /package/dist/string/types/{NormalizeForm.d.ts → normalizeForm.d.ts} +0 -0
@@ -1,3 +1,9 @@
1
- import { type CreateTupleFromLength } from "../common/types/createTupleFromLength";
2
- export declare function minElements<GenericValue extends unknown, GenericLength extends number>(minLength: GenericLength): (array: readonly GenericValue[]) => array is CreateTupleFromLength<GenericValue, GenericLength>;
3
- export declare function minElements<GenericValue extends unknown, GenericLength extends number>(array: readonly GenericValue[], minLength: GenericLength): array is CreateTupleFromLength<GenericValue, GenericLength>;
1
+ import { type CreateTuple } from "./types/createTuple";
2
+ export declare function minElements<GenericArray extends readonly unknown[], GenericLength extends number>(minLength: GenericLength): (array: GenericArray) => array is [
3
+ ...CreateTuple<GenericArray[number], GenericLength>,
4
+ ...GenericArray[number][]
5
+ ];
6
+ export declare function minElements<GenericArray extends readonly unknown[], GenericLength extends number>(array: GenericArray, minLength: GenericLength): array is [
7
+ ...CreateTuple<GenericArray[number], GenericLength>,
8
+ ...GenericArray[number][]
9
+ ];
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "../../common/types/isEqual";
2
+ export type CreateTuple<GenericValue extends unknown, GenericLength extends number, GenericLastTuple extends unknown[] = []> = IsEqual<GenericLength, number> extends true ? GenericValue[] : [...GenericLastTuple, GenericValue] extends infer InferredResult extends any[] ? IsEqual<InferredResult["length"], GenericLength> extends true ? InferredResult : IsEqual<InferredResult["length"], 1000> extends true ? [...InferredResult, ...GenericValue[]] : CreateTuple<GenericValue, GenericLength, InferredResult> : never;
@@ -5,3 +5,4 @@ export * from "./shiftTuple";
5
5
  export * from "./tupleHasSpread";
6
6
  export * from "./mergeUnionTuple";
7
7
  export * from "./extractTuple";
8
+ export * from "./excludeTuple";
@@ -1,15 +1,15 @@
1
- import { type MaybeFutureEither } from "../either/future/MaybeFutureEither";
2
- import { type MaybePromise, type EscapeVoid, type BreakGenericLink } from "./types";
1
+ import { type MaybeFutureEither } from "../either/future/maybeFutureEither";
2
+ import { type MaybePromise, type EscapeVoid } from "./types";
3
3
  import { type AnyValue } from "./types/anyValue";
4
4
  type MaybePromiseLike<GenericValue extends unknown> = MaybePromise<GenericValue> | MaybeFutureEither<GenericValue>;
5
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe1>>;
6
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe2>>;
7
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe3>>;
8
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => MaybePromiseLike<GenericOutputPipe4>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe4>>;
9
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => MaybePromiseLike<GenericOutputPipe5>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe5>>;
10
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => MaybePromiseLike<GenericOutputPipe6>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe6>>;
11
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => MaybePromiseLike<GenericOutputPipe7>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe7>>;
12
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => MaybePromiseLike<GenericOutputPipe7>, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => MaybePromiseLike<GenericOutputPipe8>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe8>>;
13
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => MaybePromiseLike<GenericOutputPipe7>, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => MaybePromiseLike<GenericOutputPipe8>, pipe9: (input: BreakGenericLink<GenericOutputPipe8>) => MaybePromiseLike<GenericOutputPipe9>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe9>>;
14
- export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid, GenericOutputPipe10 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => MaybePromiseLike<GenericOutputPipe7>, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => MaybePromiseLike<GenericOutputPipe8>, pipe9: (input: BreakGenericLink<GenericOutputPipe8>) => MaybePromiseLike<GenericOutputPipe9>, pipe10: (input: BreakGenericLink<GenericOutputPipe9>) => MaybePromiseLike<GenericOutputPipe10>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe10>>;
5
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe1>>;
6
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe2>>;
7
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe3>>;
8
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: GenericOutputPipe3) => MaybePromiseLike<GenericOutputPipe4>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe4>>;
9
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: GenericOutputPipe3) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: GenericOutputPipe4) => MaybePromiseLike<GenericOutputPipe5>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe5>>;
10
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: GenericOutputPipe3) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: GenericOutputPipe4) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: GenericOutputPipe5) => MaybePromiseLike<GenericOutputPipe6>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe6>>;
11
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: GenericOutputPipe3) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: GenericOutputPipe4) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: GenericOutputPipe5) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: GenericOutputPipe6) => MaybePromiseLike<GenericOutputPipe7>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe7>>;
12
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: GenericOutputPipe3) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: GenericOutputPipe4) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: GenericOutputPipe5) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: GenericOutputPipe6) => MaybePromiseLike<GenericOutputPipe7>, pipe8: (input: GenericOutputPipe7) => MaybePromiseLike<GenericOutputPipe8>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe8>>;
13
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: GenericOutputPipe3) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: GenericOutputPipe4) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: GenericOutputPipe5) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: GenericOutputPipe6) => MaybePromiseLike<GenericOutputPipe7>, pipe8: (input: GenericOutputPipe7) => MaybePromiseLike<GenericOutputPipe8>, pipe9: (input: GenericOutputPipe8) => MaybePromiseLike<GenericOutputPipe9>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe9>>;
14
+ export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid, GenericOutputPipe10 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>, pipe4: (input: GenericOutputPipe3) => MaybePromiseLike<GenericOutputPipe4>, pipe5: (input: GenericOutputPipe4) => MaybePromiseLike<GenericOutputPipe5>, pipe6: (input: GenericOutputPipe5) => MaybePromiseLike<GenericOutputPipe6>, pipe7: (input: GenericOutputPipe6) => MaybePromiseLike<GenericOutputPipe7>, pipe8: (input: GenericOutputPipe7) => MaybePromiseLike<GenericOutputPipe8>, pipe9: (input: GenericOutputPipe8) => MaybePromiseLike<GenericOutputPipe9>, pipe10: (input: GenericOutputPipe9) => MaybePromiseLike<GenericOutputPipe10>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<GenericOutputPipe10>>;
15
15
  export {};
@@ -1,16 +1,16 @@
1
- import { type MaybeFutureEither } from "../either/future/MaybeFutureEither";
2
- import { type BreakGenericLink, type EscapeVoid } from "./types";
1
+ import { type MaybeFutureEither } from "../either/future/maybeFutureEither";
2
+ import { type EscapeVoid } from "./types";
3
3
  import { type AnyValue } from "./types/anyValue";
4
4
  import { type MaybePromise } from "./types/maybePromise";
5
5
  type MaybePromiseLike<GenericValue extends unknown> = MaybePromise<GenericValue> | MaybeFutureEither<GenericValue>;
6
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1): Promise<Awaited<GenericOutputPipe1>>;
7
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2): Promise<Awaited<GenericOutputPipe2>>;
8
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3): Promise<Awaited<GenericOutputPipe3>>;
9
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3, pipe4: (input: Awaited<BreakGenericLink<GenericOutputPipe3>>) => GenericOutputPipe4): Promise<Awaited<GenericOutputPipe4>>;
10
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3, pipe4: (input: Awaited<BreakGenericLink<GenericOutputPipe3>>) => GenericOutputPipe4, pipe5: (input: Awaited<BreakGenericLink<GenericOutputPipe4>>) => GenericOutputPipe5): Promise<Awaited<GenericOutputPipe5>>;
11
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3, pipe4: (input: Awaited<BreakGenericLink<GenericOutputPipe3>>) => GenericOutputPipe4, pipe5: (input: Awaited<BreakGenericLink<GenericOutputPipe4>>) => GenericOutputPipe5, pipe6: (input: Awaited<BreakGenericLink<GenericOutputPipe5>>) => GenericOutputPipe6): Promise<Awaited<GenericOutputPipe6>>;
12
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3, pipe4: (input: Awaited<BreakGenericLink<GenericOutputPipe3>>) => GenericOutputPipe4, pipe5: (input: Awaited<BreakGenericLink<GenericOutputPipe4>>) => GenericOutputPipe5, pipe6: (input: Awaited<BreakGenericLink<GenericOutputPipe5>>) => GenericOutputPipe6, pipe7: (input: Awaited<BreakGenericLink<GenericOutputPipe6>>) => GenericOutputPipe7): Promise<Awaited<GenericOutputPipe7>>;
13
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe8 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3, pipe4: (input: Awaited<BreakGenericLink<GenericOutputPipe3>>) => GenericOutputPipe4, pipe5: (input: Awaited<BreakGenericLink<GenericOutputPipe4>>) => GenericOutputPipe5, pipe6: (input: Awaited<BreakGenericLink<GenericOutputPipe5>>) => GenericOutputPipe6, pipe7: (input: Awaited<BreakGenericLink<GenericOutputPipe6>>) => GenericOutputPipe7, pipe8: (input: Awaited<BreakGenericLink<GenericOutputPipe7>>) => GenericOutputPipe8): Promise<Awaited<GenericOutputPipe8>>;
14
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe8 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe9 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3, pipe4: (input: Awaited<BreakGenericLink<GenericOutputPipe3>>) => GenericOutputPipe4, pipe5: (input: Awaited<BreakGenericLink<GenericOutputPipe4>>) => GenericOutputPipe5, pipe6: (input: Awaited<BreakGenericLink<GenericOutputPipe5>>) => GenericOutputPipe6, pipe7: (input: Awaited<BreakGenericLink<GenericOutputPipe6>>) => GenericOutputPipe7, pipe8: (input: Awaited<BreakGenericLink<GenericOutputPipe7>>) => GenericOutputPipe8, pipe9: (input: Awaited<BreakGenericLink<GenericOutputPipe8>>) => GenericOutputPipe9): Promise<Awaited<GenericOutputPipe9>>;
15
- export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe8 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe9 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe10 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<BreakGenericLink<GenericInput>>) => GenericOutputPipe1, pipe2: (input: Awaited<BreakGenericLink<GenericOutputPipe1>>) => GenericOutputPipe2, pipe3: (input: Awaited<BreakGenericLink<GenericOutputPipe2>>) => GenericOutputPipe3, pipe4: (input: Awaited<BreakGenericLink<GenericOutputPipe3>>) => GenericOutputPipe4, pipe5: (input: Awaited<BreakGenericLink<GenericOutputPipe4>>) => GenericOutputPipe5, pipe6: (input: Awaited<BreakGenericLink<GenericOutputPipe5>>) => GenericOutputPipe6, pipe7: (input: Awaited<BreakGenericLink<GenericOutputPipe6>>) => GenericOutputPipe7, pipe8: (input: Awaited<BreakGenericLink<GenericOutputPipe7>>) => GenericOutputPipe8, pipe9: (input: Awaited<BreakGenericLink<GenericOutputPipe8>>) => GenericOutputPipe9, pipe10: (input: Awaited<BreakGenericLink<GenericOutputPipe9>>) => GenericOutputPipe10): Promise<Awaited<GenericOutputPipe10>>;
6
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1): Promise<Awaited<GenericOutputPipe1>>;
7
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2): Promise<Awaited<GenericOutputPipe2>>;
8
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3): Promise<Awaited<GenericOutputPipe3>>;
9
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: Awaited<GenericOutputPipe3>) => GenericOutputPipe4): Promise<Awaited<GenericOutputPipe4>>;
10
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: Awaited<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: Awaited<GenericOutputPipe4>) => GenericOutputPipe5): Promise<Awaited<GenericOutputPipe5>>;
11
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: Awaited<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: Awaited<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: Awaited<GenericOutputPipe5>) => GenericOutputPipe6): Promise<Awaited<GenericOutputPipe6>>;
12
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: Awaited<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: Awaited<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: Awaited<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: Awaited<GenericOutputPipe6>) => GenericOutputPipe7): Promise<Awaited<GenericOutputPipe7>>;
13
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe8 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: Awaited<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: Awaited<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: Awaited<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: Awaited<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: Awaited<GenericOutputPipe7>) => GenericOutputPipe8): Promise<Awaited<GenericOutputPipe8>>;
14
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe8 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe9 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: Awaited<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: Awaited<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: Awaited<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: Awaited<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: Awaited<GenericOutputPipe7>) => GenericOutputPipe8, pipe9: (input: Awaited<GenericOutputPipe8>) => GenericOutputPipe9): Promise<Awaited<GenericOutputPipe9>>;
15
+ export declare function asyncPipe<GenericInput extends MaybePromiseLike<AnyValue>, GenericOutputPipe1 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe2 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe3 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe4 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe5 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe6 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe7 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe8 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe9 extends MaybePromiseLike<AnyValue | EscapeVoid>, GenericOutputPipe10 extends MaybePromiseLike<AnyValue | EscapeVoid>>(input: GenericInput, pipe1: (input: Awaited<GenericInput>) => GenericOutputPipe1, pipe2: (input: Awaited<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: Awaited<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: Awaited<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: Awaited<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: Awaited<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: Awaited<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: Awaited<GenericOutputPipe7>) => GenericOutputPipe8, pipe9: (input: Awaited<GenericOutputPipe8>) => GenericOutputPipe9, pipe10: (input: Awaited<GenericOutputPipe9>) => GenericOutputPipe10): Promise<Awaited<GenericOutputPipe10>>;
16
16
  export {};
@@ -25,3 +25,5 @@ export * from "./innerPipe";
25
25
  export * from "./asyncInnerPipe";
26
26
  export * from "./loop";
27
27
  export * from "./forward";
28
+ export * from "./when";
29
+ export * from "./whenNot";
@@ -1,12 +1,12 @@
1
- import { type BreakGenericLink, type EscapeVoid } from "./types";
1
+ import { type EscapeVoid } from "./types";
2
2
  import { type AnyValue } from "./types/anyValue";
3
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1): (input: GenericInput) => GenericOutputPipe1;
4
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2): (input: GenericInput) => GenericOutputPipe2;
5
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3): (input: GenericInput) => GenericOutputPipe3;
6
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4): (input: GenericInput) => GenericOutputPipe4;
7
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5): (input: GenericInput) => GenericOutputPipe5;
8
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6): (input: GenericInput) => GenericOutputPipe6;
9
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7): (input: GenericInput) => GenericOutputPipe7;
10
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => GenericOutputPipe8): (input: GenericInput) => GenericOutputPipe8;
11
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => GenericOutputPipe8, pipe9: (input: BreakGenericLink<GenericOutputPipe8>) => GenericOutputPipe9): (input: GenericInput) => GenericOutputPipe9;
12
- export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid, GenericOutputPipe10 extends AnyValue | EscapeVoid>(pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => GenericOutputPipe8, pipe9: (input: BreakGenericLink<GenericOutputPipe8>) => GenericOutputPipe9, pipe10: (input: BreakGenericLink<GenericOutputPipe9>) => GenericOutputPipe10): (input: GenericInput) => GenericOutputPipe10;
3
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1): (input: GenericInput) => GenericOutputPipe1;
4
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2): (input: GenericInput) => GenericOutputPipe2;
5
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3): (input: GenericInput) => GenericOutputPipe3;
6
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4): (input: GenericInput) => GenericOutputPipe4;
7
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5): (input: GenericInput) => GenericOutputPipe5;
8
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6): (input: GenericInput) => GenericOutputPipe6;
9
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7): (input: GenericInput) => GenericOutputPipe7;
10
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7, pipe8: (input: GenericOutputPipe7) => GenericOutputPipe8): (input: GenericInput) => GenericOutputPipe8;
11
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7, pipe8: (input: GenericOutputPipe7) => GenericOutputPipe8, pipe9: (input: GenericOutputPipe8) => GenericOutputPipe9): (input: GenericInput) => GenericOutputPipe9;
12
+ export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid, GenericOutputPipe10 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7, pipe8: (input: GenericOutputPipe7) => GenericOutputPipe8, pipe9: (input: GenericOutputPipe8) => GenericOutputPipe9, pipe10: (input: GenericOutputPipe9) => GenericOutputPipe10): (input: GenericInput) => GenericOutputPipe10;
@@ -1,12 +1,12 @@
1
- import { type BreakGenericLink, type EscapeVoid } from "./types";
1
+ import { type EscapeVoid } from "./types";
2
2
  import { type AnyValue } from "./types/anyValue";
3
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1): GenericOutputPipe1;
4
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2): GenericOutputPipe2;
5
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3): GenericOutputPipe3;
6
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4): GenericOutputPipe4;
7
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5): GenericOutputPipe5;
8
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6): GenericOutputPipe6;
9
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7): GenericOutputPipe7;
10
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => GenericOutputPipe8): GenericOutputPipe8;
11
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => GenericOutputPipe8, pipe9: (input: BreakGenericLink<GenericOutputPipe8>) => GenericOutputPipe9): GenericOutputPipe9;
12
- export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid, GenericOutputPipe10 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: BreakGenericLink<GenericInput>) => GenericOutputPipe1, pipe2: (input: BreakGenericLink<GenericOutputPipe1>) => GenericOutputPipe2, pipe3: (input: BreakGenericLink<GenericOutputPipe2>) => GenericOutputPipe3, pipe4: (input: BreakGenericLink<GenericOutputPipe3>) => GenericOutputPipe4, pipe5: (input: BreakGenericLink<GenericOutputPipe4>) => GenericOutputPipe5, pipe6: (input: BreakGenericLink<GenericOutputPipe5>) => GenericOutputPipe6, pipe7: (input: BreakGenericLink<GenericOutputPipe6>) => GenericOutputPipe7, pipe8: (input: BreakGenericLink<GenericOutputPipe7>) => GenericOutputPipe8, pipe9: (input: BreakGenericLink<GenericOutputPipe8>) => GenericOutputPipe9, pipe10: (input: BreakGenericLink<GenericOutputPipe9>) => GenericOutputPipe10): GenericOutputPipe10;
3
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1): GenericOutputPipe1;
4
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2): GenericOutputPipe2;
5
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3): GenericOutputPipe3;
6
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4): GenericOutputPipe4;
7
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5): GenericOutputPipe5;
8
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6): GenericOutputPipe6;
9
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7): GenericOutputPipe7;
10
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7, pipe8: (input: GenericOutputPipe7) => GenericOutputPipe8): GenericOutputPipe8;
11
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7, pipe8: (input: GenericOutputPipe7) => GenericOutputPipe8, pipe9: (input: GenericOutputPipe8) => GenericOutputPipe9): GenericOutputPipe9;
12
+ export declare function pipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid, GenericOutputPipe4 extends AnyValue | EscapeVoid, GenericOutputPipe5 extends AnyValue | EscapeVoid, GenericOutputPipe6 extends AnyValue | EscapeVoid, GenericOutputPipe7 extends AnyValue | EscapeVoid, GenericOutputPipe8 extends AnyValue | EscapeVoid, GenericOutputPipe9 extends AnyValue | EscapeVoid, GenericOutputPipe10 extends AnyValue | EscapeVoid>(input: GenericInput, pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3, pipe4: (input: GenericOutputPipe3) => GenericOutputPipe4, pipe5: (input: GenericOutputPipe4) => GenericOutputPipe5, pipe6: (input: GenericOutputPipe5) => GenericOutputPipe6, pipe7: (input: GenericOutputPipe6) => GenericOutputPipe7, pipe8: (input: GenericOutputPipe7) => GenericOutputPipe8, pipe9: (input: GenericOutputPipe8) => GenericOutputPipe9, pipe10: (input: GenericOutputPipe9) => GenericOutputPipe10): GenericOutputPipe10;
@@ -1,3 +1,5 @@
1
1
  export type ForcePredicate<GenericArgValue extends unknown, GenericWantValue extends unknown> = ({
2
2
  [Prop in GenericWantValue as "prop"]: Prop;
3
- } & Record<string, GenericArgValue>)["prop"];
3
+ } & {
4
+ [key: string]: GenericArgValue;
5
+ })["prop"];
@@ -1,7 +1,6 @@
1
1
  export * from "./addOne";
2
2
  export * from "./anyFunction";
3
3
  export * from "./anyValue";
4
- export * from "./createTupleFromLength";
5
4
  export * from "./escapeAny";
6
5
  export * from "./escapeVoid";
7
6
  export * from "./expectType";
@@ -35,3 +34,4 @@ export * from "./not";
35
34
  export * from "./lastUnionElement";
36
35
  export * from "./removeDuplicateInUnion";
37
36
  export * from "./isStringLIteral";
37
+ export * from "./maybeWrapped";
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ function when(...args) {
4
+ if (args.length === 2) {
5
+ const [ifFunction, theFunction] = args;
6
+ return (input) => when(input, ifFunction, theFunction);
7
+ }
8
+ const [input, ifFunction, theFunction] = args;
9
+ if (ifFunction(input)) {
10
+ return theFunction(input);
11
+ }
12
+ return input;
13
+ }
14
+
15
+ exports.when = when;
@@ -0,0 +1,13 @@
1
+ function when(...args) {
2
+ if (args.length === 2) {
3
+ const [ifFunction, theFunction] = args;
4
+ return (input) => when(input, ifFunction, theFunction);
5
+ }
6
+ const [input, ifFunction, theFunction] = args;
7
+ if (ifFunction(input)) {
8
+ return theFunction(input);
9
+ }
10
+ return input;
11
+ }
12
+
13
+ export { when };
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ function whenNot(...args) {
4
+ if (args.length === 2) {
5
+ const [ifFunction, theFunction] = args;
6
+ return (input) => whenNot(input, ifFunction, theFunction);
7
+ }
8
+ const [input, ifFunction, theFunction] = args;
9
+ if (!ifFunction(input)) {
10
+ return theFunction(input);
11
+ }
12
+ return input;
13
+ }
14
+
15
+ exports.whenNot = whenNot;
@@ -0,0 +1,13 @@
1
+ function whenNot(...args) {
2
+ if (args.length === 2) {
3
+ const [ifFunction, theFunction] = args;
4
+ return (input) => whenNot(input, ifFunction, theFunction);
5
+ }
6
+ const [input, ifFunction, theFunction] = args;
7
+ if (!ifFunction(input)) {
8
+ return theFunction(input);
9
+ }
10
+ return input;
11
+ }
12
+
13
+ export { whenNot };
@@ -6,7 +6,9 @@ import { type Kind } from "../../common/kind";
6
6
  import { eitherBoolKind } from "./base";
7
7
  export type BoolFalsyValue = 0 | "" | undefined | null | false;
8
8
  export declare const eitherBoolFalsyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-bool-falsy", unknown>>;
9
- export type EitherBoolFalsy<GenericValue extends BoolFalsyValue = BoolFalsyValue> = (EitherLeft<"bool", GenericValue> & Kind<typeof eitherBoolKind.definition> & Kind<typeof eitherBoolFalsyKind.definition>);
9
+ type _EitherBoolFalsy<GenericValue extends BoolFalsyValue = BoolFalsyValue> = (EitherLeft<"bool", GenericValue> & Kind<typeof eitherBoolKind.definition> & Kind<typeof eitherBoolFalsyKind.definition>);
10
+ export interface EitherBoolFalsy<GenericValue extends BoolFalsyValue = BoolFalsyValue> extends _EitherBoolFalsy<GenericValue> {
11
+ }
10
12
  export declare function boolFalsy<const GenericValue extends BoolFalsyValue = undefined>(value?: GenericValue): EitherBoolFalsy<GenericValue>;
11
13
  type Either = EitherRight | EitherLeft;
12
14
  export declare function isBoolFalsy<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherBoolFalsy>;
@@ -5,7 +5,9 @@ import { type Kind } from "../../common/kind";
5
5
  import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
6
6
  import { eitherBoolKind } from "./base";
7
7
  export declare const eitherBoolTruthyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-bool-truthy", unknown>>;
8
- export type EitherBoolTruthy<GenericValue extends unknown = unknown> = (EitherRight<"bool", GenericValue> & Kind<typeof eitherBoolKind.definition> & Kind<typeof eitherBoolTruthyKind.definition>);
8
+ type _EitherBoolTruthy<GenericValue extends unknown = unknown> = (EitherRight<"bool", GenericValue> & Kind<typeof eitherBoolKind.definition> & Kind<typeof eitherBoolTruthyKind.definition>);
9
+ export interface EitherBoolTruthy<GenericValue extends unknown = unknown> extends _EitherBoolTruthy<GenericValue> {
10
+ }
9
11
  export declare function boolTruthy<const GenericValue extends unknown>(value: GenericValue): EitherBoolTruthy<GenericValue>;
10
12
  type Either = EitherRight | EitherLeft;
11
13
  export declare function isBoolTruthy<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherBoolTruthy>;
@@ -2,5 +2,8 @@ import { type Kind } from "../../common/kind";
2
2
  import { type EitherLeft } from "../left";
3
3
  import { eitherFutureKind } from "./base";
4
4
  export declare const eitherFutureErrorKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-future-error", unknown>>;
5
- export type EitherFutureError = (EitherLeft<"future", unknown> & Kind<typeof eitherFutureKind.definition> & Kind<typeof eitherFutureErrorKind.definition>);
5
+ type _EitherFutureError = (EitherLeft<"future", unknown> & Kind<typeof eitherFutureKind.definition> & Kind<typeof eitherFutureErrorKind.definition>);
6
+ export interface EitherFutureError extends _EitherFutureError {
7
+ }
6
8
  export declare function futureError(value: unknown): EitherFutureError;
9
+ export {};
@@ -2,3 +2,4 @@ export * from "./create";
2
2
  export * from "./error";
3
3
  export * from "./success";
4
4
  export * from "./base";
5
+ export * from "./maybeFutureEither";
@@ -2,5 +2,8 @@ import { type EitherRight } from "../right";
2
2
  import { type Kind } from "../../common/kind";
3
3
  import { eitherFutureKind } from "./base";
4
4
  export declare const eitherFutureSuccessKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-future-success", unknown>>;
5
- export type EitherFutureSuccess<GenericValue extends unknown = unknown> = (EitherRight<"future", GenericValue> & Kind<typeof eitherFutureKind.definition> & Kind<typeof eitherFutureSuccessKind.definition>);
5
+ type _EitherFutureSuccess<GenericValue extends unknown = unknown> = (EitherRight<"future", GenericValue> & Kind<typeof eitherFutureKind.definition> & Kind<typeof eitherFutureSuccessKind.definition>);
6
+ export interface EitherFutureSuccess<GenericValue extends unknown = unknown> extends _EitherFutureSuccess<GenericValue> {
7
+ }
6
8
  export declare function futureSuccess<const GenericValue extends unknown>(value: GenericValue): EitherFutureSuccess<GenericValue>;
9
+ export {};
@@ -2,5 +2,8 @@ import { type Kind } from "../../common/kind";
2
2
  import { type WrappedValue } from "../../common/wrapValue";
3
3
  import { eitherInformationKind } from "../base";
4
4
  export declare const eitherLeftKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-left", unknown>>;
5
- export type EitherLeft<GenericInformation extends string = string, GenericValue extends unknown = unknown> = (Kind<typeof eitherLeftKind.definition> & Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue<GenericValue>);
5
+ type _EitherLeft<GenericInformation extends string = string, GenericValue extends unknown = unknown> = (Kind<typeof eitherLeftKind.definition> & Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue<GenericValue>);
6
+ export interface EitherLeft<GenericInformation extends string = string, GenericValue extends unknown = unknown> extends _EitherLeft<GenericInformation, GenericValue> {
7
+ }
6
8
  export declare function left<GenericInformation extends string, const GenericValue extends unknown = undefined>(information: GenericInformation, value?: GenericValue): EitherLeft<GenericInformation, GenericValue>;
9
+ export {};
@@ -1,5 +1,8 @@
1
1
  import { type Kind } from "../../common/kind";
2
2
  import { type EitherLeft } from "./create";
3
3
  export declare const eitherErrorKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-error", unknown>>;
4
- export type EitherError<GenericValue extends unknown = unknown> = (EitherLeft<"error", GenericValue> & Kind<typeof eitherErrorKind.definition>);
4
+ type _EitherError<GenericValue extends unknown = unknown> = (EitherLeft<"error", GenericValue> & Kind<typeof eitherErrorKind.definition>);
5
+ export interface EitherError<GenericValue extends unknown = unknown> extends _EitherError<GenericValue> {
6
+ }
5
7
  export declare function error<const GenericValue extends unknown>(value: GenericValue): EitherError<GenericValue>;
8
+ export {};
@@ -1,5 +1,8 @@
1
1
  import { type Kind } from "../../common/kind";
2
2
  import { type EitherLeft } from "./create";
3
3
  export declare const eitherFailKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-fail", unknown>>;
4
- export type EitherFail = (EitherLeft<"fail", never> & Kind<typeof eitherFailKind.definition>);
4
+ type _EitherFail = (EitherLeft<"fail", never> & Kind<typeof eitherFailKind.definition>);
5
+ export interface EitherFail extends _EitherFail {
6
+ }
5
7
  export declare function fail(): EitherFail;
8
+ export {};
@@ -5,7 +5,9 @@ import { type EitherRight } from "../right";
5
5
  import { nullable } from "./create";
6
6
  import { eitherNullableKind } from "./base";
7
7
  export declare const eitherNullableEmptyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-nullable-empty", unknown>>;
8
- export type EitherNullableEmpty = (EitherLeft<"nullable", null> & Kind<typeof eitherNullableKind.definition> & Kind<typeof eitherNullableEmptyKind.definition>);
8
+ type _EitherNullableEmpty = (EitherLeft<"nullable", null> & Kind<typeof eitherNullableKind.definition> & Kind<typeof eitherNullableEmptyKind.definition>);
9
+ export interface EitherNullableEmpty extends _EitherNullableEmpty {
10
+ }
9
11
  type Either = EitherRight | EitherLeft;
10
12
  export declare function nullableEmpty(): EitherNullableEmpty;
11
13
  export declare function isNullableEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullableEmpty>;
@@ -5,7 +5,9 @@ import { type EitherRight } from "../right";
5
5
  import { nullable } from "./create";
6
6
  import { eitherNullableKind } from "./base";
7
7
  export declare const eitherNullableFilledKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-nullable-filled", unknown>>;
8
- export type EitherNullableFilled<GenericValue extends unknown = unknown> = (EitherRight<"nullable", GenericValue> & Kind<typeof eitherNullableKind.definition> & Kind<typeof eitherNullableFilledKind.definition>);
8
+ type _EitherNullableFilled<GenericValue extends unknown = unknown> = (EitherRight<"nullable", GenericValue> & Kind<typeof eitherNullableKind.definition> & Kind<typeof eitherNullableFilledKind.definition>);
9
+ export interface EitherNullableFilled<GenericValue extends unknown = unknown> extends _EitherNullableFilled<GenericValue> {
10
+ }
9
11
  type Either = EitherRight | EitherLeft;
10
12
  export declare function nullableFilled<const GenericValue extends unknown>(value: GenericValue): EitherNullableFilled<GenericValue>;
11
13
  export declare function isNullableFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullableFilled>;
@@ -6,7 +6,9 @@ import { type Kind } from "../../common/kind";
6
6
  import { eitherNullishKind } from "./base";
7
7
  export type NullishValue = null | undefined;
8
8
  export declare const eitherNullishEmptyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-nullish-empty", unknown>>;
9
- export type EitherNullishEmpty<GenericValue extends NullishValue = NullishValue> = (EitherLeft<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishEmptyKind.definition>);
9
+ type _EitherNullishEmpty<GenericValue extends NullishValue = NullishValue> = (EitherLeft<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishEmptyKind.definition>);
10
+ export interface EitherNullishEmpty<GenericValue extends NullishValue = NullishValue> extends _EitherNullishEmpty<GenericValue> {
11
+ }
10
12
  export declare function nullishEmpty<const GenericValue extends NullishValue = undefined>(value?: GenericValue): EitherNullishEmpty<GenericValue>;
11
13
  type Either = EitherRight | EitherLeft;
12
14
  export declare function isNullishEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishEmpty>;
@@ -5,7 +5,9 @@ import { type Kind } from "../../common/kind";
5
5
  import { type EscapeVoid, type AnyValue, type Unwrap } 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
- export type EitherNullishFilled<GenericValue extends unknown = unknown> = (EitherRight<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishFilledKind.definition>);
8
+ type _EitherNullishFilled<GenericValue extends unknown = unknown> = (EitherRight<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishFilledKind.definition>);
9
+ export interface EitherNullishFilled<GenericValue extends unknown = unknown> extends _EitherNullishFilled<GenericValue> {
10
+ }
9
11
  export declare function nullishFilled<const GenericValue extends unknown>(value: GenericValue): EitherNullishFilled<GenericValue>;
10
12
  type Either = EitherRight | EitherLeft;
11
13
  export declare function isNullishFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishFilled>;
@@ -5,7 +5,9 @@ import { type EitherRight } from "../right";
5
5
  import { optional } from "./create";
6
6
  import { eitherOptionalKind } from "./base";
7
7
  export declare const eitherOptionalEmptyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-optional-empty", unknown>>;
8
- export type EitherOptionalEmpty = (EitherLeft<"optional", undefined> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalEmptyKind.definition>);
8
+ type _EitherOptionalEmpty = (EitherLeft<"optional", undefined> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalEmptyKind.definition>);
9
+ export interface EitherOptionalEmpty extends _EitherOptionalEmpty {
10
+ }
9
11
  type Either = EitherRight | EitherLeft;
10
12
  export declare function optionalEmpty(): EitherOptionalEmpty;
11
13
  export declare function isOptionalEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalEmpty>;
@@ -5,7 +5,9 @@ import { type EitherRight } from "../right";
5
5
  import { optional } from "./create";
6
6
  import { eitherOptionalKind } from "./base";
7
7
  export declare const eitherOptionalFilledKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-optional-filled", unknown>>;
8
- export type EitherOptionalFilled<GenericValue extends unknown = unknown> = (EitherRight<"optional", GenericValue> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalFilledKind.definition>);
8
+ type _EitherOptionalFilled<GenericValue extends unknown = unknown> = (EitherRight<"optional", GenericValue> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalFilledKind.definition>);
9
+ export interface EitherOptionalFilled<GenericValue extends unknown = unknown> extends _EitherOptionalFilled<GenericValue> {
10
+ }
9
11
  type Either = EitherRight | EitherLeft;
10
12
  export declare function optionalFilled<const GenericValue extends unknown>(value: GenericValue): EitherOptionalFilled<GenericValue>;
11
13
  export declare function isOptionalFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalFilled>;
@@ -1,6 +1,6 @@
1
1
  import { type EitherRight } from "./create";
2
2
  import { type EitherLeft } from "../left";
3
- import { type MaybeFutureEither } from "../future/MaybeFutureEither";
3
+ import { type MaybeFutureEither } from "../future/maybeFutureEither";
4
4
  import { type Future } from "../future";
5
5
  import { type EitherSuccess } from "./success";
6
6
  import { type Unwrap, type AnyValue } from "../../common";
@@ -2,5 +2,8 @@ import { type Kind } from "../../common/kind";
2
2
  import { type WrappedValue } from "../../common/wrapValue";
3
3
  import { eitherInformationKind } from "../base";
4
4
  export declare const eitherRightKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-right", unknown>>;
5
- export type EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> = (Kind<typeof eitherRightKind.definition> & Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue<GenericValue>);
5
+ type _EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> = (Kind<typeof eitherRightKind.definition> & Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue<GenericValue>);
6
+ export interface EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> extends _EitherRight<GenericInformation, GenericValue> {
7
+ }
6
8
  export declare function right<GenericInformation extends string, const GenericValue extends unknown = undefined>(information: GenericInformation, value?: GenericValue): EitherRight<GenericInformation, GenericValue>;
9
+ export {};
@@ -1,5 +1,8 @@
1
1
  import { type Kind } from "../../common/kind";
2
2
  import { type EitherRight } from "./create";
3
3
  export declare const eitherOkKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-ok", unknown>>;
4
- export type EitherOk = (EitherRight<"ok", never> & Kind<typeof eitherOkKind.definition>);
4
+ type _EitherOk = (EitherRight<"ok", never> & Kind<typeof eitherOkKind.definition>);
5
+ export interface EitherOk extends _EitherOk {
6
+ }
5
7
  export declare function ok(): EitherOk;
8
+ export {};
@@ -1,5 +1,8 @@
1
1
  import { type EitherRight } from "./create";
2
2
  import { type Kind } from "../../common/kind";
3
3
  export declare const eitherSuccessKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-success", unknown>>;
4
- export type EitherSuccess<GenericValue extends unknown = unknown> = (EitherRight<"success", GenericValue> & Kind<typeof eitherSuccessKind.definition>);
4
+ type _EitherSuccess<GenericValue extends unknown = unknown> = (EitherRight<"success", GenericValue> & Kind<typeof eitherSuccessKind.definition>);
5
+ export interface EitherSuccess<GenericValue extends unknown = unknown> extends _EitherSuccess<GenericValue> {
6
+ }
5
7
  export declare function success<const GenericValue extends unknown>(value: GenericValue): EitherSuccess<GenericValue>;
8
+ export {};
package/dist/index.cjs CHANGED
@@ -26,6 +26,8 @@ var innerPipe = require('./common/innerPipe.cjs');
26
26
  var asyncInnerPipe = require('./common/asyncInnerPipe.cjs');
27
27
  var loop = require('./common/loop.cjs');
28
28
  var forward = require('./common/forward.cjs');
29
+ var when = require('./common/when.cjs');
30
+ var whenNot = require('./common/whenNot.cjs');
29
31
  var index = require('./array/index.cjs');
30
32
  var index$1 = require('./number/index.cjs');
31
33
  var index$2 = require('./either/index.cjs');
@@ -68,6 +70,8 @@ exports.innerPipe = innerPipe.innerPipe;
68
70
  exports.asyncInnerPipe = asyncInnerPipe.asyncInnerPipe;
69
71
  exports.loop = loop.loop;
70
72
  exports.forward = forward.forward;
73
+ exports.when = when.when;
74
+ exports.whenNot = whenNot.whenNot;
71
75
  exports.A = index;
72
76
  exports.DArray = index;
73
77
  exports.DNumber = index$1;
package/dist/index.mjs CHANGED
@@ -24,6 +24,8 @@ export { innerPipe } from './common/innerPipe.mjs';
24
24
  export { asyncInnerPipe } from './common/asyncInnerPipe.mjs';
25
25
  export { loop } from './common/loop.mjs';
26
26
  export { forward } from './common/forward.mjs';
27
+ export { when } from './common/when.mjs';
28
+ export { whenNot } from './common/whenNot.mjs';
27
29
  import * as index from './array/index.mjs';
28
30
  export { index as A };
29
31
  export { index as DArray };
@@ -1,6 +1,6 @@
1
- import { type IsEqual, type AnyValue, type EscapeVoid, type FixDeepFunctionInfer } from "../common";
1
+ import { type IsEqual, type AnyValue, type EscapeVoid, type FixDeepFunctionInfer, type BreakGenericLink } from "../common";
2
2
  import { type PatternValue, type Pattern } from "./types/pattern";
3
3
  import { type PatternResult } from "./result";
4
4
  import { type ComplexMatchedValue, type ComplexUnMatchedValue } from "./types";
5
- export declare function match<GenericInput extends AnyValue, GenericInputValue extends Exclude<GenericInput, PatternResult>, GenericInputPatternResult extends Extract<GenericInput, PatternResult>, const GenericPattern extends Pattern<GenericInputValue>, GenericPatternValue extends PatternValue<GenericPattern>, GenericOutput extends AnyValue | EscapeVoid, GenericMatchedValue extends Extract<ComplexMatchedValue<GenericInputValue, GenericPatternValue>, any>>(pattern: FixDeepFunctionInfer<Pattern<GenericInputValue>, GenericPattern>, theFunction: (value: Extract<ComplexMatchedValue<GenericInputValue, PatternValue<GenericPattern>>, any>) => GenericOutput): (input: GenericInput | GenericInputValue | GenericInputPatternResult) => ((IsEqual<GenericMatchedValue, never> extends true ? never : PatternResult<GenericOutput>) | GenericInputPatternResult | Extract<ComplexUnMatchedValue<GenericInputValue, GenericPatternValue>, any>);
5
+ export declare function match<GenericInput extends AnyValue, GenericInputValue extends Exclude<GenericInput, PatternResult>, GenericInputPatternResult extends Extract<GenericInput, PatternResult>, const GenericPattern extends Pattern<GenericInputValue>, GenericPatternValue extends PatternValue<GenericPattern>, GenericOutput extends AnyValue | EscapeVoid, GenericMatchedValue extends Extract<ComplexMatchedValue<GenericInputValue, GenericPatternValue>, any>>(pattern: FixDeepFunctionInfer<Pattern<GenericInputValue>, GenericPattern>, theFunction: (value: Extract<ComplexMatchedValue<GenericInputValue, PatternValue<GenericPattern>>, any>) => GenericOutput): (input: GenericInput | GenericInputValue | GenericInputPatternResult) => ((IsEqual<GenericMatchedValue, never> extends true ? never : PatternResult<GenericOutput>) | GenericInputPatternResult | (Extract<ComplexUnMatchedValue<GenericInputValue, GenericPatternValue>, any> extends infer InferredResult ? BreakGenericLink<InferredResult> : never));
6
6
  export declare function match<GenericInput extends AnyValue, GenericInputValue extends Exclude<GenericInput, PatternResult>, GenericInputPatternResult extends Extract<GenericInput, PatternResult>, const GenericPattern extends Pattern<GenericInputValue>, GenericPatternValue extends PatternValue<GenericPattern>, GenericOutput extends AnyValue | EscapeVoid, GenericMatchedValue extends Extract<ComplexMatchedValue<GenericInputValue, GenericPatternValue>, any>>(input: GenericInput | GenericInputValue | GenericInputPatternResult, pattern: FixDeepFunctionInfer<Pattern<GenericInputValue>, GenericPattern>, theFunction: (value: Extract<ComplexMatchedValue<GenericInputValue, PatternValue<GenericPattern>>, any>) => GenericOutput): ((IsEqual<GenericMatchedValue, never> extends true ? never : PatternResult<GenericOutput>) | GenericInputPatternResult | Extract<ComplexUnMatchedValue<GenericInputValue, GenericPatternValue>, any>);
@@ -25,10 +25,10 @@ type ComplexMatchedTupleTuple<GenericInput extends unknown, GenericPatternValue
25
25
  ] extends [
26
26
  readonly [infer InferredInputFirst, ...infer inferredInputRest],
27
27
  readonly [infer InferredPatternValueFirst, ...infer inferredPatternValueRest]
28
- ] ? Extract<ComplexMatchedValue<InferredInputFirst, InferredPatternValueFirst>, any> extends infer InferredResult extends InferredInputFirst ? IsEqual<InferredResult, never> extends true ? never : [
28
+ ] ? Extract<ComplexMatchedValue<InferredInputFirst, InferredPatternValueFirst>, any> extends infer InferredResult ? Extract<InferredResult, any> extends InferredInputFirst ? IsEqual<InferredResult, never> extends true ? never : [
29
29
  InferredResult,
30
30
  ...Adaptor<(IsEqual<inferredPatternValueRest[number], never> extends true ? inferredInputRest : ComplexMatchedValue<inferredInputRest, inferredPatternValueRest>), readonly any[]>
31
- ] : never : never : never : never : never : never);
31
+ ] : never : never : never : never : never : never : never);
32
32
  type ComplexMatchedArrayArray<GenericInput extends unknown, GenericPatternValue extends unknown> = ([
33
33
  Exclude<Extract<GenericInput, readonly any[]>, AnyTuple>,
34
34
  Exclude<Extract<GenericPatternValue, readonly any[]>, AnyTuple>
@@ -8,4 +8,4 @@ export type ComplexMatchedObject<GenericInput extends unknown, GenericPatternVal
8
8
  infer InferredPatternValue
9
9
  ] ? InferredInput extends any ? InferredPatternValue extends any ? Extract<InferredInput, InferredPatternValue> extends infer InferredObviousMatchedValue ? IsEqual<InferredObviousMatchedValue, never> extends false ? InferredObviousMatchedValue : IsEqual<Extract<keyof InferredInput, keyof InferredPatternValue>, keyof InferredPatternValue> extends false ? never : SimplifyTopLevel<Omit<InferredInput, keyof InferredPatternValue> & {
10
10
  -readonly [Prop in keyof InferredPatternValue]: Extract<ComplexMatchedValue<InferredInput[Adaptor<Prop, keyof InferredInput>], InferredPatternValue[Prop]>, any>;
11
- }> extends infer InferredResult extends InferredInput ? IsEqual<InferredResult, InferredInput> extends true ? InferredInput : InferredResult : never : never : never : never : never);
11
+ }> extends infer InferredResult ? Extract<InferredResult, any> extends InferredInput ? IsEqual<InferredResult, InferredInput> extends true ? InferredInput : InferredResult : never : never : never : never : never : never);
@@ -1,3 +1,3 @@
1
- import { type NormalizeForm } from "./types/NormalizeForm";
1
+ import { type NormalizeForm } from "./types/normalizeForm";
2
2
  export declare function normalize<GenericInput extends string>(form: NormalizeForm): (input: GenericInput) => string;
3
3
  export declare function normalize<GenericInput extends string>(input: GenericInput, form: NormalizeForm): string;
@@ -5,10 +5,6 @@ function split(...args) {
5
5
  const [separator] = args;
6
6
  return (input) => split(input, separator);
7
7
  }
8
- if (args.length === 2 && typeof args[1] === "object" && !(args[1] instanceof RegExp)) {
9
- const [separator, params] = args;
10
- return (input) => split(input, separator, params);
11
- }
12
8
  const [input, separator, params] = args;
13
9
  return input.split(separator, params?.limit);
14
10
  }
@@ -1,9 +1,7 @@
1
- import type { SplitString } from "./types/split";
1
+ import type { Split } from "./types/split";
2
2
  interface StringSplitParams<GenericLimit extends number> {
3
3
  limit: GenericLimit;
4
4
  }
5
- export declare function split<GenericString extends string, GenericSeparator extends string | RegExp, GenericLimit extends number>(separator: GenericSeparator, params: StringSplitParams<GenericLimit>): (input: GenericString) => SplitString<GenericString, GenericSeparator, GenericLimit>;
6
- export declare function split<GenericString extends string, GenericSeparator extends string | RegExp>(separator: GenericSeparator): (input: GenericString) => SplitString<GenericString, GenericSeparator>;
7
- export declare function split<GenericString extends string, GenericSeparator extends string | RegExp, GenericLimit extends number>(input: GenericString, separator: GenericSeparator, params: StringSplitParams<GenericLimit>): SplitString<GenericString, GenericSeparator, GenericLimit>;
8
- export declare function split<GenericString extends string, GenericSeparator extends string | RegExp>(input: GenericString, separator: GenericSeparator): SplitString<GenericString, GenericSeparator>;
5
+ export declare function split<GenericString extends string, GenericSeparator extends string>(separator: GenericSeparator | RegExp): (input: GenericString) => Split<GenericString, GenericSeparator>;
6
+ export declare function split<GenericString extends string, GenericSeparator extends string, GenericLimit extends number>(input: GenericString, separator: GenericSeparator | RegExp, params?: StringSplitParams<GenericLimit>): Split<GenericString, GenericSeparator, GenericLimit>;
9
7
  export {};
@@ -3,10 +3,6 @@ function split(...args) {
3
3
  const [separator] = args;
4
4
  return (input) => split(input, separator);
5
5
  }
6
- if (args.length === 2 && typeof args[1] === "object" && !(args[1] instanceof RegExp)) {
7
- const [separator, params] = args;
8
- return (input) => split(input, separator, params);
9
- }
10
6
  const [input, separator, params] = args;
11
7
  return input.split(separator, params?.limit);
12
8
  }
@@ -3,3 +3,5 @@ export * from "./first";
3
3
  export * from "./includes";
4
4
  export * from "./endsWith";
5
5
  export * from "./startsWith";
6
+ export * from "./normalizeForm";
7
+ export * from "./split";
@@ -1,9 +1,6 @@
1
- export type SplitString<GenericString extends string, GenericSeparator extends string | RegExp, GenericLimit extends number = never, GenericDepth extends readonly unknown[] = []> = GenericDepth["length"] extends 40 ? string[] : GenericSeparator extends string ? [GenericLimit] extends [never] ? GenericString extends `${infer InferredBefore}${GenericSeparator}${infer InferredAfter}` ? [InferredBefore, ...SplitString<InferredAfter, GenericSeparator, never, [...GenericDepth, unknown]>] : [GenericString] : SplitStringWithLimit<GenericString, GenericSeparator, GenericLimit, []> : string[];
2
- type SplitStringWithLimit<GenericString extends string, GenericSeparator extends string, GenericLimit extends number, GenericResult extends string[], GenericCount extends readonly unknown[] = []> = GenericResult["length"] extends GenericLimit ? GenericResult : GenericString extends `${infer InferredBefore}${GenericSeparator}${infer InferredAfter}` ? SplitStringWithLimit<InferredAfter, GenericSeparator, GenericLimit, [
3
- ...GenericResult,
4
- InferredBefore
5
- ], [
6
- ...GenericCount,
7
- unknown
8
- ]> : [...GenericResult, GenericString];
9
- export {};
1
+ import { type Or, type IsEqual } from "../../common";
2
+ import { type Includes } from "./includes";
3
+ export type Split<GenericString extends string, GenericSeparator extends string, GenericLimit extends number = number, GenericLastResult extends string[] = []> = Or<[
4
+ IsEqual<GenericString, string>,
5
+ IsEqual<GenericSeparator, string>
6
+ ]> extends true ? string[] : GenericString extends `${infer InferredBefore}${GenericSeparator}${infer InferredAfter}` ? [...GenericLastResult, InferredBefore] extends infer InferredResult extends any[] ? IsEqual<InferredAfter, ""> extends true ? InferredResult : IsEqual<InferredResult["length"], 250> extends true ? Includes<InferredAfter, GenericSeparator> extends true ? [...InferredResult, ...string[]] : InferredResult : IsEqual<InferredResult["length"], GenericLimit> extends true ? InferredResult : Split<InferredAfter, GenericSeparator, GenericLimit, InferredResult> : never : [...GenericLastResult, GenericString];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/utils",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "author": "mathcovax",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -46,6 +46,7 @@
46
46
  "vite-tsconfig-paths": "5.1.4",
47
47
  "vitest": "3.2.4"
48
48
  },
49
+ "workspaces": ["integration"],
49
50
  "keywords": [],
50
51
  "engines": {
51
52
  "node": ">=22.15.1"
@@ -1,6 +0,0 @@
1
- import { type AddOne } from "./addOne";
2
- import { type IsEqual } from "./isEqual";
3
- export type CreateTupleFromLength<GenericInnerValue extends unknown, GenericLength extends number, GenericIncrement extends number = 1> = IsEqual<GenericLength, number> extends false ? GenericLength extends GenericIncrement ? [GenericInnerValue, ...GenericInnerValue[]] : [
4
- GenericInnerValue,
5
- ...(GenericIncrement extends 48 ? GenericInnerValue[] : CreateTupleFromLength<GenericInnerValue, GenericLength, AddOne<GenericIncrement>>)
6
- ] : GenericInnerValue[];