@finos/legend-graph
Version:
Legend graph and graph manager
196 lines • 10.9 kB
JavaScript
/**
* 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.
*/
export const MULTIPLICITY_INFINITE = '*';
export const ELEMENT_PATH_DELIMITER = '::';
export const MULTIPLICITY_RANGE_OPERATOR = '..';
export const PROPERTY_ACCESSOR = '.';
export const UNIT_PATH_DELIMITER = '~';
export const LAMBDA_PIPE = '|';
export const DEFAULT_SOURCE_PARAMETER_NAME = 'src';
export const DEFAULT_DATABASE_SCHEMA_NAME = 'default';
export const SECTION_INDEX_ELEMENT_PATH = '__internal__::SectionIndex';
export const VARIABLE_REFERENCE_TOKEN = '$';
export const TYPE_CAST_TOKEN = '@';
export const ARROW_FUNCTION_TOKEN = '->';
export const LATEST_DATE = '%latest';
export const PARSER_SECTION_MARKER = '###';
export const FUNCTION_SIGNATURE_MULTIPLICITY_INFINITE_TOKEN = 'MANY';
export const DIRECTORY_PATH_DELIMITER = '/';
export const SOURCE_INFORMATION_PROPERTY_KEY_SUFFIX = 'sourceInformation';
export const LET_TOKEN = 'let';
export const RESERVERD_PACKAGE_NAMES = ['$implicit'];
export var ROOT_PACKAGE_NAME;
(function (ROOT_PACKAGE_NAME) {
ROOT_PACKAGE_NAME["CORE"] = "CORE";
ROOT_PACKAGE_NAME["MAIN"] = "ROOT";
ROOT_PACKAGE_NAME["MODEL_GENERATION"] = "MODEL_GENERATION_ROOT";
ROOT_PACKAGE_NAME["SYSTEM"] = "SYSTEM_ROOT";
ROOT_PACKAGE_NAME["PROJECT_DEPENDENCY_ROOT"] = "PROJECT_DEPENDENCY_ROOT";
})(ROOT_PACKAGE_NAME || (ROOT_PACKAGE_NAME = {}));
export var PRIMITIVE_TYPE;
(function (PRIMITIVE_TYPE) {
PRIMITIVE_TYPE["STRING"] = "String";
PRIMITIVE_TYPE["BOOLEAN"] = "Boolean";
PRIMITIVE_TYPE["BINARY"] = "Binary";
PRIMITIVE_TYPE["NUMBER"] = "Number";
PRIMITIVE_TYPE["INTEGER"] = "Integer";
PRIMITIVE_TYPE["FLOAT"] = "Float";
PRIMITIVE_TYPE["DECIMAL"] = "Decimal";
PRIMITIVE_TYPE["DATE"] = "Date";
PRIMITIVE_TYPE["STRICTDATE"] = "StrictDate";
PRIMITIVE_TYPE["DATETIME"] = "DateTime";
PRIMITIVE_TYPE["STRICTTIME"] = "StrictTime";
// NOTE: `LatestDate` is a special type that is used for milestoning in store so its used in the body of function and lamdba but never should be exposed to users
// as such, if there is a day we want to have `LatestDate` in the graph but not exposed to the users
PRIMITIVE_TYPE["LATESTDATE"] = "LatestDate";
PRIMITIVE_TYPE["BYTE"] = "Byte";
})(PRIMITIVE_TYPE || (PRIMITIVE_TYPE = {}));
export var PRECISE_PRIMITIVE_TYPE;
(function (PRECISE_PRIMITIVE_TYPE) {
PRECISE_PRIMITIVE_TYPE["STRING"] = "meta::pure::precisePrimitives::Varchar";
PRECISE_PRIMITIVE_TYPE["INT"] = "meta::pure::precisePrimitives::Int";
PRECISE_PRIMITIVE_TYPE["TINY_INT"] = "meta::pure::precisePrimitives::TinyInt";
PRECISE_PRIMITIVE_TYPE["U_TINY_INT"] = "meta::pure::precisePrimitives::UTinyInt";
PRECISE_PRIMITIVE_TYPE["SMALL_INT"] = "meta::pure::precisePrimitives::SmallInt";
PRECISE_PRIMITIVE_TYPE["U_SMALL_INT"] = "meta::pure::precisePrimitives::USmallInt";
PRECISE_PRIMITIVE_TYPE["U_INT"] = "meta::pure::precisePrimitives::UInt";
PRECISE_PRIMITIVE_TYPE["BIG_INT"] = "meta::pure::precisePrimitives::BigInt";
PRECISE_PRIMITIVE_TYPE["U_BIG_INT"] = "meta::pure::precisePrimitives::UBigInt";
PRECISE_PRIMITIVE_TYPE["FLOAT"] = "meta::pure::precisePrimitives::Float4";
PRECISE_PRIMITIVE_TYPE["DOUBLE"] = "meta::pure::precisePrimitives::Double";
PRECISE_PRIMITIVE_TYPE["DECIMAL"] = "meta::pure::precisePrimitives::Decimal";
PRECISE_PRIMITIVE_TYPE["STRICTDATE"] = "meta::pure::precisePrimitives::Date";
PRECISE_PRIMITIVE_TYPE["DATETIME"] = "meta::pure::precisePrimitives::Timestamp";
PRECISE_PRIMITIVE_TYPE["STRICTTIME"] = "meta::pure::precisePrimitives::Time";
})(PRECISE_PRIMITIVE_TYPE || (PRECISE_PRIMITIVE_TYPE = {}));
export var ATOMIC_TEST_TYPE;
(function (ATOMIC_TEST_TYPE) {
ATOMIC_TEST_TYPE["Service_Test"] = "serviceTest";
ATOMIC_TEST_TYPE["Mapping_Test"] = "mappingTest";
ATOMIC_TEST_TYPE["Function_Test"] = "functionTest";
})(ATOMIC_TEST_TYPE || (ATOMIC_TEST_TYPE = {}));
// NOTE: the list of auto-import are kept in `m3.pure` file in `finos/legend-pure`,
// this includes a more extensive list of packages which contain native functions, classes, etc.
// See https://github.com/finos/legend-pure/blob/master/legend-pure-core/legend-pure-m3-core/src/main/resources/platform/pure/grammar/m3.pure
export const AUTO_IMPORTS = [
// 'meta::pure::metamodel',
'meta::pure::metamodel::type',
// 'meta::pure::metamodel::type::generics',
// 'meta::pure::metamodel::relationship',
// 'meta::pure::metamodel::valuespecification',
// 'meta::pure::metamodel::multiplicity',
// 'meta::pure::metamodel::function',
// 'meta::pure::metamodel::function::property',
// 'meta::pure::metamodel::extension',
// 'meta::pure::metamodel::import',
'meta::pure::functions::date',
// 'meta::pure::functions::string',
// 'meta::pure::functions::collection',
// 'meta::pure::functions::meta',
// 'meta::pure::functions::constraints',
// 'meta::pure::functions::lang',
// 'meta::pure::functions::boolean',
// 'meta::pure::functions::tools',
// 'meta::pure::functions::io',
// 'meta::pure::functions::math',
// 'meta::pure::functions::asserts',
// 'meta::pure::functions::test',
// 'meta::pure::functions::multiplicity',
// 'meta::pure::router',
// 'meta::pure::service',
// 'meta::pure::tds',
// 'meta::pure::tools',
'meta::pure::profiles',
];
export var CORE_PURE_PATH;
(function (CORE_PURE_PATH) {
// type
CORE_PURE_PATH["ANY"] = "meta::pure::metamodel::type::Any";
CORE_PURE_PATH["NIL"] = "meta::pure::metamodel::type::Nil";
CORE_PURE_PATH["RELATION"] = "meta::pure::metamodel::relation::Relation";
// profile
CORE_PURE_PATH["PROFILE_DOC"] = "meta::pure::profiles::doc";
CORE_PURE_PATH["PROFILE_TEMPORAL"] = "meta::pure::profiles::temporal";
// classifier paths
CORE_PURE_PATH["PROFILE"] = "meta::pure::metamodel::extension::Profile";
CORE_PURE_PATH["ENUMERATION"] = "meta::pure::metamodel::type::Enumeration";
CORE_PURE_PATH["MEASURE"] = "meta::pure::metamodel::type::Measure";
CORE_PURE_PATH["CLASS"] = "meta::pure::metamodel::type::Class";
CORE_PURE_PATH["ASSOCIATION"] = "meta::pure::metamodel::relationship::Association";
CORE_PURE_PATH["FUNCTION"] = "meta::pure::metamodel::function::ConcreteFunctionDefinition";
CORE_PURE_PATH["FLAT_DATA"] = "meta::flatData::metamodel::FlatData";
CORE_PURE_PATH["DATABASE"] = "meta::relational::metamodel::Database";
CORE_PURE_PATH["MAPPING"] = "meta::pure::mapping::Mapping";
CORE_PURE_PATH["SERVICE"] = "meta::legend::service::metamodel::Service";
CORE_PURE_PATH["CONNECTION"] = "meta::pure::runtime::PackageableConnection";
CORE_PURE_PATH["RUNTIME"] = "meta::pure::runtime::PackageableRuntime";
CORE_PURE_PATH["EXECUTION_ENVIRONMENT"] = "meta::legend::service::metamodel::ExecutionEnvironmentInstance";
CORE_PURE_PATH["FILE_GENERATION"] = "meta::pure::generation::metamodel::GenerationConfiguration";
CORE_PURE_PATH["GENERATION_SPECIFICATION"] = "meta::pure::generation::metamodel::GenerationSpecification";
CORE_PURE_PATH["SECTION_INDEX"] = "meta::pure::metamodel::section::SectionIndex";
CORE_PURE_PATH["DATA_ELEMENT"] = "meta::pure::data::DataElement";
CORE_PURE_PATH["SNOWFLAKE_APP"] = "meta::external::function::activator::snowflakeApp::SnowflakeApp";
CORE_PURE_PATH["HOSTED_SERVICE"] = "meta::external::function::activator::hostedService::HostedService";
CORE_PURE_PATH["TABULAR_RESULT"] = "meta::pure::mapping::Result";
CORE_PURE_PATH["DATA_PRODUCT"] = "meta::external::catalog::dataProduct::specification::metamodel::DataProduct";
})(CORE_PURE_PATH || (CORE_PURE_PATH = {}));
export const PURE_DOC_TAG = 'doc';
export const PURE_DEPRECATED_STEREOTYPE = 'deprecated';
export var MILESTONING_STEREOTYPE;
(function (MILESTONING_STEREOTYPE) {
MILESTONING_STEREOTYPE["BUSINESS_TEMPORAL"] = "businesstemporal";
MILESTONING_STEREOTYPE["PROCESSING_TEMPORAL"] = "processingtemporal";
MILESTONING_STEREOTYPE["BITEMPORAL"] = "bitemporal";
})(MILESTONING_STEREOTYPE || (MILESTONING_STEREOTYPE = {}));
export var MILESTONING_VERSION_PROPERTY_SUFFIX;
(function (MILESTONING_VERSION_PROPERTY_SUFFIX) {
MILESTONING_VERSION_PROPERTY_SUFFIX["ALL_VERSIONS"] = "AllVersions";
MILESTONING_VERSION_PROPERTY_SUFFIX["ALL_VERSIONS_IN_RANGE"] = "AllVersionsInRange";
})(MILESTONING_VERSION_PROPERTY_SUFFIX || (MILESTONING_VERSION_PROPERTY_SUFFIX = {}));
export const MILESTONING_START_DATE_PARAMETER_NAME = 'startDate';
export const MILESTONING_END_DATE_PARAMETER_NAME = 'endDate';
export const PROCESSING_DATE_MILESTONING_PROPERTY_NAME = 'processingDate';
export const BUSINESS_DATE_MILESTONING_PROPERTY_NAME = 'businessDate';
export var PackageableElementPointerType;
(function (PackageableElementPointerType) {
PackageableElementPointerType["CLASS"] = "CLASS";
PackageableElementPointerType["STORE"] = "STORE";
PackageableElementPointerType["MAPPING"] = "MAPPING";
PackageableElementPointerType["RUNTIME"] = "RUNTIME";
PackageableElementPointerType["FUNCTION"] = "FUNCTION";
PackageableElementPointerType["FILE_GENERATION"] = "FILE_GENERATION";
PackageableElementPointerType["SERVICE"] = "SERVICE";
PackageableElementPointerType["DATA"] = "DATA";
PackageableElementPointerType["ENUMERATION"] = "ENUMERATION";
PackageableElementPointerType["ASSOCIATION"] = "ASSOCIATION";
PackageableElementPointerType["BINDING"] = "BINDING";
})(PackageableElementPointerType || (PackageableElementPointerType = {}));
export var SUPPORTED_FUNCTIONS;
(function (SUPPORTED_FUNCTIONS) {
SUPPORTED_FUNCTIONS["LET"] = "meta::pure::functions::lang::letFunction";
SUPPORTED_FUNCTIONS["NEW"] = "meta::pure::functions::meta::new";
// from
SUPPORTED_FUNCTIONS["FROM"] = "meta::pure::mapping::from";
})(SUPPORTED_FUNCTIONS || (SUPPORTED_FUNCTIONS = {}));
export const DATE_TIME_FORMAT_WITH_MILLISECONDS = "yyyy-MM-dd'T'HH:mm:ss.SSSxxxx";
export const DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssxxxx";
export const DATE_FORMAT = 'yyyy-MM-dd';
// Generation Const
export const DEFAULT_GENERATION_PACKAGE = 'generated';
// Query
export const QUERY_PROFILE_TAG_CLASS = 'class';
export const QUERY_PROFILE_PATH = 'meta::pure::profiles::query';
//# sourceMappingURL=MetaModelConst.js.map