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

//#region src/primordials/promise.ts
/**
* @file Safe references to `Promise` static methods, prototype methods, and the
*   ES2024 `withResolvers` factory. Static methods are bound to `Promise` so
*   callers can pass them around as standalone functions (`PromiseAll(arr)`
*   instead of `Promise.all(arr)`); the `this`-receiver capture matches Node's
*   primordials convention.
*/
const PromiseCtor = Promise;
const PromiseAll = Promise.all.bind(Promise);
const PromiseAllSettled = Promise.allSettled.bind(Promise);
const PromiseAny = Promise.any.bind(Promise);
const PromiseRace = Promise.race.bind(Promise);
const PromiseReject = Promise.reject.bind(Promise);
const PromiseResolve = Promise.resolve.bind(Promise);
const PromiseWithResolvers = Promise.withResolvers?.bind(Promise);
const PromisePrototypeCatch = require_primordials_uncurry.uncurryThis(Promise.prototype.catch);
const PromisePrototypeFinally = require_primordials_uncurry.uncurryThis(Promise.prototype.finally);
const PromisePrototypeThen = require_primordials_uncurry.uncurryThis(Promise.prototype.then);

//#endregion
exports.PromiseAll = PromiseAll;
exports.PromiseAllSettled = PromiseAllSettled;
exports.PromiseAny = PromiseAny;
exports.PromiseCtor = PromiseCtor;
exports.PromisePrototypeCatch = PromisePrototypeCatch;
exports.PromisePrototypeFinally = PromisePrototypeFinally;
exports.PromisePrototypeThen = PromisePrototypeThen;
exports.PromiseRace = PromiseRace;
exports.PromiseReject = PromiseReject;
exports.PromiseResolve = PromiseResolve;
exports.PromiseWithResolvers = PromiseWithResolvers;