/**
 * Safe replacement for `match.index!` — returns 0 as fallback instead of throwing.
 */
export function safeMatchIndex(m) {
    return typeof m.index === "number" ? m.index : 0;
}
/**
 * Safe replacement for `match.groups!.xxx` — returns empty object as fallback.
 */
export function safeMatchGroups(m) {
    return (m.groups ?? {});
}
/**
 * 统一 unknown 错误为字符串。
 * 替代分散在 48+ 处的 `e instanceof Error ? e.message : String(e)` 模式。
 */
export function errorMessage(e) {
    return e instanceof Error ? e.message : String(e);
}
/**
 * 安全的 JSON 解析 — 替代裸 `JSON.parse()`。
 * 解析失败时返回 fallback（默认 undefined），不会抛出异常。
 */
export function safeJsonParse(text, fallback) {
    try {
        return JSON.parse(text);
    }
    catch {
        return fallback;
    }
}
/**
 * 安全的 JSON 序列化 — 替代裸 `JSON.stringify()`。
 * 循环引用或其他错误时返回 fallback（默认 undefined）。
 */
export function safeJsonStringify(obj, fallback) {
    try {
        return JSON.stringify(obj);
    }
    catch {
        return fallback;
    }
}
//# sourceMappingURL=helpers.js.map