@fncts/base 0.0.29 → 0.0.30
Sign up to get free protection for your applications and to get access to all the features.
- package/_cjs/collection/immutable/HashSet/api.cjs +18 -7
- package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/definition.cjs +2 -2
- package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
- package/_cjs/control/Eval/api.cjs +4 -1
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/constructors.cjs +9 -2
- package/_cjs/control/Eval/constructors.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +10 -28
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/Eval/run.cjs +7 -7
- package/_cjs/control/Eval/run.cjs.map +1 -1
- package/_cjs/control/{Z → Pure}/api.cjs +146 -115
- package/_cjs/control/Pure/api.cjs.map +1 -0
- package/_cjs/control/Pure/definition.cjs +78 -0
- package/_cjs/control/Pure/definition.cjs.map +1 -0
- package/_cjs/control/{Z → Pure}/instances.cjs +1 -1
- package/_cjs/control/Pure/instances.cjs.map +1 -0
- package/_cjs/control/{Z → Pure}/runtime.cjs +67 -66
- package/_cjs/control/Pure/runtime.cjs.map +1 -0
- package/_cjs/control/{Z.cjs → Pure.cjs} +5 -5
- package/_cjs/control/Pure.cjs.map +1 -0
- package/_cjs/data/Showable/show.cjs +31 -31
- package/_cjs/data/Showable/show.cjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +17 -7
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/definition.mjs +2 -2
- package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
- package/_mjs/control/Eval/api.mjs +5 -2
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/constructors.mjs +10 -3
- package/_mjs/control/Eval/constructors.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +7 -25
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/Eval/run.mjs +7 -7
- package/_mjs/control/Eval/run.mjs.map +1 -1
- package/_mjs/control/{Z → Pure}/api.mjs +134 -104
- package/_mjs/control/Pure/api.mjs.map +1 -0
- package/_mjs/control/Pure/definition.mjs +60 -0
- package/_mjs/control/Pure/definition.mjs.map +1 -0
- package/_mjs/control/{Z → Pure}/instances.mjs +1 -1
- package/_mjs/control/Pure/instances.mjs.map +1 -0
- package/_mjs/control/{Z → Pure}/runtime.mjs +68 -67
- package/_mjs/control/Pure/runtime.mjs.map +1 -0
- package/_mjs/control/Pure.mjs +6 -0
- package/_mjs/control/Pure.mjs.map +1 -0
- package/_mjs/data/Showable/show.mjs +31 -31
- package/_mjs/data/Showable/show.mjs.map +1 -1
- package/_src/collection/immutable/HashSet/api.ts +12 -1
- package/_src/collection/immutable/HashSet/definition.ts +2 -2
- package/_src/control/Eval/api.ts +5 -2
- package/_src/control/Eval/constructors.ts +10 -3
- package/_src/control/Eval/definition.ts +39 -27
- package/_src/control/Eval/run.ts +7 -7
- package/_src/control/Pure/api.ts +629 -0
- package/_src/control/Pure/definition.ts +222 -0
- package/_src/control/{Z → Pure}/instances.ts +3 -3
- package/_src/control/{Z → Pure}/runtime.ts +73 -76
- package/_src/control/Pure.ts +6 -0
- package/_src/control.ts +1 -1
- package/_src/data/Showable/show.ts +55 -53
- package/_src/global.ts +1 -1
- package/collection/immutable/HashSet/api.d.ts +5 -0
- package/collection/immutable/HashSet/definition.d.ts +1 -1
- package/control/Eval/constructors.d.ts +4 -0
- package/control/Eval/definition.d.ts +25 -28
- package/control/Pure/api.d.ts +345 -0
- package/control/Pure/definition.d.ts +156 -0
- package/control/Pure/instances.d.ts +8 -0
- package/control/Pure/runtime.d.ts +56 -0
- package/control/Pure.d.ts +4 -0
- package/control.d.ts +1 -1
- package/data/Showable/show.d.ts +2 -2
- package/global.d.ts +1 -1
- package/package.json +1 -1
- package/_cjs/control/Z/api.cjs.map +0 -1
- package/_cjs/control/Z/definition.cjs +0 -163
- package/_cjs/control/Z/definition.cjs.map +0 -1
- package/_cjs/control/Z/instances.cjs.map +0 -1
- package/_cjs/control/Z/runtime.cjs.map +0 -1
- package/_cjs/control/Z.cjs.map +0 -1
- package/_mjs/control/Z/api.mjs.map +0 -1
- package/_mjs/control/Z/definition.mjs +0 -145
- package/_mjs/control/Z/definition.mjs.map +0 -1
- package/_mjs/control/Z/instances.mjs.map +0 -1
- package/_mjs/control/Z/runtime.mjs.map +0 -1
- package/_mjs/control/Z.mjs +0 -6
- package/_mjs/control/Z.mjs.map +0 -1
- package/_src/control/Z/api.ts +0 -590
- package/_src/control/Z/definition.ts +0 -199
- package/_src/control/Z.ts +0 -6
- package/control/Z/api.d.ts +0 -345
- package/control/Z/definition.d.ts +0 -151
- package/control/Z/instances.d.ts +0 -8
- package/control/Z/runtime.d.ts +0 -56
- package/control/Z.d.ts +0 -4
@@ -1,151 +0,0 @@
|
|
1
|
-
import { HKT } from "@fncts/typelevel/HKT";
|
2
|
-
import { Cause } from "@fncts/base/data/Cause/definition";
|
3
|
-
import { Conc } from "@fncts/base/collection/immutable/Conc";
|
4
|
-
import { Environment } from "@fncts/base/data/Environment/definition";
|
5
|
-
export interface ZF extends HKT {
|
6
|
-
type: Z<this["W"], this["S"], this["S"], this["R"], this["E"], this["A"]>;
|
7
|
-
variance: {
|
8
|
-
W: "+";
|
9
|
-
S: "_";
|
10
|
-
R: "-";
|
11
|
-
E: "+";
|
12
|
-
A: "+";
|
13
|
-
};
|
14
|
-
}
|
15
|
-
export declare const ZVariance: unique symbol;
|
16
|
-
export type ZVariance = typeof ZVariance;
|
17
|
-
export declare const ZTypeId: unique symbol;
|
18
|
-
export type ZTypeId = typeof ZTypeId;
|
19
|
-
/**
|
20
|
-
* `Z<W, S1, S2, R, E, A>` is a purely functional description of a synchronous computation
|
21
|
-
* that requires an environment `R` and an initial state `S1` and may either
|
22
|
-
* fail with an `E` or succeed with an updated state `S2` and an `A`. Because
|
23
|
-
* of its polymorphism `Z` can be used to model a variety of effects
|
24
|
-
* including context, state, failure, and logging.
|
25
|
-
*
|
26
|
-
* @note named `Z` in honor of `ZIO` and because it is, surely, the last synchronous effect type
|
27
|
-
* one will ever need
|
28
|
-
*
|
29
|
-
* @tsplus type fncts.control.Z
|
30
|
-
* @tsplus companion fncts.control.ZOps
|
31
|
-
*/
|
32
|
-
export declare abstract class Z<W, S1, S2, R, E, A> {
|
33
|
-
readonly [ZTypeId]: ZTypeId;
|
34
|
-
[ZVariance]: {
|
35
|
-
readonly _W: (_: never) => W;
|
36
|
-
readonly _S1: (_: S1) => void;
|
37
|
-
readonly _S2: (_: never) => S2;
|
38
|
-
readonly _R: (_: never) => R;
|
39
|
-
readonly _E: (_: never) => E;
|
40
|
-
readonly _A: (_: never) => A;
|
41
|
-
};
|
42
|
-
}
|
43
|
-
/**
|
44
|
-
* @tsplus unify fncts.control.Z
|
45
|
-
*/
|
46
|
-
export declare function unifyZ<X extends Z<any, any, any, any, any, any>>(_: X): Z<[
|
47
|
-
X
|
48
|
-
] extends [Z<infer W, any, any, any, any, any>] ? W : never, [
|
49
|
-
X
|
50
|
-
] extends [Z<any, infer S1, any, any, any, any>] ? S1 : never, [
|
51
|
-
X
|
52
|
-
] extends [Z<any, any, infer S2, any, any, any>] ? S2 : never, [
|
53
|
-
X
|
54
|
-
] extends [Z<any, any, any, infer R, any, any>] ? R : never, [
|
55
|
-
X
|
56
|
-
] extends [Z<any, any, any, any, infer E, any>] ? E : never, [
|
57
|
-
X
|
58
|
-
] extends [Z<any, any, any, any, any, infer A>] ? A : never>;
|
59
|
-
/**
|
60
|
-
* @tsplus static fncts.control.ZOps isZ
|
61
|
-
* @tsplus location "@fncts/base/control/Z/definition"
|
62
|
-
*/
|
63
|
-
export declare function isZ(u: unknown): u is Z<unknown, unknown, unknown, unknown, unknown, unknown>;
|
64
|
-
export declare const enum ZTag {
|
65
|
-
SucceedNow = "SucceedNow",
|
66
|
-
Succeed = "Succeed",
|
67
|
-
Defer = "Defer",
|
68
|
-
Fail = "Fail",
|
69
|
-
Modify = "Modify",
|
70
|
-
Chain = "Chain",
|
71
|
-
Match = "Match",
|
72
|
-
Access = "Access",
|
73
|
-
Provide = "Provide",
|
74
|
-
Tell = "Tell",
|
75
|
-
Listen = "Listen",
|
76
|
-
MapLog = "MapLog"
|
77
|
-
}
|
78
|
-
export declare class SucceedNow<A> extends Z<never, unknown, never, never, never, A> {
|
79
|
-
readonly value: A;
|
80
|
-
readonly _tag = ZTag.SucceedNow;
|
81
|
-
constructor(value: A);
|
82
|
-
}
|
83
|
-
export declare class Succeed<A> extends Z<never, unknown, never, never, never, A> {
|
84
|
-
readonly effect: () => A;
|
85
|
-
readonly _tag = ZTag.Succeed;
|
86
|
-
constructor(effect: () => A);
|
87
|
-
}
|
88
|
-
export declare class Defer<W, S1, S2, R, E, A> extends Z<W, S1, S2, R, E, A> {
|
89
|
-
readonly make: () => Z<W, S1, S2, R, E, A>;
|
90
|
-
readonly _tag = ZTag.Defer;
|
91
|
-
constructor(make: () => Z<W, S1, S2, R, E, A>);
|
92
|
-
}
|
93
|
-
export declare class Fail<E> extends Z<never, unknown, never, never, E, never> {
|
94
|
-
readonly cause: Cause<E>;
|
95
|
-
readonly _tag = ZTag.Fail;
|
96
|
-
constructor(cause: Cause<E>);
|
97
|
-
}
|
98
|
-
export declare class Modify<S1, S2, A> extends Z<never, S1, S2, never, never, A> {
|
99
|
-
readonly run: (s1: S1) => readonly [A, S2];
|
100
|
-
readonly _tag = ZTag.Modify;
|
101
|
-
constructor(run: (s1: S1) => readonly [A, S2]);
|
102
|
-
}
|
103
|
-
export declare class Chain<W, S1, S2, R, E, A, W1, S3, Q, D, B> extends Z<W | W1, S1, S3, Q & R, D | E, B> {
|
104
|
-
readonly ma: Z<W, S1, S2, R, E, A>;
|
105
|
-
readonly f: (a: A) => Z<W1, S2, S3, Q, D, B>;
|
106
|
-
readonly _tag = ZTag.Chain;
|
107
|
-
constructor(ma: Z<W, S1, S2, R, E, A>, f: (a: A) => Z<W1, S2, S3, Q, D, B>);
|
108
|
-
}
|
109
|
-
export declare class Match<W, S1, S2, S5, R, E, A, W1, S3, R1, E1, B, W2, S4, R2, E2, C> extends Z<W1 | W2, S1 & S5, S3 | S4, R & R1 & R2, E1 | E2, B | C> {
|
110
|
-
readonly z: Z<W, S1, S2, R, E, A>;
|
111
|
-
readonly onFailure: (ws: Conc<W>, e: Cause<E>) => Z<W1, S5, S3, R1, E1, B>;
|
112
|
-
readonly onSuccess: (ws: Conc<W>, a: A) => Z<W2, S2, S4, R2, E2, C>;
|
113
|
-
readonly _tag = ZTag.Match;
|
114
|
-
constructor(z: Z<W, S1, S2, R, E, A>, onFailure: (ws: Conc<W>, e: Cause<E>) => Z<W1, S5, S3, R1, E1, B>, onSuccess: (ws: Conc<W>, a: A) => Z<W2, S2, S4, R2, E2, C>);
|
115
|
-
}
|
116
|
-
export declare class Access<W, R0, S1, S2, R, E, A> extends Z<W, S1, S2, R0 | R, E, A> {
|
117
|
-
readonly asks: (r: Environment<R0>) => Z<W, S1, S2, R, E, A>;
|
118
|
-
readonly _tag = ZTag.Access;
|
119
|
-
constructor(asks: (r: Environment<R0>) => Z<W, S1, S2, R, E, A>);
|
120
|
-
}
|
121
|
-
export declare class Provide<W, S1, S2, R, E, A> extends Z<W, S1, S2, never, E, A> {
|
122
|
-
readonly ma: Z<W, S1, S2, R, E, A>;
|
123
|
-
readonly env: Environment<R>;
|
124
|
-
readonly _tag = ZTag.Provide;
|
125
|
-
constructor(ma: Z<W, S1, S2, R, E, A>, env: Environment<R>);
|
126
|
-
}
|
127
|
-
export declare class Tell<W> extends Z<W, unknown, never, never, never, void> {
|
128
|
-
readonly log: Conc<W>;
|
129
|
-
readonly _tag = ZTag.Tell;
|
130
|
-
constructor(log: Conc<W>);
|
131
|
-
}
|
132
|
-
export declare class MapLog<W, S1, S2, R, E, A, W1> extends Z<W1, S1, S2, R, E, A> {
|
133
|
-
readonly ma: Z<W, S1, S2, R, E, A>;
|
134
|
-
readonly modifyLog: (ws: Conc<W>) => Conc<W1>;
|
135
|
-
readonly _tag = ZTag.MapLog;
|
136
|
-
constructor(ma: Z<W, S1, S2, R, E, A>, modifyLog: (ws: Conc<W>) => Conc<W1>);
|
137
|
-
}
|
138
|
-
export type Concrete = SucceedNow<any> | Fail<any> | Modify<any, any, any> | Chain<any, any, any, any, any, any, any, any, any, any, any> | Match<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> | Access<any, any, any, any, any, any, any> | Provide<any, any, any, any, any, any> | Defer<any, any, any, any, any, any> | Succeed<any> | Tell<any> | MapLog<any, any, any, any, any, any, any>;
|
139
|
-
/**
|
140
|
-
* @tsplus static fncts.control.ZOps concrete
|
141
|
-
* @tsplus location "@fncts/base/control/Z/definition"
|
142
|
-
*/
|
143
|
-
export declare function concrete(_: Z<any, any, any, any, any, any>): asserts _ is Concrete;
|
144
|
-
export declare const ZErrorTypeId: unique symbol;
|
145
|
-
export type ZErrorTypeId = typeof ZErrorTypeId;
|
146
|
-
export declare class ZError<E> {
|
147
|
-
readonly cause: Cause<E>;
|
148
|
-
readonly [ZErrorTypeId]: ZErrorTypeId;
|
149
|
-
constructor(cause: Cause<E>);
|
150
|
-
}
|
151
|
-
export declare function isZError(u: unknown): u is ZError<unknown>;
|
package/control/Z/instances.d.ts
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
import type * as P from "../../typeclass.js";
|
2
|
-
import type { ZF } from "./definition.js";
|
3
|
-
/**
|
4
|
-
* @tsplus static fncts.control.ZOps Applicative
|
5
|
-
* @tsplus implicit
|
6
|
-
* @tsplus location "@fncts/base/control/Z/instances"
|
7
|
-
*/
|
8
|
-
export declare const Applicative: P.Applicative<ZF, import("@fncts/typelevel/HKT.js").HKT.None>;
|
package/control/Z/runtime.d.ts
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
import { Z } from "@fncts/base/control/Z/definition";
|
2
|
-
import { Conc } from "@fncts/base/collection/immutable/Conc";
|
3
|
-
import { Exit } from "@fncts/base/data/Exit/definition";
|
4
|
-
import { Environment } from "@fncts/base/data/Environment/definition";
|
5
|
-
import { Cause } from "@fncts/base/data/Cause/definition";
|
6
|
-
/**
|
7
|
-
* Runs this computation with the specified initial state, returning either a
|
8
|
-
* failure or the updated state and the result
|
9
|
-
* @tsplus pipeable fncts.control.Z unsafeRunAll
|
10
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
11
|
-
*/
|
12
|
-
export declare function unsafeRunAll<S1>(s: S1): <W, S2, E, A>(ma: import("./definition.js").Z<W, S1, S2, never, E, A>) => readonly [import("../../collection/immutable/Conc.js").Conc<W>, import("../../data/Exit.js").Exit<E, readonly [S2, A]>];
|
13
|
-
/**
|
14
|
-
* Runs this computation with the specified initial state, returning both
|
15
|
-
* the updated state and the result.
|
16
|
-
* @tsplus pipeable fncts.control.Z unsafeRun
|
17
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
18
|
-
*/
|
19
|
-
export declare function unsafeRun<S1>(s: S1): <W, S2, A>(ma: import("./definition.js").Z<W, S1, S2, never, never, A>) => readonly [S2, A];
|
20
|
-
/**
|
21
|
-
* Runs this computation, returning the result.
|
22
|
-
* @tsplus getter fncts.control.Z unsafeRunResult
|
23
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
24
|
-
*/
|
25
|
-
export declare function unsafeRunResult<W, A>(ma: Z<W, unknown, unknown, never, never, A>): A;
|
26
|
-
/**
|
27
|
-
* Runs this computation with the given environment, returning the result.
|
28
|
-
* @tsplus pipeable fncts.control.Z unsafeRunReader
|
29
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
30
|
-
*/
|
31
|
-
export declare function unsafeRunReader<R>(r: Environment<R>): <W, A>(ma: import("./definition.js").Z<W, unknown, never, R, never, A>) => A;
|
32
|
-
/**
|
33
|
-
* Runs this computation with the specified initial state, returning the
|
34
|
-
* updated state and discarding the result.
|
35
|
-
* @tsplus pipeable fncts.control.Z unsafeRunState
|
36
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
37
|
-
*/
|
38
|
-
export declare function unsafeRunState<S1>(s: S1): <W, S2, A>(ma: import("./definition.js").Z<W, S1, S2, never, never, A>) => S2;
|
39
|
-
/**
|
40
|
-
* Runs this computation with the specified initial state, returning the
|
41
|
-
* result and discarding the updated state.
|
42
|
-
* @tsplus pipeable fncts.control.Z unsafeRunStateResult
|
43
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
44
|
-
*/
|
45
|
-
export declare function unsafeRunStateResult<S1>(s: S1): <W, S2, A>(ma: import("./definition.js").Z<W, S1, S2, never, never, A>) => A;
|
46
|
-
/**
|
47
|
-
* Runs this computation returning either the result or error
|
48
|
-
* @tsplus getter fncts.control.Z unsafeRunExit
|
49
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
50
|
-
*/
|
51
|
-
export declare function unsafeRunExit<E, A>(ma: Z<never, unknown, unknown, never, E, A>): Exit<E, A>;
|
52
|
-
/**
|
53
|
-
* @tsplus getter fncts.control.Z unsafeRunWriter
|
54
|
-
* @tsplus location "@fncts/base/control/Z/runtime"
|
55
|
-
*/
|
56
|
-
export declare function unsafeRunWriter<W, A>(ma: Z<W, unknown, unknown, never, never, A>): readonly [Conc<W>, A];
|
package/control/Z.d.ts
DELETED