UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

36 lines 1.23 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const SpruceError_1 = __importDefault(require("../errors/SpruceError")); class DependencyService { settings; constructor(settings) { this.settings = settings; } set(dependencies) { this.settings.set('dependencies', dependencies); } add(dependency) { this.assertDependencyDoesNotExist(dependency.namespace); const dependencies = this.settings.get('dependencies') ?? []; dependencies.push(dependency); this.settings.set('dependencies', dependencies); } assertDependencyDoesNotExist(namespace) { const dependencies = this.get(); const match = dependencies.find((d) => d.namespace === namespace); if (match) { throw new SpruceError_1.default({ code: 'DEPENDENCY_EXISTS', namespace, }); } } get() { return this.settings.get('dependencies') ?? []; } } exports.default = DependencyService; //# sourceMappingURL=DependencyService.js.map