@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
20 lines (19 loc) • 683 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getUIDefinition = getUIDefinition;
function getUIDefinition(uischema, hierarchy, leaf) {
let definition = uischema;
const newHierarchy = !leaf ? [...hierarchy] : [...hierarchy, leaf];
//skip root element, its not used in the UIDefinition hierarchy
newHierarchy.splice(0, 1);
for (const entry of newHierarchy) {
if (entry.isArrayItem) {
definition = definition?.items ?? null;
}
else {
const key = entry.schemaKey || entry.key;
definition = definition?.children?.[key] ?? null;
}
}
return definition;
}