Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/antoine-coulon/effect-introduction
/ functions
Functions
48 in github.com/antoine-coulon/effect-introduction
⨍
Functions
48
◇
Types & classes
28
↓ 2 callers
Function
asMillis
(duration: DurationValue)
src/03-resilience.ts:408
↓ 2 callers
Function
fetchUser
(id: number)
src/05-concurrency.ts:12
↓ 2 callers
Function
run
(program: Effect.Effect<R, E, A>)
src/06-runtime.ts:202
↓ 1 callers
Function
backgroundJobWithCancellationWithNoLeaks
* However we are still leaking something now that we added a listener to the * "abort" event. The listener will be kept in memory until the signal is
src/03-resilience.ts:275
↓ 1 callers
Function
cancellableTimeout1
()
src/03-resilience.ts:201
↓ 1 callers
Function
cancellableTimeout2
()
src/03-resilience.ts:207
↓ 1 callers
Function
doSomethingAsync
* ---------------------------- * 1. Asynchronous computations * ---------------------------- * * Asynchronous computations are usually modeled in
src/01-explicitness.ts:142
↓ 1 callers
Function
isSomeErrorException
(exception: unknown)
src/01-explicitness.ts:88
↓ 1 callers
Function
isSomeOtherErrorException
( exception: unknown )
src/01-explicitness.ts:92
↓ 1 callers
Function
retry
( computation: () => Promise<void>, times = 1 )
src/03-resilience.ts:31
↓ 1 callers
Function
retryUntil
( computation: () => Promise<void>, times = 1, shouldRetry: (e: unknown) => boolean )
src/03-resilience.ts:65
↓ 1 callers
Function
test
* Let's just add some boilerplate to emulate a test runner
src/02-testing.ts:21
Function
backgroundJob
()
src/03-resilience.ts:219
Function
backgroundJobProgram
()
src/03-resilience.ts:311
Function
backgroundJobWithCancellation
* What about being able to cancel the background job from the outside?
src/03-resilience.ts:236
Function
blindlyCatch
()
src/01-explicitness.ts:98
Function
businessUseCase
* Retrying is a core part of resilience and it is a very common pattern to recover * from errors. However, each system has its own set of constraints
src/03-resilience.ts:27
Function
businessUseCaseWithFailureVariants
* Great, we are able to retry the computation as many times as we want! But what * if we want to retry both X times but also on a specific condition?
src/03-resilience.ts:57
Function
computeEffect
()
src/06-runtime.ts:6
Function
computePromise
()
src/06-runtime.ts:12
Method
constructor
(readonly id: number)
src/04-composability.ts:13
Method
constructor
(readonly id: number)
src/04-composability.ts:18
Method
constructor
()
src/01-explicitness.ts:76
Method
constructor
()
src/01-explicitness.ts:82
Function
defensiveMultiplyNumber
* This behavior can be the root cause of many problems including defensive coding, * for instance:
src/01-explicitness.ts:59
Function
findUserById
(id: number)
src/01-explicitness.ts:290
Function
generateRandomNumber
()
src/01-explicitness.ts:24
Function
generateRandomNumberWithImplementation
()
src/01-explicitness.ts:44
Function
leakingRace
()
src/03-resilience.ts:186
Function
longRunningPromise
()
src/05-concurrency.ts:38
Function
mainFeatureFlagProgram
()
src/01-explicitness.ts:662
Function
mainProgram
()
src/01-explicitness.ts:637
Function
main_1
()
src/01-explicitness.ts:29
Function
main_2
()
src/01-explicitness.ts:150
Function
makeRace
* One better way of doing that would be to use the `AbortController` Web API * that allows us to provide signal to asynchronous computations, and sig
src/03-resilience.ts:197
Function
multiplyNumberWhenDealingWithError
()
src/01-explicitness.ts:355
Function
multiplyNumberWithExhaustivePatternMatching
* Now that we have failures represented as a union, it allows us to pattern match * and recover from either specific failures or all failures. Depend
src/01-explicitness.ts:478
Function
multiplyNumberWithPartialPatternMatching
()
src/01-explicitness.ts:494
Function
multiplyNumberWithoutDealingWithError
* In the following function, see how we write the return type of the function as * an Effect that can't fail with an expected error (modeled by the `
src/01-explicitness.ts:345
Function
program
(ids: number[])
src/04-composability.ts:44
Function
programWithRetryUntil
()
src/03-resilience.ts:86
Function
programWithSimpleRetry
()
src/03-resilience.ts:45
Function
quickRunningPromise
* RESOURCE MANAGEMENT
src/05-concurrency.ts:32
Function
registerUser
()
src/01-explicitness.ts:538
Function
retrieveAllUsers
()
src/05-concurrency.ts:16
Function
runCallback
const result = run(simpleProgram); console.log({ syncResult: result });
src/06-runtime.ts:231
Function
runPromise
runCallback(simpleProgram, (result) => { console.log({ cbResult: result }); });
src/06-runtime.ts:244
Function
userProgram
()
src/01-explicitness.ts:588