import { EvaluationGetters } from "../../../types/getters";
import { PivotFields, SpreadsheetPivotCoreDefinition } from "../../../types/pivot";
import { Range } from "../../../types/range";
import { PivotRuntimeDefinition } from "../pivot_runtime_definition";

export class SpreadsheetPivotRuntimeDefinition extends PivotRuntimeDefinition {
  readonly range?: Range;

  constructor(
    definition: SpreadsheetPivotCoreDefinition,
    fields: PivotFields,
    getters: EvaluationGetters
  ) {
    super(definition, fields);
    if (definition.dataSet) {
      const { sheetId, zone } = definition.dataSet;
      this.range = getters.getRangeFromZone(sheetId, zone);
    }
  }
}
