@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
35 lines • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const globby_1 = __importDefault(require("@sprucelabs/globby"));
const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
const schemaGeneratorUtil = {
async filterSchemaFilesBySchemaIds(lookupDir, schemas) {
const matches = await (0, globby_1.default)(path_1.default.join(lookupDir, '/**/*.schema.[t|j]s'));
const filtered = matches.filter((match) => {
let found = false;
for (const schema of schemas) {
const { id, namespace, version } = schema;
let regexString = `${path_1.default.sep}${id}.schema.[t|j]s`;
if (version) {
regexString = path_1.default.sep + version + regexString;
}
if (namespace) {
regexString = spruce_skill_utils_1.namesUtil.toCamel(namespace) + regexString;
}
const idx = match.search(new RegExp(regexString));
if (idx > -1) {
found = true;
break;
}
}
return !found;
});
return filtered;
},
};
exports.default = schemaGeneratorUtil;
//# sourceMappingURL=schemaGenerator.utility.js.map