How to Cache Random Number Results in Effect Typescript
Can somebody help me out with regards to caching?
(https://effect.website/play/#f0b444232f86)
import { Effect, Random } from "effect"
const getRandomNumber = Effect.fn("getRandomNumber")(function*({
randomNumber
}: { randomNumber: number }) {
return yield* Random.nextIntBetween(1, randomNumber)
})
const somePartOfTheCode = Effect.fn("somePartofTheCode")(function*({
randomNumber
}: { randomNumber: number }) {
return yield* getRandomNumber({randomNumber: 10}) // How would I get these two return the same?
})
const someOtherPartOfTheCode = Effect.fn("someOtherPartOfTheCode")(function*({
randomNumber
}: { randomNumber: number }) {
return yield* getRandomNumber({randomNumber: 10}) // How would I get these two return the same?
})
const program = Effect.gen(function*() {
console.log(yield* somePartOfTheCode({randomNumber: 10}))
console.log(yield* someOtherPartOfTheCode({randomNumber: 10}))
})
Effect.runFork(program)import { Effect, Random } from "effect"
const getRandomNumber = Effect.fn("getRandomNumber")(function*({
randomNumber
}: { randomNumber: number }) {
return yield* Random.nextIntBetween(1, randomNumber)
})
const somePartOfTheCode = Effect.fn("somePartofTheCode")(function*({
randomNumber
}: { randomNumber: number }) {
return yield* getRandomNumber({randomNumber: 10}) // How would I get these two return the same?
})
const someOtherPartOfTheCode = Effect.fn("someOtherPartOfTheCode")(function*({
randomNumber
}: { randomNumber: number }) {
return yield* getRandomNumber({randomNumber: 10}) // How would I get these two return the same?
})
const program = Effect.gen(function*() {
console.log(yield* somePartOfTheCode({randomNumber: 10}))
console.log(yield* someOtherPartOfTheCode({randomNumber: 10}))
})
Effect.runFork(program)(https://effect.website/play/#f0b444232f86)
