UNPKG

@lcap/asl

Version:

NetEase Application Specific Language

64 lines 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isBasicType = exports.findDataTypeDescription = exports.updateGenericTypeList = exports.properties2PropertyList = exports.updateDataTypeList = exports.dataTypesMap = exports.dataTypeList = void 0; const basicTypes_1 = require("./basicTypes"); const systemTypes_1 = require("./systemTypes"); const genericTypes_1 = require("./genericTypes"); const lodash_1 = require("lodash"); exports.dataTypeList = [ { title: '基础类型', children: basicTypes_1.basicTypeList }, { title: '自定义类型', children: [] }, { title: '平台类型', children: systemTypes_1.systemTypeList }, ]; exports.dataTypesMap = { ...basicTypes_1.basicTypeMap, ...systemTypes_1.systemTypeMap, }; function updateDataTypeList() { exports.dataTypeList[1].children = Object.keys(exports.dataTypesMap) .filter((key) => !key.includes('#/basicTypes') && !key.includes('#/systemTypes') && !key.includes('#/genericTypes')) .map((key) => { const dataType = exports.dataTypesMap[key]; return { kind: dataType.level, text: dataType.name, value: key }; }); } exports.updateDataTypeList = updateDataTypeList; function properties2PropertyList(definition) { if (!definition) return definition; definition = lodash_1.cloneDeep(definition); if (definition.properties) { const propertyList = definition.propertyList = []; Object.values(definition.properties).forEach((item) => { propertyList.push(properties2PropertyList(item)); }); } if (definition.items) { definition.items = properties2PropertyList(definition.items); } return definition; } exports.properties2PropertyList = properties2PropertyList; async function updateGenericTypeList() { const datatypes = await genericTypes_1.getGenericList(); exports.dataTypeList[2].children = datatypes.genericTypeList.concat(exports.dataTypeList[2].children); Object.assign(exports.dataTypesMap, datatypes.genericTypemap); } exports.updateGenericTypeList = updateGenericTypeList; function findDataTypeDescription(schema) { let i = 0; while (i < exports.dataTypeList.length) { const dlist = exports.dataTypeList[i]; const finded = dlist.children.find((type) => type.value === schema.typeKey); if (finded) { return finded; } i++; } } exports.findDataTypeDescription = findDataTypeDescription; function isBasicType(schema) { return !!exports.dataTypeList[0].children.find((type) => type.value === schema.typeKey); } exports.isBasicType = isBasicType; //# sourceMappingURL=dataTypes.js.map