UNPKG

@finos/legend-data-cube

Version:
271 lines 11.5 kB
/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type V1_AppliedFunction } from '@finos/legend-graph'; import type { DataCubeQueryFilterOperation } from './filter/DataCubeQueryFilterOperation.js'; import type { DataCubeQueryAggregateOperation } from './aggregation/DataCubeQueryAggregateOperation.js'; export declare enum DataCubeFunction { EXTEND = "meta::pure::functions::relation::extend", FILTER = "meta::pure::functions::relation::filter", GROUP_BY = "meta::pure::functions::relation::groupBy", LIMIT = "meta::pure::functions::relation::limit", PIVOT = "meta::pure::functions::relation::pivot", SELECT = "meta::pure::functions::relation::select", SLICE = "meta::pure::functions::relation::slice", SORT = "meta::pure::functions::relation::sort", OVER = "meta::pure::functions::relation::over", CAST = "meta::pure::functions::lang::cast", FROM = "meta::pure::mapping::from", ASCENDING = "meta::pure::functions::relation::ascending", DESCENDING = "meta::pure::functions::relation::descending", ABS = "meta::pure::functions::math::abs", AND = "meta::pure::functions::boolean::and", OR = "meta::pure::functions::boolean::or", NOT = "meta::pure::functions::boolean::not", TO_LOWERCASE = "meta::pure::functions::string::toLower", CONTAINS = "meta::pure::functions::string::contains", ENDS_WITH = "meta::pure::functions::string::endsWith", EQUAL = "meta::pure::functions::boolean::equal", GREATER_THAN = "meta::pure::functions::boolean::greaterThan", GREATER_THAN_OR_EQUAL = "meta::pure::functions::boolean::greaterThanEqual", IN = "meta::pure::functions::collection::in", IS_EMPTY = "meta::pure::functions::collection::isEmpty", LESS_THAN = "meta::pure::functions::boolean::lessThan", LESS_THAN_OR_EQUAL = "meta::pure::functions::boolean::lessThanEqual", STARTS_WITH = "meta::pure::functions::string::startsWith", AVERAGE = "meta::pure::functions::math::average", COUNT = "meta::pure::functions::collection::count", DISTINCT = "meta::pure::functions::collection::distinct", FIRST = "meta::pure::functions::collection::first", JOIN_STRINGS = "meta::pure::functions::string::joinStrings", LAST = "meta::pure::functions::collection::last", MAX = "meta::pure::functions::collection::max", MIN = "meta::pure::functions::collection::min", SUM = "meta::pure::functions::math::sum", STANDARD_DEVIATION_POPULATION = "meta::pure::functions::math::stdDevPopulation", STANDARD_DEVIATION_SAMPLE = "meta::pure::functions::math::stdDevSample", UNIQUE_VALUE_ONLY = "meta::pure::functions::collection::uniqueValueOnly", VARIANCE_POPULATION = "meta::pure::functions::math::variancePopulation", VARIANCE_SAMPLE = "meta::pure::functions::math::varianceSample" } export type DataCubeQueryFunctionMap = { leafExtend?: V1_AppliedFunction[] | undefined; filter?: V1_AppliedFunction | undefined; pivotSort?: V1_AppliedFunction | undefined; pivot?: V1_AppliedFunction | undefined; pivotCast?: V1_AppliedFunction | undefined; groupBy?: V1_AppliedFunction | undefined; groupBySort?: V1_AppliedFunction | undefined; groupExtend?: V1_AppliedFunction[] | undefined; select?: V1_AppliedFunction | undefined; sort?: V1_AppliedFunction | undefined; limit?: V1_AppliedFunction | undefined; }; export declare enum DataCubeNumberScale { BASIS_POINT = "Basis Points (bp)", PERCENT = "Percent (%)", THOUSANDS = "Thousands (k)", MILLIONS = "Millions (m)", BILLIONS = "Billions (b)", TRILLIONS = "Trillions (t)", AUTO = "Auto (k/m/b/t)" } export declare enum DataCubeFont { ARIAL = "Arial", ROBOTO = "Roboto", ROBOTO_CONDENSED = "Roboto Condensed", TIMES_NEW_ROMAN = "Times New Roman", GEORGIA = "Georgia", ROBOTO_SERIF = "Roboto Serif", JERBRAINS_MONO = "Jetbrains Mono", ROBOTO_MONO = "Roboto Mono", UBUNTU_MONO = "Ubuntu Mono" } export declare enum DataCubeFontTextAlignment { CENTER = "center", LEFT = "left", RIGHT = "right" } export declare enum DataCubeFontCase { LOWERCASE = "lowercase", UPPERCASE = "uppercase", CAPITALIZE = "capitalize" } export declare enum DataCubeFontFormatUnderlineVariant { SOLID = "solid", DASHED = "dashed", DOTTED = "dotted", DOUBLE = "double", WAVY = "wavy" } export declare enum DataCubeColumnKind { MEASURE = "Measure", DIMENSION = "Dimension" } export declare enum DataCubeOperationAdvancedValueType { COLUMN = "COLUMN", VOID = "VOID" } export type DataCubeOperationValue = { value?: unknown; type: string; }; export declare enum DataCubeQueryAggregateOperator { SUM = "sum", AVERAGE = "avg", COUNT = "count", MIN = "min", MAX = "max", UNIQUE = "uniq", FIRST = "first", LAST = "last", VARIANCE_POPULATION = "var", VARIANCE_SAMPLE = "var_sample", STANDARD_DEVIATION_POPULATION = "std", STANDARD_DEVIATION_SAMPLE = "std_sample", JOIN_STRINGS = "strjoin" } export declare enum DataCubeQueryClientSideAggregateOperator { SUM = "sum", AVERAGE = "avg", MEDIAN = "median", COUNT = "count", MIN = "min", MAX = "max", VARIANCE_POPULATION = "var", VARIANCE_SAMPLE = "var_sample", STANDARD_DEVIATION_POPULATION = "std", STANDARD_DEVIATION_SAMPLE = "std_sample" } export declare enum DataCubeQueryFilterOperator { LESS_THAN = "<", LESS_THAN_OR_EQUAL = "<=", EQUAL = "=", NOT_EQUAL = "!=", GREATER_THAN = ">", GREATER_THAN_OR_EQUAL = ">=", IN = "in", NOT_IN = "not in", IS_NULL = "is null", IS_NOT_NULL = "is not null", EQUAL_CASE_INSENSITIVE = "= (case-insensitive)", NOT_EQUAL_CASE_INSENSITIVE = "!= (case-insensitive)", IN_CASE_INSENSITIVE = "in (case-insensitive)", NOT_IN_CASE_INSENSITIVE = "not in (case-insensitive)", CONTAIN = "contains", CONTAIN_CASE_INSENSITIVE = "contains (case-insensitive)", NOT_CONTAIN = "does not contain", START_WITH = "starts with", START_WITH_CASE_INSENSITIVE = "starts with (case-insensitive)", NOT_START_WITH = "does not start with", END_WITH = "ends with", END_WITH_CASE_INSENSITIVE = "ends with (case-insensitive)", NOT_END_WITH = "does not end with", LESS_THAN_COLUMN = "< value in column", LESS_THAN_OR_EQUAL_COLUMN = "<= value in column", EQUAL_COLUMN = "= value in column", EQUAL_CASE_INSENSITIVE_COLUMN = "= (case-insensitive) value in column", NOT_EQUAL_COLUMN = "!= value in column", NOT_EQUAL_CASE_INSENSITIVE_COLUMN = "!= (case-insensitive) value in column", GREATER_THAN_COLUMN = "> value in column", GREATER_THAN_OR_EQUAL_COLUMN = ">= value in column" } export declare enum DataCubeQueryFilterGroupOperator { AND = "and", OR = "or" } export declare enum DataCubeQuerySortDirection { ASCENDING = "Ascending", DESCENDING = "Descending" } export declare enum DataCubeColumnPinPlacement { LEFT = "Left", RIGHT = "Right" } export declare enum DataCubeColumnDataType { NUMBER = "Numeric", TEXT = "Text", DATE = "Date", TIME = "Time" } export declare enum DataCubeGridMode { STANDARD = "Standard", MULTIDIMENSIONAL = "Multidimensional" } export declare enum DataCubeClientModelOption { ROW_DATA = "rowData", COLUMN_DEFS = "columnDefs", LOADING = "loading" } export declare enum DataCubeTitleBarMenuItems { VIEW_SOURCE = "View Source", RESET_TO_LATEST_SAVE = "Reset to Latest Save", UPDATE_INFO = "Update Info...", DELETE_DATACUBE = "Delete DataCube...", SEE_DOCUMENTATION = "See Documentation", ABOUT = "About", UNDO = "Undo", REDO = "Redo", SETTINGS = "Settings..." } export declare enum DataCubeOpenEditorSource { STATUS_BAR = "Status Bar", GRID_MENU = "Grid Menu" } export declare const PIVOT_COLUMN_NAME_VALUE_SEPARATOR = "__|__"; export declare const TREE_COLUMN_VALUE_SEPARATOR = "__/__"; export declare const DEFAULT_LAMBDA_VARIABLE_NAME = "x"; export declare const DEFAULT_REPORT_NAME = "New Report"; export declare const DEFAULT_TREE_COLUMN_SORT_DIRECTION = DataCubeQuerySortDirection.ASCENDING; export declare const DEFAULT_PIVOT_STATISTIC_COLUMN_NAME = "Total"; export declare const DEFAULT_PIVOT_COLUMN_SORT_DIRECTION = DataCubeQuerySortDirection.ASCENDING; export declare const DEFAULT_ROOT_AGGREGATION_COLUMN_VALUE = "[ROOT]"; export declare const DEFAULT_URL_LABEL_QUERY_PARAM = "dataCube.linkLabel"; export declare const DEFAULT_MISSING_VALUE_DISPLAY_TEXT = ""; export declare const DEFAULT_GRID_LINE_COLOR: string; export declare const DEFAULT_ROW_HIGHLIGHT_BACKGROUND_COLOR = "#d7e0eb"; export declare const DEFAULT_COLUMN_WIDTH = 300; export declare const DEFAULT_COLUMN_MIN_WIDTH = 50; export declare const DEFAULT_COLUMN_MAX_WIDTH: undefined; export declare const DEFAULT_GRID_MODE = DataCubeGridMode.STANDARD; export declare const DEFAULT_FONT_FAMILY = DataCubeFont.ROBOTO; export declare const DEFAULT_FONT_SIZE = 11; export declare const DEFAULT_FONT_BOLD = false; export declare const DEFAULT_FONT_ITALIC = false; export declare const DEFAULT_FONT_CASE: undefined; export declare const DEFAULT_FONT_UNDERLINED: undefined; export declare const DEFAULT_FONT_STRIKETHROUGH = false; export declare const DEFAULT_TEXT_ALIGN = DataCubeFontTextAlignment.LEFT; export declare const DEFAULT_FOREGROUND_COLOR: string; export declare const DEFAULT_BACKGROUND_COLOR: string; export declare const DEFAULT_ROW_BACKGROUND_COLOR: string; export declare const DEFAULT_NEGATIVE_FOREGROUND_COLOR: string; export declare const DEFAULT_ZERO_FOREGROUND_COLOR: string; export declare const DEFAULT_ERROR_FOREGROUND_COLOR: string; export declare const TAB_SIZE = 2; export declare const DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss"; export declare const TYPEAHEAD_SEARCH_MINIMUM_SEARCH_LENGTH = 3; export declare const TYPEAHEAD_SEARCH_LIMIT = 10; export declare const EMPTY_VALUE_PLACEHOLDER = "(None)"; export declare function _defaultPrimitiveTypeValue(type: string): unknown; export declare function getFilterOperation(operator: string, operators: DataCubeQueryFilterOperation[]): DataCubeQueryFilterOperation; export declare function getAggregateOperation(operator: string, aggregateOperations: DataCubeQueryAggregateOperation[]): DataCubeQueryAggregateOperation; export declare function getDataType(type: string): DataCubeColumnDataType; export declare function ofDataType(type: string, dataTypes: DataCubeColumnDataType[]): boolean; export declare function isDimensionalGridMode(gridMode: DataCubeGridMode): gridMode is DataCubeGridMode.MULTIDIMENSIONAL; export declare function isPrimitiveType(type: string): boolean; export declare function isPivotResultColumnName(columnName: string): boolean; export declare function getPivotResultColumnBaseColumnName(columnName: string): string; //# sourceMappingURL=DataCubeQueryEngine.d.ts.map