effect 4.0.0-beta.26 → 4.0.0-beta.27

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 (57) hide show
  1. package/dist/Cause.d.ts +1 -1
  2. package/dist/Data.d.ts +2 -2
  3. package/dist/Data.js +2 -2
  4. package/dist/Effect.d.ts +31 -22
  5. package/dist/Effect.d.ts.map +1 -1
  6. package/dist/Effect.js +14 -11
  7. package/dist/Effect.js.map +1 -1
  8. package/dist/ErrorReporter.d.ts +2 -4
  9. package/dist/ErrorReporter.d.ts.map +1 -1
  10. package/dist/ErrorReporter.js +1 -3
  11. package/dist/ErrorReporter.js.map +1 -1
  12. package/dist/Layer.d.ts +112 -117
  13. package/dist/Layer.d.ts.map +1 -1
  14. package/dist/Layer.js +43 -44
  15. package/dist/Layer.js.map +1 -1
  16. package/dist/LayerMap.d.ts +4 -4
  17. package/dist/LayerMap.js +3 -3
  18. package/dist/ManagedRuntime.d.ts +1 -1
  19. package/dist/ManagedRuntime.js +1 -1
  20. package/dist/Metric.d.ts +2 -4
  21. package/dist/Metric.d.ts.map +1 -1
  22. package/dist/Metric.js +2 -4
  23. package/dist/Metric.js.map +1 -1
  24. package/dist/Schedule.d.ts +36 -36
  25. package/dist/Schedule.js +14 -14
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/unstable/cli/CliError.d.ts +4 -4
  29. package/dist/unstable/cli/CliError.js +4 -4
  30. package/dist/unstable/cli/Primitive.d.ts +1 -1
  31. package/dist/unstable/cli/Primitive.js +1 -1
  32. package/dist/unstable/http/Headers.d.ts +16 -0
  33. package/dist/unstable/http/Headers.d.ts.map +1 -1
  34. package/dist/unstable/http/Headers.js +11 -0
  35. package/dist/unstable/http/Headers.js.map +1 -1
  36. package/dist/unstable/httpapi/HttpApiBuilder.js +5 -0
  37. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  38. package/dist/unstable/schema/Model.d.ts +21 -0
  39. package/dist/unstable/schema/Model.d.ts.map +1 -1
  40. package/dist/unstable/schema/Model.js +15 -0
  41. package/dist/unstable/schema/Model.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/Cause.ts +1 -1
  44. package/src/Data.ts +2 -2
  45. package/src/Effect.ts +31 -22
  46. package/src/ErrorReporter.ts +2 -4
  47. package/src/Layer.ts +112 -117
  48. package/src/LayerMap.ts +4 -4
  49. package/src/ManagedRuntime.ts +1 -1
  50. package/src/Metric.ts +2 -4
  51. package/src/Schedule.ts +36 -36
  52. package/src/index.ts +1 -1
  53. package/src/unstable/cli/CliError.ts +4 -4
  54. package/src/unstable/cli/Primitive.ts +1 -1
  55. package/src/unstable/http/Headers.ts +34 -0
  56. package/src/unstable/httpapi/HttpApiBuilder.ts +3 -0
  57. package/src/unstable/schema/Model.ts +31 -0
package/src/Effect.ts CHANGED
@@ -2436,17 +2436,17 @@ export const fromOption: <A>(
2436
2436
  * ```ts
2437
2437
  * import { Console, Effect } from "effect"
2438
2438
  *
2439
- * const input: string | null = null
2440
- *
2441
- * const program = Effect.gen(function*() {
2439
+ * const program = Effect.fn(function*(input: string | null) {
2442
2440
  * const value = yield* Effect.fromNullishOr(input)
2443
2441
  * yield* Console.log(value)
2444
- * }).pipe(
2442
+ * },
2445
2443
  * Effect.catch(() => Console.log("missing"))
2446
2444
  * )
2447
2445
  *
2448
- * Effect.runPromise(program)
2446
+ * Effect.runPromise(program(null))
2449
2447
  * // Output: missing
2448
+ * Effect.runPromise(program("hello"))
2449
+ * // Output: hello
2450
2450
  * ```
2451
2451
  *
2452
2452
  * @since 4.0.0
@@ -6656,7 +6656,7 @@ export const tapDefect: {
6656
6656
  * attempts++
6657
6657
  * yield* Console.log(`Attempt ${attempts}`)
6658
6658
  * if (attempts < 3) {
6659
- * yield* Effect.fail("Not ready")
6659
+ * return yield* Effect.fail("Not ready")
6660
6660
  * }
6661
6661
  * return "Ready"
6662
6662
  * })
