//#region ../../node_modules/@vitest/utils/dist/helpers.js
function e(e, t, n) {
	let r = typeof e;
	if (!n.includes(r)) throw TypeError(`${t} value must be ${n.join(" or ")}, received "${r}"`);
}
function t(e) {
	let t = [], n = "none";
	for (let r = 0; r < e.length; ++r) n === "singleline" ? e[r] === "\n" && (n = "none") : n === "multiline" ? e[r - 1] === "*" && e[r] === "/" && (n = "none") : n === "none" && (e[r] === "/" && e[r + 1] === "/" ? n = "singleline" : e[r] === "/" && e[r + 1] === "*" ? (n = "multiline", r += 2) : t.push(e[r]));
	return t.join("");
}
function n(e) {
	return e ??= [], Array.isArray(e) ? e : [e];
}
function r(e) {
	return typeof e == "object" && !!e && !Array.isArray(e);
}
function i(e, t, n = void 0) {
	let r = t.replace(/\[(\d+)\]/g, ".$1").split("."), i = e;
	for (let e of r) if (i = new Object(i)[e], i === void 0) return n;
	return i;
}
function a() {
	let e = null, t = null, n = new Promise((n, r) => {
		e = n, t = r;
	});
	return n.resolve = e, n.reject = t, n;
}
function o(e) {
	if (!Number.isNaN(e)) return !1;
	let t = new Float64Array(1);
	return t[0] = e, new Uint32Array(t.buffer)[1] >>> 31 == 1;
}
function s(e) {
	let t = e % 10, n = e % 100;
	return t === 1 && n !== 11 ? `${e}st` : t === 2 && n !== 12 ? `${e}nd` : t === 3 && n !== 13 ? `${e}rd` : `${e}th`;
}
function c(e) {
	return Array.from(new Set(e));
}
//#endregion
export { e as assertTypes, a as createDefer, t as filterOutComments, o as isNegativeNaN, r as isObject, i as objectAttr, s as ordinal, n as toArray, c as unique };

//# sourceMappingURL=helpers.js.map