@@ -153,12 +153,20 @@ export interface ComponentOptions {
|
||||
* @default "100 millis"
|
||||
*/
|
||||
readonly finalizerExecutionDebounce: Duration.Input
|
||||
|
||||
/**
|
||||
* Maximum duration an uncommitted scope may remain registered before it is considered abandoned.
|
||||
*
|
||||
* @default "30 seconds"
|
||||
*/
|
||||
readonly scopeCommitTimeout: Duration.Input
|
||||
}
|
||||
|
||||
export const defaultOptions: ComponentOptions = {
|
||||
nonReactiveTags: [Tracer.ParentSpan, Scheduler.Scheduler, Layer.CurrentMemoMap],
|
||||
finalizerExecutionStrategy: "sequential",
|
||||
finalizerExecutionDebounce: "100 millis",
|
||||
scopeCommitTimeout: "1 minute",
|
||||
}
|
||||
|
||||
|
||||
@@ -641,6 +649,7 @@ export declare namespace useScope {
|
||||
export interface Options {
|
||||
readonly finalizerExecutionStrategy?: "sequential" | "parallel"
|
||||
readonly finalizerExecutionDebounce?: Duration.Input
|
||||
readonly scopeCommitTimeout?: Duration.Input
|
||||
}
|
||||
}
|
||||
|
||||
@@ -675,6 +684,7 @@ export const useScope = Effect.fnUntraced(function*(
|
||||
const entry = yield* registry.register(key, {
|
||||
finalizerExecutionStrategy: options?.finalizerExecutionStrategy ?? defaultOptions.finalizerExecutionStrategy,
|
||||
finalizerExecutionDebounce: options?.finalizerExecutionDebounce ?? defaultOptions.finalizerExecutionDebounce,
|
||||
scopeCommitTimeout: options?.scopeCommitTimeout ?? defaultOptions.scopeCommitTimeout,
|
||||
})
|
||||
|
||||
return [key, entry.scope]
|
||||
|
||||
Reference in New Issue
Block a user