@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
28 lines • 1.21 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const schema_1 = require("@sprucelabs/schema");
const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
const SpruceError_1 = __importDefault(require("../../../errors/SpruceError"));
const ImportService_1 = __importDefault(require("../../../services/ImportService"));
class SchemaService extends ImportService_1.default {
async importSchema(file) {
const definitionProxy = await this.importDefault(file);
try {
(0, schema_1.validateSchema)(definitionProxy);
}
catch (err) {
throw new SpruceError_1.default({
code: 'SCHEMA_FAILED_TO_IMPORT',
file,
originalError: err,
friendlyMessage: 'The definition imported is not valid. Make sure it is "export default build[Schema|Error|Field]Definition"',
});
}
return (0, cloneDeep_1.default)(definitionProxy);
}
}
exports.default = SchemaService;
//# sourceMappingURL=SchemaService.js.map