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

//#region src/effects/pulse-frames.ts
/**
* @file Socket pulse animation frames generator. Generates themeable pulsing
*   animation frames using sparkles (✧ ✦) and lightning (⚡). Follows the
*   cli-spinners format: https://github.com/sindresorhus/cli-spinners.
*/
/**
* Generate Socket pulse animation frames. Creates a pulsing throbber using
* Unicode sparkles and lightning symbols. Frames use brightness modifiers
* (bold/dim) but no embedded colors. Yocto-spinner applies the current spinner
* color to each frame.
*
* Returns a spinner definition compatible with cli-spinners format.
*
* @example
*   ;```typescript
*   const { frames, interval } = generateSocketSpinnerFrames()
*   console.log(frames.length, interval) // 18 50
*   ```
*
* @see https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json
*/
function generateSocketSpinnerFrames(options) {
	const interval = {
		__proto__: null,
		...options
	}.interval ?? 50;
	const bold = require_ansi_constants.ANSI_BOLD;
	const dim = require_ansi_constants.ANSI_DIM;
	const reset = require_ansi_constants.ANSI_RESET;
	const lightning = "⚡︎";
	const starFilled = "✦︎ ";
	const starOutline = "✧︎ ";
	const starTiny = "⋆︎ ";
	return {
		__proto__: null,
		frames: [
			`${dim}${starOutline}${reset}`,
			`${dim}${starOutline}${reset}`,
			`${dim}${starTiny}${reset}`,
			`${starFilled}${reset}`,
			`${starFilled}${reset}`,
			`${bold}${starFilled}${reset}`,
			`${bold}${starFilled}${reset}`,
			`${bold}${lightning}${reset}`,
			`${bold}${lightning}${reset}`,
			`${bold}${lightning}${reset}`,
			`${bold}${lightning}${reset}`,
			`${bold}${lightning}${reset}`,
			`${bold}${starFilled}${reset}`,
			`${bold}${starFilled}${reset}`,
			`${starFilled}${reset}`,
			`${starFilled}${reset}`,
			`${dim}${starTiny}${reset}`,
			`${dim}${starOutline}${reset}`
		],
		interval
	};
}

//#endregion
exports.generateSocketSpinnerFrames = generateSocketSpinnerFrames;