Skip to content

Commit c1b2504

Browse files
tim-smarteffect-bot
authored andcommitted
Add Layer.setRandom, for over-riding the default Random service (#4694)
1 parent 7dddf33 commit c1b2504

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

.changeset/afraid-taxis-reflect.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"effect": minor
3+
---
4+
5+
Add Layer.setRandom, for over-riding the default Random service

packages/effect/src/Layer.ts

+11
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,11 @@ import * as fiberRuntime from "./internal/fiberRuntime.js"
3232
import * as internal from "./internal/layer.js"
3333
import * as circularLayer from "./internal/layer/circular.js"
3434
import * as query from "./internal/query.js"
35+
import { randomTag } from "./internal/random.js"
3536
import type { LogLevel } from "./LogLevel.js"
3637
import type * as Option from "./Option.js"
3738
import type { Pipeable } from "./Pipeable.js"
39+
import type * as Random from "./Random.js"
3840
import type * as Request from "./Request.js"
3941
import type * as Runtime from "./Runtime.js"
4042
import type * as Schedule from "./Schedule.js"
@@ -945,6 +947,15 @@ export const setConfigProvider: (configProvider: ConfigProvider) => Layer<never>
945947
*/
946948
export const parentSpan: (span: Tracer.AnySpan) => Layer<Tracer.ParentSpan> = circularLayer.parentSpan
947949

950+
/**
951+
* @since 3.15.0
952+
* @category Random
953+
*/
954+
export const setRandom = <A extends Random.Random>(random: A): Layer<never> =>
955+
scopedDiscard(
956+
fiberRuntime.fiberRefLocallyScopedWith(defaultServices.currentServices, Context.add(randomTag, random))
957+
)
958+
948959
/**
949960
* @since 2.0.0
950961
* @category requests & batching

0 commit comments

Comments
 (0)