@@ -7433,7 +7433,10 @@ export const ignoreCause: <
7433
7433
  *
7434
7434
  * const fetchUrl = Effect.gen(function*() {
7435
7435
  * const endpoint = yield* Effect.service(Endpoint)
7436
- * return endpoint.url === "bad" ? yield* Effect.fail("Unavailable") : endpoint.url
7436
+ * if (endpoint.url === "bad") {
7437
+ * return yield* Effect.fail("Unavailable")
7438
+ * }
7439
+ * return endpoint.url
7437
7440
  * })
7438
7441
  *
7439
7442
  * const plan = ExecutionPlan.make(
@@ -7464,7 +7467,10 @@ export const withExecutionPlan: {
7464
7467
  *
7465
7468
  * const fetchUrl = Effect.gen(function*() {
7466
7469
  * const endpoint = yield* Effect.service(Endpoint)
7467
- * return endpoint.url === "bad" ? yield* Effect.fail("Unavailable") : endpoint.url
7470
+ * if (endpoint.url === "bad") {
7471
+ * return yield* Effect.fail("Unavailable")
7472
+ * }
7473
+ * return endpoint.url
7468
7474
  * })
7469
7475
  *
7470
7476
  * const plan = ExecutionPlan.make(
@@ -7499,7 +7505,10 @@ export const withExecutionPlan: {
7499
7505
  *
7500
7506
  * const fetchUrl = Effect.gen(function*() {
7501
7507
  * const endpoint = yield* Effect.service(Endpoint)
7502
- * return endpoint.url === "bad" ? yield* Effect.fail("Unavailable") : endpoint.url
7508
+ * if (endpoint.url === "bad") {
7509
+ * return yield* Effect.fail("Unavailable")
7510
+ * }
7511
+ * return endpoint.url
7503
7512
  * })
7504
7513
  *
7505
7514
  * const plan = ExecutionPlan.make(
@@ -10440,7 +10449,7 @@ export const isSuccess: <A, E, R>(self: Effect<A, E, R>) => Effect<boolean, neve
10440
10449
  * @since 2.0.0
10441
10450
  * @category Environment
10442
10451
  */
10443
- export const services: <R>() => Effect<ServiceMap.ServiceMap<R>, never, R> = internal.services
10452
+ export const services: <R = never>() => Effect<ServiceMap.ServiceMap<R>, never, R> = internal.services
10444
10453
 
10445
10454
  /**
10446
10455
  * Transforms the current service map using the provided function.
@@ -10506,7 +10515,7 @@ export const servicesWith: <R, A, E, R2>(
10506
10515
  * const Database = ServiceMap.Service<Database>("Database")
10507
10516
  *
10508
10517
  * const DatabaseLive = Layer.succeed(Database)({
10509
- * query: (sql: string) => Effect.succeed(`Result for: ${sql}`)
10518
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result for: ${sql}`))
10510
10519
  * })
10511
10520
  *
10512
10521
  * const program = Effect.gen(function*() {
@@ -10540,7 +10549,7 @@ export const provide: {
10540
10549
  * const Database = ServiceMap.Service<Database>("Database")
10541
10550
  *
10542
10551
  * const DatabaseLive = Layer.succeed(Database)({
10543
- * query: (sql: string) => Effect.succeed(`Result for: ${sql}`)
10552
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result for: ${sql}`))
10544
10553
  * })
10545
10554
  *
10546
10555
  * const program = Effect.gen(function*() {
@@ -10585,7 +10594,7 @@ export const provide: {
10585
10594
  * const Database = ServiceMap.Service<Database>("Database")
10586
10595
  *
10587
10596
  * const DatabaseLive = Layer.succeed(Database)({
10588
- * query: (sql: string) => Effect.succeed(`Result for: ${sql}`)
10597
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result for: ${sql}`))
10589
10598
  * })
10590
10599
  *
10591
10600
  * const program = Effect.gen(function*() {
@@ -10626,7 +10635,7 @@ export const provide: {
10626
10635
  * const Database = ServiceMap.Service<Database>("Database")
10627
10636
  *
10628
10637
  * const DatabaseLive = Layer.succeed(Database)({
10629
- * query: (sql: string) => Effect.succeed(`Result for: ${sql}`)
10638
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result for: ${sql}`))
10630
10639
  * })
10631
10640
  *
10632
10641
  * const program = Effect.gen(function*() {
@@ -10660,7 +10669,7 @@ export const provide: {
10660
10669
  * const Database = ServiceMap.Service<Database>("Database")
10661
10670
  *
10662
10671
  * const DatabaseLive = Layer.succeed(Database)({
10663
- * query: (sql: string) => Effect.succeed(`Result for: ${sql}`)
10672
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result for: ${sql}`))
10664
10673
  * })
10665
10674
  *
10666
10675
  * const program = Effect.gen(function*() {
@@ -10704,7 +10713,7 @@ export const provide: {
10704
10713
  * const Database = ServiceMap.Service<Database>("Database")
10705
10714
  *
10706
10715
  * const DatabaseLive = Layer.succeed(Database)({
10707
- * query: (sql: string) => Effect.succeed(`Result for: ${sql}`)
10716
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result for: ${sql}`))
10708
10717
  * })
10709
10718
  *
10710
10719
  * const program = Effect.gen(function*() {
@@ -10744,7 +10753,7 @@ export const provide: {
10744
10753
  * const Database = ServiceMap.Service<Database>("Database")
10745
10754
  *
10746
10755
  * const DatabaseLive = Layer.succeed(Database)({
10747
- * query: (sql: string) => Effect.succeed(`Result for: ${sql}`)
10756
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result for: ${sql}`))
10748
10757
  * })
10749
10758
  *
10750
10759
  * const program = Effect.gen(function*() {
@@ -13024,8 +13033,8 @@ export const cachedInvalidateWithTTL: {
13024
13033
  * import { Effect } from "effect"
13025
13034
  *
13026
13035
  * const program = Effect.gen(function*() {
13027
- * yield* Effect.interrupt
13028
- * yield* Effect.succeed("This won't execute")
13036
+ * return yield* Effect.interrupt
13037
+ * yield* Effect.succeed("This won't execute and is unreachable")
13029
13038
  * })
13030
13039
  *
13031
13040
  * Effect.runPromise(program).catch(console.error)
@@ -13852,7 +13861,7 @@ export const repeat: {
13852
13861
  * attempt++
13853
13862
  * if (attempt <= 2) {
13854
13863
  * yield* Console.log(`Attempt ${attempt} failed`)
13855
- * yield* Effect.fail(`Error ${attempt}`)
13864
+ * return yield* Effect.fail(`Error ${attempt}`)
13856
13865
  * }
13857
13866
  * yield* Console.log(`Attempt ${attempt} succeeded`)
13858
13867
  * return "success"
@@ -13902,7 +13911,7 @@ export const repeatOrElse: {
13902
13911
  * attempt++
13903
13912
  * if (attempt <= 2) {
13904
13913
  * yield* Console.log(`Attempt ${attempt} failed`)
13905
- * yield* Effect.fail(`Error ${attempt}`)
13914
+ * return yield* Effect.fail(`Error ${attempt}`)
13906
13915
  * }
13907
13916
  * yield* Console.log(`Attempt ${attempt} succeeded`)
13908
13917
  * return "success"
@@ -13955,7 +13964,7 @@ export const repeatOrElse: {
13955
13964
  * attempt++
13956
13965
  * if (attempt <= 2) {
13957
13966
  * yield* Console.log(`Attempt ${attempt} failed`)
13958
- * yield* Effect.fail(`Error ${attempt}`)
13967
+ * return yield* Effect.fail(`Error ${attempt}`)
13959
13968
  * }
13960
13969
  * yield* Console.log(`Attempt ${attempt} succeeded`)
13961
13970
  * return "success"
@@ -39,7 +39,7 @@
39
39
  *
40
40
  * // Opt in to error reporting with Effect.withErrorReporting
41
41
  * const program = Effect.gen(function*() {
42
- * yield* new RateLimitError({ retryAfter: 60 })
42
+ * return yield* new RateLimitError({ retryAfter: 60 })
43
43
  * }).pipe(
44
44
  * Effect.withErrorReporting,
45
45
  * Effect.provide(ErrorReporter.layer([consoleReporter]))
@@ -200,9 +200,7 @@ export const CurrentErrorReporters: ServiceMap.Reference<ReadonlySet<ErrorReport
200
200
  * { mergeWithExisting: true }
201
201
  * )
202
202
  *
203
- * const program = Effect.gen(function*() {
204
- * yield* Effect.fail("boom")
205
- * }).pipe(
203
+ * const program = Effect.fail("boom").pipe(
206
204
  * Effect.withErrorReporting,
207
205
  * Effect.provide(ReporterLive)
208
206
  * )