"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setViewsMirror = setViewsMirror;
exports.clearViewsMirror = clearViewsMirror;
exports.getViewsMirror = getViewsMirror;
/** 获取全局 root 对象；浏览器环境缺失时返回 undefined。 */
function getRoot() {
    if (typeof window === 'undefined')
        return undefined;
    return window.__CN_AI_TABLE_VIEWS__;
}
/** 确保全局 root 对象存在；不存在时创建并返回；浏览器环境缺失时返回 null。 */
function ensureRoot() {
    if (typeof window === 'undefined')
        return null;
    if (!window.__CN_AI_TABLE_VIEWS__) {
        window.__CN_AI_TABLE_VIEWS__ = {};
    }
    return window.__CN_AI_TABLE_VIEWS__;
}
/** 写入指定 tableId 的视图快照；tableId 缺失时静默跳过。 */
function setViewsMirror(tableId, viewsData) {
    if (!tableId || typeof tableId !== 'string')
        return;
    const root = ensureRoot();
    if (!root)
        return;
    root[tableId] = viewsData;
}
/** 删除指定 tableId 的视图快照；删除后若 root 已空则一并清理。 */
function clearViewsMirror(tableId) {
    if (!tableId || typeof tableId !== 'string')
        return;
    const root = getRoot();
    if (!root)
        return;
    delete root[tableId];
    if (Object.keys(root).length === 0) {
        delete window.__CN_AI_TABLE_VIEWS__;
    }
}
/** 读取指定 tableId 的视图快照；不存在返回 null。 */
function getViewsMirror(tableId) {
    var _a;
    if (!tableId || typeof tableId !== 'string')
        return null;
    const root = getRoot();
    if (!root)
        return null;
    return (_a = root[tableId]) !== null && _a !== void 0 ? _a : null;
}
