@lcap/asl
Version:
NetEase Application Specific Language
64 lines • 2.69 kB
JavaScript
;
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