@feedal/embed
Version:
Feedal embed script to load feedback forms via JS or NPM
41 lines (40 loc) • 1.4 kB
TypeScript
/**
* Time normalization utility for Feedal Widget
* Supports hybrid format: numbers with smart defaults + explicit string units
*/
export type TimeUnit = 'seconds' | 'minutes' | 'hours' | 'days';
/**
* Normalize time value to milliseconds
* @param value - Time value (number or string)
* @param defaultUnit - Default unit to use for numbers
* @returns Time in milliseconds
*/
export declare function normalizeTime(value: number | string | boolean | undefined, defaultUnit: TimeUnit): number;
/**
* Parse time string with explicit units
* @param timeStr - Time string (e.g., "5s", "10m", "2h", "30d")
* @returns Time in milliseconds
*/
export declare function parseTimeString(timeStr: string): number;
/**
* Apply default unit to numeric value
* @param value - Numeric value
* @param defaultUnit - Default unit to apply
* @returns Time in milliseconds
*/
export declare function applyDefaultUnit(value: number, defaultUnit: TimeUnit): number;
/**
* Format milliseconds to human-readable string
* @param ms - Time in milliseconds
* @returns Human-readable string
*/
export declare function formatTime(ms: number): string;
/**
* Time configuration with default units for each property
*/
export declare const TIME_DEFAULTS: {
readonly autoClose: TimeUnit;
readonly triggerDelay: TimeUnit;
readonly triggerCooldown: TimeUnit;
readonly submissionExpiry: TimeUnit;
};