effect 4.0.0-beta.35 → 4.0.0-beta.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Cause.d.ts +31 -0
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +19 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +2 -2
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +9 -7
- package/dist/Channel.js.map +1 -1
- package/dist/Cron.d.ts +7 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +109 -45
- package/dist/Cron.js.map +1 -1
- package/dist/Effect.d.ts +1 -16
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Equivalence.d.ts +52 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +52 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/LayerMap.d.ts +5 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +9 -3
- package/dist/PubSub.js.map +1 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +19 -1
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +37 -41
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +20 -0
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaParser.d.ts +39 -54
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +38 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/Sink.d.ts +5 -2
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +1 -1
- package/dist/Stream.d.ts.map +1 -1
- package/dist/internal/effect.js +18 -3
- package/dist/internal/effect.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +15 -3
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +158 -15
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +4 -3
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +2 -3
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +11 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +24 -2
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +97 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +2 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +2 -2
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +15 -13
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -3
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +2 -2
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +229 -9
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +256 -6
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/package.json +1 -1
- package/src/Cause.ts +35 -0
- package/src/Channel.ts +14 -12
- package/src/Cron.ts +142 -45
- package/src/Effect.ts +1 -16
- package/src/Equivalence.ts +56 -0
- package/src/LayerMap.ts +7 -5
- package/src/PubSub.ts +13 -5
- package/src/Schedule.ts +20 -8
- package/src/Schema.ts +38 -18
- package/src/SchemaParser.ts +74 -25
- package/src/Sink.ts +5 -2
- package/src/Stream.ts +1 -1
- package/src/internal/effect.ts +30 -4
- package/src/unstable/ai/LanguageModel.ts +17 -2
- package/src/unstable/cli/Prompt.ts +158 -16
- package/src/unstable/devtools/DevToolsClient.ts +23 -18
- package/src/unstable/devtools/DevToolsSchema.ts +13 -1
- package/src/unstable/http/HttpClientRequest.ts +104 -2
- package/src/unstable/http/HttpServerResponse.ts +8 -4
- package/src/unstable/httpapi/HttpApiEndpoint.ts +2 -2
- package/src/unstable/httpapi/HttpApiMiddleware.ts +36 -20
- package/src/unstable/sql/Migrator.ts +7 -5
- package/src/unstable/sql/SqlError.ts +360 -8
|
@@ -1,20 +1,274 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Predicate from "../../Predicate.js";
|
|
4
5
|
import * as Schema from "../../Schema.js";
|
|
5
6
|
const TypeId = "~effect/sql/SqlError";
|
|
7
|
+
const ReasonTypeId = "~effect/sql/SqlError/Reason";
|
|
8
|
+
const ReasonFields = {
|
|
9
|
+
cause: Schema.Defect,
|
|
10
|
+
message: /*#__PURE__*/Schema.optional(Schema.String),
|
|
11
|
+
operation: /*#__PURE__*/Schema.optional(Schema.String)
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @since 4.0.0
|
|
15
|
+
*/
|
|
16
|
+
export class ConnectionError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/ConnectionError")("ConnectionError", ReasonFields) {
|
|
17
|
+
/**
|
|
18
|
+
* @since 4.0.0
|
|
19
|
+
*/
|
|
20
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
21
|
+
/**
|
|
22
|
+
* @since 4.0.0
|
|
23
|
+
*/
|
|
24
|
+
get isRetryable() {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @since 4.0.0
|
|
30
|
+
*/
|
|
31
|
+
export class AuthenticationError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/AuthenticationError")("AuthenticationError", ReasonFields) {
|
|
32
|
+
/**
|
|
33
|
+
* @since 4.0.0
|
|
34
|
+
*/
|
|
35
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
36
|
+
/**
|
|
37
|
+
* @since 4.0.0
|
|
38
|
+
*/
|
|
39
|
+
get isRetryable() {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @since 4.0.0
|
|
45
|
+
*/
|
|
46
|
+
export class AuthorizationError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/AuthorizationError")("AuthorizationError", ReasonFields) {
|
|
47
|
+
/**
|
|
48
|
+
* @since 4.0.0
|
|
49
|
+
*/
|
|
50
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
51
|
+
/**
|
|
52
|
+
* @since 4.0.0
|
|
53
|
+
*/
|
|
54
|
+
get isRetryable() {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @since 4.0.0
|
|
60
|
+
*/
|
|
61
|
+
export class SqlSyntaxError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/SqlSyntaxError")("SqlSyntaxError", ReasonFields) {
|
|
62
|
+
/**
|
|
63
|
+
* @since 4.0.0
|
|
64
|
+
*/
|
|
65
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
66
|
+
/**
|
|
67
|
+
* @since 4.0.0
|
|
68
|
+
*/
|
|
69
|
+
get isRetryable() {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @since 4.0.0
|
|
75
|
+
*/
|
|
76
|
+
export class ConstraintError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/ConstraintError")("ConstraintError", ReasonFields) {
|
|
77
|
+
/**
|
|
78
|
+
* @since 4.0.0
|
|
79
|
+
*/
|
|
80
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
81
|
+
/**
|
|
82
|
+
* @since 4.0.0
|
|
83
|
+
*/
|
|
84
|
+
get isRetryable() {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* @since 4.0.0
|
|
90
|
+
*/
|
|
91
|
+
export class DeadlockError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/DeadlockError")("DeadlockError", ReasonFields) {
|
|
92
|
+
/**
|
|
93
|
+
* @since 4.0.0
|
|
94
|
+
*/
|
|
95
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
96
|
+
/**
|
|
97
|
+
* @since 4.0.0
|
|
98
|
+
*/
|
|
99
|
+
get isRetryable() {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @since 4.0.0
|
|
105
|
+
*/
|
|
106
|
+
export class SerializationError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/SerializationError")("SerializationError", ReasonFields) {
|
|
107
|
+
/**
|
|
108
|
+
* @since 4.0.0
|
|
109
|
+
*/
|
|
110
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
111
|
+
/**
|
|
112
|
+
* @since 4.0.0
|
|
113
|
+
*/
|
|
114
|
+
get isRetryable() {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* @since 4.0.0
|
|
120
|
+
*/
|
|
121
|
+
export class LockTimeoutError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/LockTimeoutError")("LockTimeoutError", ReasonFields) {
|
|
122
|
+
/**
|
|
123
|
+
* @since 4.0.0
|
|
124
|
+
*/
|
|
125
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
126
|
+
/**
|
|
127
|
+
* @since 4.0.0
|
|
128
|
+
*/
|
|
129
|
+
get isRetryable() {
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* @since 4.0.0
|
|
135
|
+
*/
|
|
136
|
+
export class StatementTimeoutError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/StatementTimeoutError")("StatementTimeoutError", ReasonFields) {
|
|
137
|
+
/**
|
|
138
|
+
* @since 4.0.0
|
|
139
|
+
*/
|
|
140
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
141
|
+
/**
|
|
142
|
+
* @since 4.0.0
|
|
143
|
+
*/
|
|
144
|
+
get isRetryable() {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* @since 4.0.0
|
|
150
|
+
*/
|
|
151
|
+
export class UnknownError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError/UnknownError")("UnknownError", ReasonFields) {
|
|
152
|
+
/**
|
|
153
|
+
* @since 4.0.0
|
|
154
|
+
*/
|
|
155
|
+
[ReasonTypeId] = ReasonTypeId;
|
|
156
|
+
/**
|
|
157
|
+
* @since 4.0.0
|
|
158
|
+
*/
|
|
159
|
+
get isRetryable() {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* @since 4.0.0
|
|
165
|
+
*/
|
|
166
|
+
export const SqlErrorReason = /*#__PURE__*/Schema.Union([ConnectionError, AuthenticationError, AuthorizationError, SqlSyntaxError, ConstraintError, DeadlockError, SerializationError, LockTimeoutError, StatementTimeoutError, UnknownError]);
|
|
6
167
|
/**
|
|
7
168
|
* @since 4.0.0
|
|
8
169
|
*/
|
|
9
170
|
export class SqlError extends /*#__PURE__*/Schema.TaggedErrorClass("effect/sql/SqlError")("SqlError", {
|
|
10
|
-
|
|
11
|
-
message: /*#__PURE__*/Schema.optional(Schema.String)
|
|
171
|
+
reason: SqlErrorReason
|
|
12
172
|
}) {
|
|
13
173
|
/**
|
|
14
174
|
* @since 4.0.0
|
|
15
175
|
*/
|
|
16
176
|
[TypeId] = TypeId;
|
|
177
|
+
/**
|
|
178
|
+
* @since 4.0.0
|
|
179
|
+
*/
|
|
180
|
+
cause = this.reason;
|
|
181
|
+
/**
|
|
182
|
+
* @since 4.0.0
|
|
183
|
+
*/
|
|
184
|
+
get message() {
|
|
185
|
+
return this.reason.message || this.reason._tag;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* @since 4.0.0
|
|
189
|
+
*/
|
|
190
|
+
get isRetryable() {
|
|
191
|
+
return this.reason.isRetryable;
|
|
192
|
+
}
|
|
17
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* @since 4.0.0
|
|
196
|
+
*/
|
|
197
|
+
export const isSqlError = u => Predicate.hasProperty(u, TypeId);
|
|
198
|
+
/**
|
|
199
|
+
* @since 4.0.0
|
|
200
|
+
*/
|
|
201
|
+
export const isSqlErrorReason = u => Predicate.hasProperty(u, ReasonTypeId);
|
|
202
|
+
const sqliteCodeFromCause = cause => {
|
|
203
|
+
if (!Predicate.hasProperty(cause, "code")) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
const code = cause.code;
|
|
207
|
+
return typeof code === "string" || typeof code === "number" ? code : undefined;
|
|
208
|
+
};
|
|
209
|
+
const sqliteNumericCodeFromCause = cause => {
|
|
210
|
+
const code = sqliteCodeFromCause(cause);
|
|
211
|
+
if (typeof code === "number") {
|
|
212
|
+
return code;
|
|
213
|
+
}
|
|
214
|
+
if (!Predicate.hasProperty(cause, "errno")) {
|
|
215
|
+
return undefined;
|
|
216
|
+
}
|
|
217
|
+
const errno = cause.errno;
|
|
218
|
+
return typeof errno === "number" ? errno : undefined;
|
|
219
|
+
};
|
|
220
|
+
const matchesSqliteCode = (code, expected) => code === expected || code.startsWith(expected + "_");
|
|
221
|
+
/**
|
|
222
|
+
* @since 4.0.0
|
|
223
|
+
*/
|
|
224
|
+
export const classifySqliteError = (cause, {
|
|
225
|
+
message,
|
|
226
|
+
operation
|
|
227
|
+
} = {}) => {
|
|
228
|
+
const props = {
|
|
229
|
+
cause,
|
|
230
|
+
message,
|
|
231
|
+
operation
|
|
232
|
+
};
|
|
233
|
+
const code = sqliteCodeFromCause(cause);
|
|
234
|
+
if (typeof code === "string") {
|
|
235
|
+
if (matchesSqliteCode(code, "SQLITE_AUTH")) {
|
|
236
|
+
return new AuthenticationError(props);
|
|
237
|
+
}
|
|
238
|
+
if (matchesSqliteCode(code, "SQLITE_PERM")) {
|
|
239
|
+
return new AuthorizationError(props);
|
|
240
|
+
}
|
|
241
|
+
if (matchesSqliteCode(code, "SQLITE_CONSTRAINT")) {
|
|
242
|
+
return new ConstraintError(props);
|
|
243
|
+
}
|
|
244
|
+
if (matchesSqliteCode(code, "SQLITE_BUSY") || matchesSqliteCode(code, "SQLITE_LOCKED")) {
|
|
245
|
+
return new LockTimeoutError(props);
|
|
246
|
+
}
|
|
247
|
+
if (matchesSqliteCode(code, "SQLITE_CANTOPEN")) {
|
|
248
|
+
return new ConnectionError(props);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
const numericCode = sqliteNumericCodeFromCause(cause);
|
|
252
|
+
if (typeof numericCode === "number") {
|
|
253
|
+
const code = numericCode & 0xff;
|
|
254
|
+
switch (code) {
|
|
255
|
+
case 23:
|
|
256
|
+
return new AuthenticationError(props);
|
|
257
|
+
case 3:
|
|
258
|
+
return new AuthorizationError(props);
|
|
259
|
+
case 19:
|
|
260
|
+
return new ConstraintError(props);
|
|
261
|
+
case 5:
|
|
262
|
+
case 6:
|
|
263
|
+
return new LockTimeoutError(props);
|
|
264
|
+
case 14:
|
|
265
|
+
return new ConnectionError(props);
|
|
266
|
+
default:
|
|
267
|
+
return new UnknownError(props);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return new UnknownError(props);
|
|
271
|
+
};
|
|
18
272
|
/**
|
|
19
273
|
* @since 4.0.0
|
|
20
274
|
*/
|
|
@@ -22,10 +276,6 @@ export class ResultLengthMismatch extends /*#__PURE__*/Schema.TaggedErrorClass("
|
|
|
22
276
|
expected: Schema.Number,
|
|
23
277
|
actual: Schema.Number
|
|
24
278
|
}) {
|
|
25
|
-
/**
|
|
26
|
-
* @since 4.0.0
|
|
27
|
-
*/
|
|
28
|
-
[TypeId] = TypeId;
|
|
29
279
|
/**
|
|
30
280
|
* @since 4.0.0
|
|
31
281
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlError.js","names":["Schema","TypeId","
|
|
1
|
+
{"version":3,"file":"SqlError.js","names":["Predicate","Schema","TypeId","ReasonTypeId","ReasonFields","cause","Defect","message","optional","String","operation","ConnectionError","TaggedErrorClass","isRetryable","AuthenticationError","AuthorizationError","SqlSyntaxError","ConstraintError","DeadlockError","SerializationError","LockTimeoutError","StatementTimeoutError","UnknownError","SqlErrorReason","Union","SqlError","reason","_tag","isSqlError","u","hasProperty","isSqlErrorReason","sqliteCodeFromCause","undefined","code","sqliteNumericCodeFromCause","errno","matchesSqliteCode","expected","startsWith","classifySqliteError","props","numericCode","ResultLengthMismatch","Number","actual"],"sources":["../../../src/unstable/sql/SqlError.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Cause.ts
CHANGED
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
*/
|
|
80
80
|
import type * as Effect from "./Effect.ts"
|
|
81
81
|
import type { Equal } from "./Equal.ts"
|
|
82
|
+
import type { Fiber } from "./Fiber.ts"
|
|
82
83
|
import type { Inspectable } from "./Inspectable.ts"
|
|
83
84
|
import * as core from "./internal/core.ts"
|
|
84
85
|
import * as effect from "./internal/effect.ts"
|
|
@@ -1565,6 +1566,40 @@ export interface ExceededCapacityError extends YieldableError {
|
|
|
1565
1566
|
*/
|
|
1566
1567
|
export const ExceededCapacityError: new(message?: string) => ExceededCapacityError = effect.ExceededCapacityError
|
|
1567
1568
|
|
|
1569
|
+
/**
|
|
1570
|
+
* Unique brand for {@link AsyncFiberError}.
|
|
1571
|
+
*
|
|
1572
|
+
* @since 4.0.0
|
|
1573
|
+
* @category symbols
|
|
1574
|
+
*/
|
|
1575
|
+
export const AsyncFiberErrorTypeId: "~effect/Cause/AsyncFiberError" = effect.AsyncFiberErrorTypeId
|
|
1576
|
+
|
|
1577
|
+
/**
|
|
1578
|
+
* @category guards
|
|
1579
|
+
* @since 4.0.0
|
|
1580
|
+
*/
|
|
1581
|
+
export const isAsyncFiberError: (u: unknown) => u is AsyncFiberError = effect.isAsyncFiberError
|
|
1582
|
+
|
|
1583
|
+
/**
|
|
1584
|
+
* An error that occurs when trying to run an async fiber with Effect.runSync.
|
|
1585
|
+
*
|
|
1586
|
+
* @since 4.0.0
|
|
1587
|
+
* @category errors
|
|
1588
|
+
*/
|
|
1589
|
+
export interface AsyncFiberError extends YieldableError {
|
|
1590
|
+
readonly [AsyncFiberErrorTypeId]: typeof AsyncFiberErrorTypeId
|
|
1591
|
+
readonly _tag: "AsyncFiberError"
|
|
1592
|
+
readonly fiber: Fiber<unknown, unknown>
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
/**
|
|
1596
|
+
* An error that occurs when trying to run an async fiber with Effect.runSync.
|
|
1597
|
+
*
|
|
1598
|
+
* @category constructors
|
|
1599
|
+
* @since 4.0.0
|
|
1600
|
+
*/
|
|
1601
|
+
export const AsyncFiberError: new(fiber: Fiber<unknown, unknown>) => AsyncFiberError = effect.AsyncFiberError
|
|
1602
|
+
|
|
1568
1603
|
/**
|
|
1569
1604
|
* Unique brand for {@link UnknownError}.
|
|
1570
1605
|
*
|
package/src/Channel.ts
CHANGED
|
@@ -200,8 +200,8 @@ export interface ChannelUnify<A extends { [Unify.typeSymbol]?: any }> extends Ef
|
|
|
200
200
|
* @category models
|
|
201
201
|
* @since 2.0.0
|
|
202
202
|
*/
|
|
203
|
-
export interface ChannelUnifyIgnore
|
|
204
|
-
|
|
203
|
+
export interface ChannelUnifyIgnore {
|
|
204
|
+
Effect?: true
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
type TagsWithReason<E> = {
|
|
@@ -4590,17 +4590,19 @@ export const scanEffect: {
|
|
|
4590
4590
|
Effect.map(toTransform(self)(upstream, scope), (pull) => {
|
|
4591
4591
|
let state = initial
|
|
4592
4592
|
let isFirst = true
|
|
4593
|
-
|
|
4594
|
-
isFirst
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
return Effect.map(
|
|
4598
|
-
Effect.flatMap(pull, (a) => f(state, a)),
|
|
4599
|
-
(newState) => {
|
|
4600
|
-
state = newState
|
|
4601
|
-
return state
|
|
4593
|
+
return Effect.suspend(() => {
|
|
4594
|
+
if (isFirst) {
|
|
4595
|
+
isFirst = false
|
|
4596
|
+
return Effect.succeed(state)
|
|
4602
4597
|
}
|
|
4603
|
-
|
|
4598
|
+
return Effect.map(
|
|
4599
|
+
Effect.flatMap(pull, (a) => f(state, a)),
|
|
4600
|
+
(newState) => {
|
|
4601
|
+
state = newState
|
|
4602
|
+
return state
|
|
4603
|
+
}
|
|
4604
|
+
)
|
|
4605
|
+
})
|
|
4604
4606
|
})
|
|
4605
4607
|
))
|
|
4606
4608
|
|