"use strict";
/* Socket Lib - Built with rolldown */
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });

//#region src/process/abort.ts
/**
* @file Process control helpers. Lazily creates and exposes a shared
*   `AbortController` and its `AbortSignal` so cooperating modules can
*   coordinate cancellation from a single source.
*/
let _abortController;
/**
* Get the process-scoped shared `AbortController` singleton. Cooperating
* modules use this to coordinate cancellation across the library.
*
* @returns The lazily-created shared `AbortController` instance.
*/
function getAbortController() {
	if (_abortController === void 0) _abortController = new AbortController();
	return _abortController;
}
/**
* Get the process-scoped shared `AbortSignal` singleton. This is the `signal`
* property of {@link getAbortController}'s controller and is intended to be
* passed to APIs that accept an `AbortSignal`.
*
* @returns The shared `AbortSignal` instance.
*/
function getAbortSignal() {
	return getAbortController().signal;
}

//#endregion
exports.getAbortController = getAbortController;
exports.getAbortSignal = getAbortSignal;