UNPKG

@fabrix/spool-repl

Version:
127 lines (125 loc) 4.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const createConsoleTree = require("big-tree-cli"); const _1 = require("./"); exports.Inspect = { configureSpools(spools = {}) { Object.defineProperty(spools, 'inspect', { enumerable: false, configurable: true, value() { return createConsoleTree(_1.TreeBuilder.getSpoolTree(spools)); } }); Object.entries(spools).forEach(([spoolName, spool]) => { Object.defineProperty(spool, 'inspect', { enumerable: false, configurable: true, value() { return ` --------------------------------------------------------------- Spool: Name : ${spool.name} Version : ${spool.pkg.version} Description : ${spool.pkg.description} ---------------------------------------------------------------`; } }); }); }, unconfigureSpools(spools = {}) { delete spools.inspect; Object.entries(spools).forEach(([spoolName, spool]) => delete spool.inspect); }, configureApi(api) { if (api.hasOwnProperty('controllers')) { Object.defineProperty(api.controllers, 'inspect', { enumerable: false, configurable: true, value() { return createConsoleTree(_1.TreeBuilder.getControllerTree(api.controllers)); } }); } if (api.hasOwnProperty('services')) { Object.defineProperty(api.services, 'inspect', { enumerable: false, configurable: true, value() { return createConsoleTree(_1.TreeBuilder.getServiceTree(api.services)); } }); } if (api.hasOwnProperty('models')) { Object.defineProperty(api.models, 'inspect', { enumerable: false, configurable: true, value() { return createConsoleTree(_1.TreeBuilder.getModelTree(api.models)); } }); } if (api.hasOwnProperty('resolvers')) { Object.defineProperty(api.resolvers, 'inspect', { enumerable: false, configurable: true, value() { return createConsoleTree(_1.TreeBuilder.getResolverTree(api.resolvers)); } }); } if (api.hasOwnProperty('policies')) { Object.defineProperty(api.policies, 'inspect', { enumerable: false, configurable: true, value() { return createConsoleTree(_1.TreeBuilder.getPoliciesTree(api.policies)); } }); } Object.defineProperty(api, 'inspect', { enumerable: false, configurable: true, value() { return createConsoleTree(_1.TreeBuilder.getApiTree(api)); } }); }, unconfigureApi(api) { Object.keys(api).forEach(resource => { if (api[resource].hasOwnProperty('inspect')) { delete api[resource].inspect; } }); delete api.inspect; }, configureApp(app) { const resources = (app.resources || []).map(resource => { let prefix = resource.charAt(0).toUpperCase() + resource.slice(1); while (prefix.length < 17) { prefix = prefix + ' '; } return `${prefix} : ${Object.keys(app.api[resource] || {})}`; }).join('\n '); Object.defineProperty(app, 'inspect', { enumerable: false, configurable: true, value() { return ` --------------------------------------------------------------- Basic Info Name : ${app.pkg.name} Version : ${app.pkg.version} Environment : ${process.env.NODE_ENV} API Info Resources : ${app.resources || []} ${resources} --------------------------------------------------------------- `; } }); }, unconfigureApp(app) { delete app.inspect; } };