UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

30 lines (28 loc) 1.2 kB
const require_contract = require('../contract.cjs'); const require_contract_meta = require('../contract.meta.cjs'); //#region src/cli/catalog.ts function splitCamelCase(value) { return value.replace(/([a-z0-9])([A-Z])/g, "$1 $2").split(/\s+/).map((part) => part.trim()).filter(Boolean).map((part) => part.toLowerCase()); } const commandCatalog = Object.entries(require_contract.bosContract).map(([key, procedure]) => { const meta = require_contract_meta.cliCommandMeta[key] ?? { summary: splitCamelCase(String(key)).join(" ") }; return { key, commandPath: meta.commandPath ?? splitCamelCase(String(key)), summary: meta.summary, meta, procedure }; }); function findCommandDescriptor(args) { const sorted = [...commandCatalog].sort((a, b) => b.commandPath.length - a.commandPath.length); for (const descriptor of sorted) if (args.slice(0, descriptor.commandPath.length).map((part) => part.toLowerCase()).join(" ") === descriptor.commandPath.join(" ")) return { descriptor, consumed: descriptor.commandPath.length }; return null; } //#endregion exports.commandCatalog = commandCatalog; exports.findCommandDescriptor = findCommandDescriptor; //# sourceMappingURL=catalog.cjs.map