"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return TableMeta;
    }
});
const _object = require("../../../helpers/object");
const _utils = require("../utils");
class TableMeta {
    /**
   * Gets settings object for this layer.
   *
   * @returns {TableMeta}
   */ getMeta() {
        return this.meta;
    }
    /**
   * Updates table settings object by merging settings with the current state.
   *
   * @param {object} settings An object to merge with.
   */ updateMeta(settings) {
        (0, _object.extend)(this.meta, settings);
        (0, _utils.extendByMetaType)(this.meta, settings, settings);
    }
    constructor(globalMeta){
        const MetaCtor = globalMeta.getMetaConstructor();
        this.meta = new MetaCtor();
    }
}
