import { Consumable } from "../consumable.js"; import type { MaybeConsumable } from "../maybe-consumable.js"; export function getValue(value: MaybeConsumable): T { return value instanceof Consumable ? value.value : value; } export function tryConsume( value: T, callback: (value: T extends Consumable ? U : T) => R, ): R { if (value instanceof Consumable) { return value.tryConsume(callback); } else { return callback(value as never); } }