effect 3.12.11 → 3.13.0
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/README.md +38 -49
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/DateTime.js +17 -1
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Differ.js.map +1 -1
- package/dist/cjs/Duration.js +128 -1
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +175 -37
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +2 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/FiberHandle.js +54 -21
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +51 -24
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +50 -17
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/HashMap.js +19 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js +9 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Layer.js +21 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/Match.js +659 -38
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/RcMap.js +11 -1
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/Reloadable.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js +1074 -309
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Schema.js +73 -1
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +27 -3
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/dateTime.js +4 -1
- package/dist/cjs/internal/dateTime.js.map +1 -1
- package/dist/cjs/internal/differ.js +4 -0
- package/dist/cjs/internal/differ.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +3 -2
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +21 -7
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +10 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js +1 -1
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/rcMap.js +86 -56
- package/dist/cjs/internal/rcMap.js.map +1 -1
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Channel.d.ts +4 -4
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +16 -0
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +2 -1
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +64 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +402 -30
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +7 -0
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +26 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +26 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +25 -0
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +38 -0
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +7 -0
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +32 -13
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/Match.d.ts +731 -48
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +32 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +13 -13
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +4 -4
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +2294 -633
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +40 -4
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +8 -8
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +7 -7
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/index.d.ts +25 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm.d.ts +2 -2
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/DateTime.js +16 -0
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Differ.js.map +1 -1
- package/dist/esm/Duration.js +124 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +170 -32
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +7 -0
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/FiberHandle.js +48 -18
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +46 -22
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +45 -15
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/HashMap.js +17 -0
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/HashSet.js +7 -0
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/Layer.js +20 -0
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/Match.js +665 -40
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/RcMap.js +10 -0
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/Reloadable.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js +1074 -309
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Schema.js +71 -0
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/index.js +25 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +23 -0
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/dateTime.js +2 -0
- package/dist/esm/internal/dateTime.js.map +1 -1
- package/dist/esm/internal/differ.js +4 -0
- package/dist/esm/internal/differ.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +3 -2
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +18 -5
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/hashMap.js +9 -0
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/keyedPool.js +1 -1
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/rcMap.js +85 -55
- package/dist/esm/internal/rcMap.js.map +1 -1
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +2 -1
- package/src/Channel.ts +14 -17
- package/src/DateTime.ts +17 -8
- package/src/Differ.ts +2 -1
- package/src/Duration.ts +147 -0
- package/src/Effect.ts +528 -140
- package/src/Either.ts +9 -0
- package/src/FiberHandle.ts +95 -35
- package/src/FiberMap.ts +104 -39
- package/src/FiberSet.ts +93 -24
- package/src/HashMap.ts +40 -0
- package/src/HashSet.ts +8 -0
- package/src/Layer.ts +94 -40
- package/src/Match.ts +733 -49
- package/src/RcMap.ts +34 -0
- package/src/Reloadable.ts +17 -27
- package/src/STM.ts +10 -17
- package/src/Schedule.ts +2325 -653
- package/src/Schema.ts +81 -4
- package/src/Stream.ts +26 -33
- package/src/Trie.ts +7 -7
- package/src/index.ts +25 -0
- package/src/internal/channel.ts +37 -39
- package/src/internal/core-effect.ts +84 -84
- package/src/internal/core.ts +80 -0
- package/src/internal/dateTime.ts +3 -0
- package/src/internal/differ.ts +4 -0
- package/src/internal/effect/circular.ts +3 -2
- package/src/internal/fiberRuntime.ts +31 -6
- package/src/internal/hashMap.ts +16 -0
- package/src/internal/keyedPool.ts +1 -1
- package/src/internal/layer.ts +52 -52
- package/src/internal/rcMap.ts +131 -89
- package/src/internal/reloadable.ts +25 -28
- package/src/internal/schedule.ts +29 -23
- package/src/internal/sink.ts +16 -15
- package/src/internal/stm/stm.ts +54 -46
- package/src/internal/stream.ts +100 -100
- package/src/internal/version.ts +1 -1
package/dist/esm/Schedule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schedule.js","names":["internal","ScheduleTypeId","ScheduleDriverTypeId","makeWithState","isSchedule","addDelay","addDelayEffect","andThen","andThenEither","as","asVoid","bothInOut","check","checkEffect","collectAllInputs","collectAllOutputs","collectUntil","collectUntilEffect","collectWhile","collectWhileEffect","compose","mapInput","
|
|
1
|
+
{"version":3,"file":"Schedule.js","names":["internal","ScheduleTypeId","ScheduleDriverTypeId","makeWithState","isSchedule","addDelay","addDelayEffect","andThen","andThenEither","as","asVoid","bothInOut","check","checkEffect","collectAllInputs","collectAllOutputs","collectUntil","collectUntilEffect","collectWhile","collectWhileEffect","compose","mapInput","mapInputEffect","mapInputContext","count","cron","secondOfMinute","minuteOfHour","hourOfDay","dayOfMonth","dayOfWeek","delayed","delayedEffect","delayedSchedule","delays","mapBoth","mapBothEffect","driver","duration","either","eitherWith","elapsed","ensuring","exponential","fibonacci","fixed","forever","fromDelay","fromDelays","fromFunction","identity","passthrough","intersect","intersectWith","jittered","jitteredWith","linear","map","mapEffect","modifyDelay","modifyDelayEffect","onDecision","once","provideContext","provideService","recurUntil","recurUntilEffect","recurUntilOption","recurUpTo","recurWhile","recurWhileEffect","recurs","reduce","reduceEffect","repeatForever","repetitions","resetAfter","resetWhen","run","spaced","stop","succeed","sync","tapInput","tapOutput","unfold","union","unionWith","untilInput","untilInputEffect","untilOutput","untilOutputEffect","upTo","whileInput","whileInputEffect","whileOutput","whileOutputEffect","windowed","zipLeft","zipRight","zipWith"],"sources":["../../src/Schedule.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Schema.js
CHANGED
|
@@ -37,6 +37,7 @@ import * as Predicate from "./Predicate.js";
|
|
|
37
37
|
import * as record_ from "./Record.js";
|
|
38
38
|
import * as redacted_ from "./Redacted.js";
|
|
39
39
|
import * as Request from "./Request.js";
|
|
40
|
+
import * as scheduler_ from "./Scheduler.js";
|
|
40
41
|
import * as AST from "./SchemaAST.js";
|
|
41
42
|
import * as sortedSet_ from "./SortedSet.js";
|
|
42
43
|
import * as string_ from "./String.js";
|
|
@@ -75,6 +76,76 @@ const variance = {
|
|
|
75
76
|
/* c8 ignore next */
|
|
76
77
|
_R: _ => _
|
|
77
78
|
};
|
|
79
|
+
const makeStandardResult = exit => exit_.isSuccess(exit) ? exit.value : makeStandardFailureResult(cause_.pretty(exit.cause));
|
|
80
|
+
const makeStandardFailureResult = message => ({
|
|
81
|
+
issues: [{
|
|
82
|
+
message
|
|
83
|
+
}]
|
|
84
|
+
});
|
|
85
|
+
const makeStandardFailureFromParseIssue = issue => Effect.map(ParseResult.ArrayFormatter.formatIssue(issue), issues => ({
|
|
86
|
+
issues: issues.map(issue => ({
|
|
87
|
+
path: issue.path,
|
|
88
|
+
message: issue.message
|
|
89
|
+
}))
|
|
90
|
+
}));
|
|
91
|
+
/**
|
|
92
|
+
* Returns a "Standard Schema" object conforming to the [Standard Schema
|
|
93
|
+
* v1](https://standardschema.dev/) specification.
|
|
94
|
+
*
|
|
95
|
+
* This function creates a schema whose `validate` method attempts to decode and
|
|
96
|
+
* validate the provided input synchronously. If the underlying `Schema`
|
|
97
|
+
* includes any asynchronous components (e.g., asynchronous message resolutions
|
|
98
|
+
* or checks), then validation will necessarily return a `Promise` instead.
|
|
99
|
+
*
|
|
100
|
+
* Any detected defects will be reported via a single issue containing no
|
|
101
|
+
* `path`.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* import { Schema } from "effect"
|
|
106
|
+
*
|
|
107
|
+
* const schema = Schema.Struct({
|
|
108
|
+
* name: Schema.String
|
|
109
|
+
* })
|
|
110
|
+
*
|
|
111
|
+
* // ┌─── StandardSchemaV1<{ readonly name: string; }>
|
|
112
|
+
* // ▼
|
|
113
|
+
* const standardSchema = Schema.standardSchemaV1(schema)
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @category Standard Schema
|
|
117
|
+
* @since 3.13.0
|
|
118
|
+
*/
|
|
119
|
+
export const standardSchemaV1 = schema => {
|
|
120
|
+
const decodeUnknown = ParseResult.decodeUnknown(schema);
|
|
121
|
+
return {
|
|
122
|
+
"~standard": {
|
|
123
|
+
version: 1,
|
|
124
|
+
vendor: "effect",
|
|
125
|
+
validate(value) {
|
|
126
|
+
const scheduler = new scheduler_.SyncScheduler();
|
|
127
|
+
const fiber = Effect.runFork(Effect.matchEffect(decodeUnknown(value), {
|
|
128
|
+
onFailure: makeStandardFailureFromParseIssue,
|
|
129
|
+
onSuccess: value => Effect.succeed({
|
|
130
|
+
value
|
|
131
|
+
})
|
|
132
|
+
}), {
|
|
133
|
+
scheduler
|
|
134
|
+
});
|
|
135
|
+
scheduler.flush();
|
|
136
|
+
const exit = fiber.unsafePoll();
|
|
137
|
+
if (exit) {
|
|
138
|
+
return makeStandardResult(exit);
|
|
139
|
+
}
|
|
140
|
+
return new Promise(resolve => {
|
|
141
|
+
fiber.addObserver(exit => {
|
|
142
|
+
resolve(makeStandardResult(exit));
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
};
|
|
78
149
|
const builtInAnnotations = {
|
|
79
150
|
schemaId: AST.SchemaIdAnnotationId,
|
|
80
151
|
message: AST.MessageAnnotationId,
|