@fabrix/spool-repl
Version:
Spool - REPL for Fabrix
81 lines (80 loc) • 2.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const lodash_1 = require("lodash");
exports.TreeBuilder = {
getSpoolTree(spools) {
return {
label: 'Spools',
nodes: Object.keys(lodash_1.omit(spools, 'inspect'))
};
},
getApiTree(api) {
return {
label: 'API',
nodes: [
exports.TreeBuilder.getControllerTree(api.controllers),
exports.TreeBuilder.getServiceTree(api.services),
{ label: 'Models', nodes: Object.keys(lodash_1.omit(api.models, 'inspect')) },
{ label: 'Policies', nodes: Object.keys(lodash_1.omit(api.policies, 'inspect')) }
]
};
},
getModelTree(models) {
return {
label: 'Models',
nodes: lodash_1.omit(models, 'inspect').map((model, modelName) => {
return {
label: modelName,
nodes: Object.keys(model.attributes)
};
})
};
},
getResolverTree(resolvers) {
return {
label: 'Resolvers',
nodes: lodash_1.omit(resolvers, 'inspect').map((resolver, resolverName) => {
return {
label: resolverName,
nodes: Object.keys(resolver.attributes)
};
})
};
},
getPoliciesTree(policies) {
return Object.keys(lodash_1.omit(policies, 'inspect'));
},
getControllerTree(controllers) {
return {
label: 'Controllers',
nodes: lodash_1.omit(controllers, 'inspect').map((controller, controllerName) => {
return {
label: controllerName,
nodes: lodash_1.functions(controller)
};
})
};
},
getServiceTree(services) {
return {
label: 'Services',
nodes: lodash_1.omit(services, 'inspect').map((service, serviceName) => {
return {
label: serviceName,
nodes: lodash_1.functions(service)
};
})
};
},
getOtherTree(others, name = 'Unknown') {
return {
label: name,
nodes: lodash_1.omit(others, 'inspect').map((other, otherName) => {
return {
label: otherName,
nodes: lodash_1.functions(other)
};
})
};
}
};