{"version":3,"file":"dimensions.cjs","sources":["../../../src/dataframe/dimensions.ts"],"sourcesContent":["import { KeyValue } from '../types/data';\nimport { Field } from '../types/dataFrame';\n\nexport interface Dimension<T = unknown> {\n  // Name of the dimension\n  name: string;\n  // Collection of fields representing dimension\n  // I.e. in 2d graph we have two dimension- X and Y axes. Both dimensions can represent\n  // multiple fields being drawn on the graph.\n  // For instance y-axis dimension is a collection of series value fields,\n  // and x-axis dimension is a collection of corresponding time fields\n  columns: Array<Field<T>>;\n}\n\nexport type Dimensions<T = unknown> = KeyValue<Dimension<T>>;\n\nexport const createDimension = <T>(name: string, columns: Array<Field<T>>): Dimension<T> => {\n  return {\n    name,\n    columns,\n  };\n};\n\nexport const getColumnsFromDimension = <T>(dimension: Dimension<T>) => {\n  return dimension.columns;\n};\nexport const getColumnFromDimension = <T>(dimension: Dimension<T>, column: number) => {\n  return dimension.columns[column];\n};\n\nexport const getValueFromDimension = <T>(dimension: Dimension<T>, column: number, row: number) => {\n  return dimension.columns[column].values[row];\n};\n\nexport const getAllValuesFromDimension = <T>(dimension: Dimension<T>, column: number, row: number) => {\n  return dimension.columns.map((c) => c.values[row]);\n};\n\nexport const getDimensionByName = <T>(dimensions: Dimensions<T>, name: string) => dimensions[name];\n"],"names":[],"mappings":";;;;;AAgBO,MAAM,eAAA,GAAkB,CAAI,IAAA,EAAc,OAAA,KAA2C;AAC1F,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA;AAAA,GACF;AACF;AAEO,MAAM,uBAAA,GAA0B,CAAI,SAAA,KAA4B;AACrE,EAAA,OAAO,SAAA,CAAU,OAAA;AACnB;AACO,MAAM,sBAAA,GAAyB,CAAI,SAAA,EAAyB,MAAA,KAAmB;AACpF,EAAA,OAAO,SAAA,CAAU,QAAQ,MAAM,CAAA;AACjC;AAEO,MAAM,qBAAA,GAAwB,CAAI,SAAA,EAAyB,MAAA,EAAgB,GAAA,KAAgB;AAChG,EAAA,OAAO,SAAA,CAAU,OAAA,CAAQ,MAAM,CAAA,CAAE,OAAO,GAAG,CAAA;AAC7C;AAEO,MAAM,yBAAA,GAA4B,CAAI,SAAA,EAAyB,MAAA,EAAgB,GAAA,KAAgB;AACpG,EAAA,OAAO,SAAA,CAAU,QAAQ,GAAA,CAAI,CAAC,MAAM,CAAA,CAAE,MAAA,CAAO,GAAG,CAAC,CAAA;AACnD;AAEO,MAAM,kBAAA,GAAqB,CAAI,UAAA,EAA2B,IAAA,KAAiB,WAAW,IAAI;;;;;;;;;"}