effect 2.4.6 → 2.4.8

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 (48) hide show
  1. package/dist/cjs/Effect.js +11 -1
  2. package/dist/cjs/Effect.js.map +1 -1
  3. package/dist/cjs/FiberMap.js +3 -0
  4. package/dist/cjs/FiberMap.js.map +1 -1
  5. package/dist/cjs/FiberSet.js +4 -0
  6. package/dist/cjs/FiberSet.js.map +1 -1
  7. package/dist/cjs/Predicate.js +18 -1
  8. package/dist/cjs/Predicate.js.map +1 -1
  9. package/dist/cjs/internal/core-effect.js +1 -1
  10. package/dist/cjs/internal/core-effect.js.map +1 -1
  11. package/dist/cjs/internal/core.js +1 -1
  12. package/dist/cjs/internal/core.js.map +1 -1
  13. package/dist/cjs/internal/metric.js +7 -14
  14. package/dist/cjs/internal/metric.js.map +1 -1
  15. package/dist/cjs/internal/version.js +1 -1
  16. package/dist/dts/Effect.d.ts +4 -0
  17. package/dist/dts/Effect.d.ts.map +1 -1
  18. package/dist/dts/FiberMap.d.ts.map +1 -1
  19. package/dist/dts/FiberSet.d.ts.map +1 -1
  20. package/dist/dts/Predicate.d.ts +16 -0
  21. package/dist/dts/Predicate.d.ts.map +1 -1
  22. package/dist/dts/Types.d.ts +13 -0
  23. package/dist/dts/Types.d.ts.map +1 -1
  24. package/dist/esm/Effect.js +11 -1
  25. package/dist/esm/Effect.js.map +1 -1
  26. package/dist/esm/FiberMap.js +3 -0
  27. package/dist/esm/FiberMap.js.map +1 -1
  28. package/dist/esm/FiberSet.js +4 -0
  29. package/dist/esm/FiberSet.js.map +1 -1
  30. package/dist/esm/Predicate.js +16 -0
  31. package/dist/esm/Predicate.js.map +1 -1
  32. package/dist/esm/internal/core-effect.js +1 -1
  33. package/dist/esm/internal/core-effect.js.map +1 -1
  34. package/dist/esm/internal/core.js +1 -1
  35. package/dist/esm/internal/core.js.map +1 -1
  36. package/dist/esm/internal/metric.js +7 -14
  37. package/dist/esm/internal/metric.js.map +1 -1
  38. package/dist/esm/internal/version.js +1 -1
  39. package/package.json +1 -1
  40. package/src/Effect.ts +21 -2
  41. package/src/FiberMap.ts +4 -0
  42. package/src/FiberSet.ts +4 -0
  43. package/src/Predicate.ts +17 -0
  44. package/src/Types.ts +16 -0
  45. package/src/internal/core-effect.ts +23 -3
  46. package/src/internal/core.ts +2 -1
  47. package/src/internal/metric.ts +7 -23
  48. package/src/internal/version.ts +1 -1
@@ -27,7 +27,7 @@ const metricVariance = {
27
27
  export const globalMetricRegistry = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("effect/Metric/globalMetricRegistry"), () => metricRegistry.make());
28
28
  /** @internal */
