UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

28 lines 1.21 kB
"use strict"; 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