[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Scope.ts
/** * @since 2.0.0 */ import type * as Context from "./Context.js" import type * as Effect from "./Effect.js" import type * as ExecutionStrategy from "./ExecutionStrategy.js" import type * as Exit from "./Exit.js" import * as core from "./internal/core.js" import * as fiberRuntime from "./internal/fiberRuntime.js" import type { Pipeable } from "./Pipeable.js" /** * A unique identifier for the `Scope` type. * * @since 2.0.0 * @category symbols */ export const ScopeTypeId: unique symbol = core.ScopeTypeId /** * The type of the unique identifier for `Scope`. * * @since 2.0.0 * @category symbols */ export type ScopeTypeId = typeof ScopeTypeId /** * A unique identifier for the `CloseableScope` type. * * @since 2.0.0 * @category symbols */ export const CloseableScopeTypeId: unique symbol = core.CloseableScopeTypeId /** * The type of the unique identifier for `CloseableScope`. * * @since 2.0.0 * @category symbols */ export type CloseableScopeTypeId = typeof CloseableScopeTypeId /** * Represents a scope that manages finalizers and can fork child scopes. * * @since 2.0.0 * @category models */ export interface Scope extends Pipeable { readonly [ScopeTypeId]: ScopeTypeId /** * The execution strategy for running finalizers in this scope. */ readonly strategy: ExecutionStrategy.ExecutionStrategy /** * Forks a new child scope with the specified execution strategy. The child scope * will automatically be closed when this scope is closed. * * @internal */ fork(strategy: ExecutionStrategy.ExecutionStrategy): Effect.Effect<Scope.Closeable> /** * Adds a finalizer to this scope. The finalizer will be run when the scope is closed. * * @internal */ addFinalizer(finalizer: Scope.Finalizer): Effect.Effect<void> } /** * A scope that can be explicitly closed with a specified exit value. * * @since 2.0.0 * @category models */ export interface CloseableScope extends Scope, Pipeable { readonly [CloseableScopeTypeId]: CloseableScopeTypeId /** * Closes this scope with the given exit value, running all finalizers. * * @internal */ close(exit: Exit.Exit<unknown, unknown>): Effect.Effect<void> } /** * A tag representing the current `Scope` in the environment. * * @since 2.0.0 * @category context */ export const Scope: Context.Tag<Scope, Scope> = fiberRuntime.scopeTag /** * @since 2.0.0 */ export declare namespace Scope { /** * A finalizer function that takes an `Exit` value and returns an `Effect`. * * @since 2.0.0 * @category model */ export type Finalizer = (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<void> /** * A closeable scope that can be explicitly closed. * * @since 2.0.0 * @category model */ export type Closeable = CloseableScope } /** * Adds a finalizer to this scope. The finalizer is guaranteed to be run when * the scope is closed. Use this when the finalizer does not need to know the * `Exit` value that the scope is closed with. * * @see {@link addFinalizerExit} * * @since 2.0.0 * @category utils */ export const addFinalizer: ( self: Scope, finalizer: Effect.Effect<unknown> ) => Effect.Effect<void> = core.scopeAddFinalizer /** * Adds a finalizer to this scope. The finalizer receives the `Exit` value * when the scope is closed, allowing it to perform different actions based * on the exit status. * * @see {@link addFinalizer} * * @since 2.0.0 * @category utils */ export const addFinalizerExit: (self: Scope, finalizer: Scope.Finalizer) => Effect.Effect<void> = core.scopeAddFinalizerExit /** * Closes this scope with the specified exit value, running all finalizers that * have been added to the scope. * * @since 2.0.0 * @category destructors */ export const close: (self: CloseableScope, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<void> = core.scopeClose /** * Extends the scope of an `Effect` that requires a scope into this scope. * It provides this scope to the effect but does not close the scope when the * effect completes execution. This allows extending a scoped value into a * larger scope. * * @since 2.0.0 * @category utils */ export const extend: { /** * Extends the scope of an `Effect` that requires a scope into this scope. * It provides this scope to the effect but does not close the scope when the * effect completes execution. This allows extending a scoped value into a * larger scope. * * @since 2.0.0 * @category utils */ (scope: Scope): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Scope>> /** * Extends the scope of an `Effect` that requires a scope into this scope. * It provides this scope to the effect but does not close the scope when the * effect completes execution. This allows extending a scoped value into a * larger scope. * * @since 2.0.0 * @category utils */ <A, E, R>(effect: Effect.Effect<A, E, R>, scope: Scope): Effect.Effect<A, E, Exclude<R, Scope>> } = fiberRuntime.scopeExtend /** * Forks a new child scope with the specified execution strategy. The child scope * will automatically be closed when this scope is closed. * * @since 2.0.0 * @category utils */ export const fork: ( self: Scope, strategy: ExecutionStrategy.ExecutionStrategy ) => Effect.Effect<CloseableScope> = core.scopeFork /** * Provides this closeable scope to an `Effect` that requires a scope, * guaranteeing that the scope is closed with the result of that effect as * soon as the effect completes execution, whether by success, failure, or * interruption. * * @since 2.0.0 * @category destructors */ export const use: { /** * Provides this closeable scope to an `Effect` that requires a scope, * guaranteeing that the scope is closed with the result of that effect as * soon as the effect completes execution, whether by success, failure, or * interruption. * * @since 2.0.0 * @category destructors */ (scope: CloseableScope): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Scope>> /** * Provides this closeable scope to an `Effect` that requires a scope, * guaranteeing that the scope is closed with the result of that effect as * soon as the effect completes execution, whether by success, failure, or * interruption. * * @since 2.0.0 * @category destructors */ <A, E, R>(effect: Effect.Effect<A, E, R>, scope: CloseableScope): Effect.Effect<A, E, Exclude<R, Scope>> } = fiberRuntime.scopeUse /** * Creates a new closeable scope where finalizers will run according to the * specified `ExecutionStrategy`. If no execution strategy is provided, `sequential` * will be used by default. * * @since 2.0.0 * @category constructors */ export const make: ( executionStrategy?: ExecutionStrategy.ExecutionStrategy ) => Effect.Effect<CloseableScope> = fiberRuntime.scopeMake
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium331.web-hosting.com
Server IP: 184.94.213.169
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.86 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: livedhms
User ID (UID): 1344
Group ID (GID): 1349
Script Owner UID: 1344
Current Dir Owner: 1344