29
29
  export const make = function (keyType, unsafeUpdate, unsafeValue) {
30
- const metric = Object.assign(effect => core.tap(effect, a => core.sync(() => unsafeUpdate(a, []))), {
30
+ const metric = Object.assign(effect => core.tap(effect, a => update(metric, a)), {
31
31
  [MetricTypeId]: metricVariance,
32
32
  keyType,
33
33
  unsafeUpdate,
@@ -119,32 +119,25 @@ export const timerWithBoundaries = (name, boundaries, description) => {
119
119
  };
120
120
  /* @internal */
121
121
  export const trackAll = /*#__PURE__*/dual(2, (self, input) => effect => core.matchCauseEffect(effect, {
122
- onFailure: cause => {
123
- self.unsafeUpdate(input, []);
124
- return core.failCause(cause);
125
- },
126
- onSuccess: value => {
127
- self.unsafeUpdate(input, []);
128
- return core.succeed(value);
129
- }
122
+ onFailure: cause => core.zipRight(update(self, input), core.failCause(cause)),
123
+ onSuccess: value => core.zipRight(update(self, input), core.succeed(value))
130
124
  }));
131
125
  /* @internal */
132
126
  export const trackDefect = /*#__PURE__*/dual(2, (self, metric) => trackDefectWith(self, metric, identity));
133
127
  /* @internal */
134
128
  export const trackDefectWith = /*#__PURE__*/dual(3, (self, metric, f) => {
135
- const updater = defect => metric.unsafeUpdate(f(defect), []);
136
- return _effect.tapDefect(self, cause => core.sync(() => pipe(Cause.defects(cause), ReadonlyArray.forEach(updater))));
129
+ const updater = defect => update(metric, f(defect));
130
+ return _effect.tapDefect(self, cause => core.forEachSequentialDiscard(Cause.defects(cause), updater));
137
131
  });
138
132
  /* @internal */
139
133
  export const trackDuration = /*#__PURE__*/dual(2, (self, metric) => trackDurationWith(self, metric, identity));
140
134
  /* @internal */
141
135
  export const trackDurationWith = /*#__PURE__*/dual(3, (self, metric, f) => Clock.clockWith(clock => {
142
136
  const startTime = clock.unsafeCurrentTimeNanos();
143
- return core.map(self, a => {
137
+ return core.tap(self, _ => {
144
138
  const endTime = clock.unsafeCurrentTimeNanos();
145
139
  const duration = Duration.nanos(endTime - startTime);
146
- metric.unsafeUpdate(f(duration), []);
147
- return a;
140
+ return update(metric, f(duration));
148
141
  });
149
142
  }));
150
143
  /* @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"metric.js","names":["Clock","Duration","constVoid","dual","identity","pipe","globalValue","pipeArguments","ReadonlyArray","Cause","_effect","core","metricBoundaries","metricKey","metricLabel","metricRegistry","MetricSymbolKey","MetricTypeId","Symbol","for","metricVariance","_Type","_","_In","_Out","globalMetricRegistry","make","keyType","unsafeUpdate","unsafeValue","metric","Object","assign","effect","tap","a","sync","register","arguments","mapInput","self","f","input","extraTags","counter","name","options","fromMetricKey","frequency","description","withConstantInput","key","untaggedHook","hookCache","WeakMap","hook","length","undefined","get","taggedWithLabels","set","update","gauge","histogram","boundaries","increment","bigint","BigInt","incrementBy","amount","map","mapType","value","succeed","out","evaluate","summary","withNow","summaryTimestamp","tagged","taggedWithLabelsInput","union","extraTags1","timer","exponential","start","factor","count","base","toMillis","timerWithBoundaries","fromIterable","trackAll","matchCauseEffect","onFailure","cause","failCause","onSuccess","trackDefect","trackDefectWith","updater","defect","tapDefect","defects","forEach","trackDuration","trackDurationWith","clockWith","clock","startTime","unsafeCurrentTimeNanos","endTime","duration","nanos","trackError","trackErrorWith","error","tapError","trackSuccess","trackSuccessWith","fiberRefGetWith","currentMetricLabels","tags","Date","now","zip","that","l","r","unsafeSnapshot","snapshot"],"sources":["../../../src/internal/metric.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"metric.js","names":["Clock","Duration","constVoid","dual","identity","pipe","globalValue","pipeArguments","ReadonlyArray","Cause","_effect","core","metricBoundaries","metricKey","metricLabel","metricRegistry","MetricSymbolKey","MetricTypeId","Symbol","for","metricVariance","_Type","_","_In","_Out","globalMetricRegistry","make","keyType","unsafeUpdate","unsafeValue","metric","Object","assign","effect","tap","a","update","register","arguments","mapInput","self","f","input","extraTags","counter","name","options","fromMetricKey","frequency","description","withConstantInput","key","untaggedHook","hookCache","WeakMap","hook","length","undefined","get","taggedWithLabels","set","gauge","histogram","boundaries","increment","bigint","BigInt","incrementBy","amount","map","mapType","value","succeed","out","sync","evaluate","summary","withNow","summaryTimestamp","tagged","taggedWithLabelsInput","union","extraTags1","timer","exponential","start","factor","count","base","toMillis","timerWithBoundaries","fromIterable","trackAll","matchCauseEffect","onFailure","cause","zipRight","failCause","onSuccess","trackDefect","trackDefectWith","updater","defect","tapDefect","forEachSequentialDiscard","defects","trackDuration","trackDurationWith","clockWith","clock","startTime","unsafeCurrentTimeNanos","endTime","duration","nanos","trackError","trackErrorWith","error","tapError","trackSuccess","trackSuccessWith","fiberRefGetWith","currentMetricLabels","tags","Date","now","zip","that","l","r","unsafeSnapshot","snapshot"],"sources":["../../../src/internal/metric.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "2.4.6";
1
+ let moduleVersion = "2.4.8";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "2.4.6",
3
+ "version": "2.4.8",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Effect.ts CHANGED
@@ -3458,12 +3458,21 @@ export const filterOrFail: {
3458
3458
  predicate: Predicate<NoInfer<A>>,
3459
3459
  orFailWith: (a: NoInfer<A>) => E2
3460
3460
  ): <E, R>(self: Effect<A, E, R>) => Effect<A, E2 | E, R>
3461
+ <A, B extends A>(
3462
+ refinement: Refinement<NoInfer<A>, B>
3463
+ ): <E, R>(self: Effect<A, E, R>) => Effect<B, Cause.NoSuchElementException | E, R>
3464
+ <A>(predicate: Predicate<NoInfer<A>>): <E, R>(self: Effect<A, E, R>) => Effect<A, Cause.NoSuchElementException | E, R>
3461
3465
  <A, E, R, B extends A, E2>(
3462
3466
  self: Effect<A, E, R>,
3463
3467
  refinement: Refinement<A, B>,
3464
3468
  orFailWith: (a: A) => E2
3465
3469
  ): Effect<B, E | E2, R>
3466
3470
  <A, E, R, E2>(self: Effect<A, E, R>, predicate: Predicate<A>, orFailWith: (a: A) => E2): Effect<A, E | E2, R>
3471
+ <A, E, R, B extends A>(
3472
+ self: Effect<A, E, R>,
3473
+ refinement: Refinement<A, B>
3474
+ ): Effect<B, E | Cause.NoSuchElementException, R>
3475
+ <A, E, R>(self: Effect<A, E, R>, predicate: Predicate<A>): Effect<A, E | Cause.NoSuchElementException, R>
3467
3476
  } = effect.filterOrFail
3468
3477
 
3469
3478
  /**
@@ -5336,8 +5345,18 @@ export const Tag: <const Id extends string>(id: Id) => <Self, Type>() =>
5336
5345
  if (cache.has(prop)) {
5337
5346
  return cache.get(prop)
5338
5347
  }
5339
- // @ts-expect-error
5340
- const fn = (...args: Array<any>) => core.andThen(TagClass, (s: any) => s[prop](...args))
5348
+ const fn = (...args: Array<any>) =>
5349
+ // @ts-expect-error
5350
+ core.andThen(TagClass, (s: any) => {
5351
+ if (typeof s[prop] === "function") {
5352
+ // @ts-expect-error
5353
+ cache.set(prop, (...args: Array<any>) => core.andThen(TagClass, (s: any) => s[prop](...args)))
5354
+ return s[prop](...args)
5355
+ }
5356
+ // @ts-expect-error
5357
+ cache.set(prop, core.andThen(TagClass, (s) => s[prop]))
5358
+ return s[prop]
5359
+ })
5341
5360
  // @ts-expect-error
5342
5361
  const cn = core.andThen(TagClass, (s) => s[prop])
5343
5362
  Object.assign(fn, cn)
package/src/FiberMap.ts CHANGED
@@ -9,8 +9,10 @@ import * as Deferred from "./Deferred.js"
9
9
  import * as Exit from "./Exit.js"
10
10
  import * as Fiber from "./Fiber.js"
11
11
  import * as FiberId from "./FiberId.js"
12
+ import * as FiberRef from "./FiberRef.js"
12
13
  import { dual } from "./Function.js"
13
14
  import * as Inspectable from "./Inspectable.js"
15
+ import type { FiberRuntime } from "./internal/fiberRuntime.js"
14
16
  import * as MutableHashMap from "./MutableHashMap.js"
15
17
  import * as Option from "./Option.js"
16
18
  import { type Pipeable, pipeArguments } from "./Pipeable.js"
@@ -173,6 +175,8 @@ export const unsafeSet: {
173
175
  }
174
176
  previous.value.unsafeInterruptAsFork(interruptAs ?? FiberId.none)
175
177
  }
178
+
179
+ ;(fiber as FiberRuntime<unknown, unknown>).setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none())
176
180
  MutableHashMap.set(self.backing, key, fiber)
177
181
  fiber.addObserver((exit) => {
178
182
  const current = MutableHashMap.get(self.backing, key)
package/src/FiberSet.ts CHANGED
@@ -7,8 +7,11 @@ import * as Cause from "./Cause.js"
7
7
  import * as Deferred from "./Deferred.js"
8
8
  import * as Exit from "./Exit.js"
9
9
  import * as Fiber from "./Fiber.js"
10
+ import * as FiberRef from "./FiberRef.js"
10
11
  import { dual } from "./Function.js"
11
12
  import * as Inspectable from "./Inspectable.js"
13
+ import type { FiberRuntime } from "./internal/fiberRuntime.js"
14
+ import * as Option from "./Option.js"
12
15
  import { type Pipeable, pipeArguments } from "./Pipeable.js"
13
16
  import * as Predicate from "./Predicate.js"
14
17
  import * as Runtime from "./Runtime.js"
@@ -146,6 +149,7 @@ export const unsafeAdd: {
146
149
  if (self.backing.has(fiber)) {
147
150
  return
148
151
  }
152
+ ;(fiber as FiberRuntime<unknown, unknown>).setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none())
149
153
  self.backing.add(fiber)
150
154
  fiber.addObserver((exit) => {
151
155
  self.backing.delete(fiber)
package/src/Predicate.ts CHANGED
@@ -53,6 +53,23 @@ export const mapInput: {
53
53
  <A, B>(self: Predicate<A>, f: (b: B) => A): Predicate<B>
54
54
  } = dual(2, <A, B>(self: Predicate<A>, f: (b: B) => A): Predicate<B> => (b) => self(f(b)))
55
55
 
56
+ /**
57
+ * Tests if a value is `truthy`.
58
+ *
59
+ * @param input - The value to test.
60
+ *
61
+ * @example
62
+ * import { isTruthy } from 'effect/Predicate'
63
+ *
64
+ * assert.deepStrictEqual(isTruthy(1), true)
65
+ * assert.deepStrictEqual(isTruthy(0), false)
66
+ * assert.deepStrictEqual(isTruthy(""), false)
67
+ *
68
+ * @category guards
69
+ * @since 2.0.0
70
+ */
71
+ export const isTruthy = (input: unknown) => !!input
72
+
56
73
  /**
57
74
  * Tests if a value is a `Set`.
58
75
  *
package/src/Types.ts CHANGED
@@ -82,6 +82,22 @@ export type Equals<X, Y> = (<T>() => T extends X ? 1 : 2) extends <
82
82
  >() => T extends Y ? 1 : 2 ? true
83
83
  : false
84
84
 
85
+ /**
86
+ * Determines if a record contains any of the given keys.
87
+ *
88
+ * @example
89
+ * import * as Types from "effect/Types"
90
+ *
91
+ * type Res1 = Types.Has<{ a: number }, "a" | "b"> // true
92
+ * type Res2 = Types.Has<{ c: number }, "a" | "b"> // false
93
+ *
94
+ * @since 2.0.0
95
+ * @category models
96
+ */
97
+ export type Has<A, Key extends string> = (Key extends infer K ? K extends keyof A ? true : never : never) extends never
98
+ ? false
99
+ : true
100
+
85
101
  /**
86
102
  * Merges two object where the keys of the left object take precedence in the case of a conflict.
87
103
  *
@@ -604,6 +604,12 @@ export const filterOrFail: {
604
604
  predicate: Predicate.Predicate<NoInfer<A>>,
605
605
  orFailWith: (a: NoInfer<A>) => E2
606
606
  ): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E2 | E, R>
607
+ <A, B extends A>(
608
+ refinement: Predicate.Refinement<NoInfer<A>, B>
609
+ ): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, Cause.NoSuchElementException | E, R>
610
+ <A>(
611
+ predicate: Predicate.Predicate<NoInfer<A>>
612
+ ): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, Cause.NoSuchElementException | E, R>
607
613
  <A, E, R, B extends A, E2>(
608
614
  self: Effect.Effect<A, E, R>,
609
615
  refinement: Predicate.Refinement<A, B>,
@@ -614,11 +620,25 @@ export const filterOrFail: {
614
620
  predicate: Predicate.Predicate<A>,
615
621
  orFailWith: (a: A) => E2
616
622
  ): Effect.Effect<A, E | E2, R>
617
- } = dual(3, <A, E, R, E2>(
623
+ <A, E, R, B extends A>(
624
+ self: Effect.Effect<A, E, R>,
625
+ refinement: Predicate.Refinement<A, B>
626
+ ): Effect.Effect<B, E | Cause.NoSuchElementException, R>
627
+ <A, E, R>(
628
+ self: Effect.Effect<A, E, R>,
629
+ predicate: Predicate.Predicate<A>
630
+ ): Effect.Effect<A, E | Cause.NoSuchElementException, R>
631
+ } = dual((args) => core.isEffect(args[0]), <A, E, R, E2>(
618
632
  self: Effect.Effect<A, E, R>,
619
633
  predicate: Predicate.Predicate<A>,
620
- orFailWith: (a: A) => E2
621
- ): Effect.Effect<A, E | E2, R> => filterOrElse(self, predicate, (a) => core.failSync(() => orFailWith(a))))
634
+ orFailWith?: (a: A) => E2
635
+ ): Effect.Effect<A, E | E2 | Cause.NoSuchElementException, R> =>
636
+ filterOrElse(
637
+ self,
638
+ predicate,
639
+ (a): Effect.Effect<never, E2 | Cause.NoSuchElementException, never> =>
640
+ orFailWith === undefined ? core.fail(new core.NoSuchElementException()) : core.failSync(() => orFailWith(a))
641
+ ))
622
642
 
623
643
  /* @internal */
624
644
  export const findFirst: {
@@ -952,7 +952,8 @@ export const if_ = dual<
952
952
  (self: boolean | Effect.Effect<unknown, unknown, unknown>, { onFalse, onTrue }: {
953
953
  readonly onTrue: Effect.Effect<unknown, unknown, unknown>
954
954
  readonly onFalse: Effect.Effect<unknown, unknown, unknown>
955
- }) => typeof self === "boolean" ? (self ? onTrue : onFalse) : flatMap(self, (b) => (b ? onTrue : onFalse))
955
+ // eslint-disable-next-line no-extra-boolean-cast
956
+ }) => isEffect(self) ? flatMap(self, (b) => (b ? onTrue : onFalse)) : Boolean(self) ? onTrue : onFalse
956
957
  )
957
958
 
958
959
  /* @internal */
@@ -54,10 +54,7 @@ export const make: Metric.MetricApply = function<Type, In, Out>(
54
54
  ): Metric.Metric<Type, In, Out> {
55
55
  const metric: Metric.Metric<Type, In, Out> = Object.assign(
56
56
  <A extends In, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
57
- core.tap(
58
- effect,
59
- (a) => core.sync(() => unsafeUpdate(a, []))
60
- ),
57
+ core.tap(effect, (a) => update(metric, a)),
61
58
  {
62
59
  [MetricTypeId]: metricVariance,
63
60
  keyType,
@@ -345,14 +342,8 @@ export const trackAll = dual<
345
342
  ) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
346
343
  >(2, (self, input) => (effect) =>
347
344
  core.matchCauseEffect(effect, {
348
- onFailure: (cause) => {
349
- self.unsafeUpdate(input, [])
350
- return core.failCause(cause)
351
- },
352
- onSuccess: (value) => {
353
- self.unsafeUpdate(input, [])
354
- return core.succeed(value)
355
- }
345
+ onFailure: (cause) => core.zipRight(update(self, input), core.failCause(cause)),
346
+ onSuccess: (value) => core.zipRight(update(self, input), core.succeed(value))
356
347
  }))
357
348
 
358
349
  /* @internal */
@@ -378,14 +369,8 @@ export const trackDefectWith = dual<
378
369
  f: (defect: unknown) => In
379
370
  ) => Effect.Effect<A, E, R>
380
371
  >(3, (self, metric, f) => {
381
- const updater = (defect: unknown): void => metric.unsafeUpdate(f(defect), [])
382
- return _effect.tapDefect(self, (cause) =>
383
- core.sync(() =>
384
- pipe(
385
- Cause.defects(cause),
386
- ReadonlyArray.forEach(updater)
387
- )
388
- ))
372
+ const updater = (defect: unknown) => update(metric, f(defect))
373
+ return _effect.tapDefect(self, (cause) => core.forEachSequentialDiscard(Cause.defects(cause), updater))
389
374
  })
390
375
 
391
376
  /* @internal */
@@ -413,11 +398,10 @@ export const trackDurationWith = dual<
413
398
  >(3, (self, metric, f) =>
414
399
  Clock.clockWith((clock) => {
415
400
  const startTime = clock.unsafeCurrentTimeNanos()
416
- return core.map(self, (a) => {
401
+ return core.tap(self, (_) => {
417
402
  const endTime = clock.unsafeCurrentTimeNanos()
418
403
  const duration = Duration.nanos(endTime - startTime)
419
- metric.unsafeUpdate(f(duration), [])
420
- return a
404
+ return update(metric, f(duration))
421
405
  })
422
406
  }))
423
407
 
@@ -1,4 +1,4 @@
1
- let moduleVersion = "2.4.6"
1
+ let moduleVersion = "2.4.8"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4