UNPKG

@hazae41/box

Version:

Rust-like Box and similar objects for TypeScript

33 lines (31 loc) 750 B
/** * A mutable reference */ declare class Slot<T extends Disposable> { value: T; /** * A mutable reference * @param value */ constructor(value: T); [Symbol.dispose](): void; [Symbol.asyncDispose](): Promise<void>; static create<T extends Disposable>(value: T): Slot<T>; get(): T; set(value: T): void; getAndSet(value: T): T; } declare class AsyncSlot<T extends AsyncDisposable> { value: T; /** * A mutable reference * @param value */ constructor(value: T); [Symbol.asyncDispose](): Promise<void>; static create<T extends AsyncDisposable>(value: T): AsyncSlot<T>; get(): T; set(value: T): void; getAndSet(value: T): T; } export { AsyncSlot, Slot };