UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

59 lines 2.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ConversationStore_1 = __importDefault(require("../features/conversation/stores/ConversationStore")); const EventStore_1 = __importDefault(require("../features/event/stores/EventStore")); const ListenerStore_1 = __importDefault(require("../features/event/stores/ListenerStore")); const OnboardingStore_1 = __importDefault(require("../features/onboard/stores/OnboardingStore")); const OrganizationStore_1 = __importDefault(require("../features/organization/stores/OrganizationStore")); const PermissionStore_1 = __importDefault(require("../features/permission/stores/PermissionStore")); const SchemaStore_1 = __importDefault(require("../features/schema/stores/SchemaStore")); const SkillStore_1 = __importDefault(require("../features/skill/stores/SkillStore")); const StoreStore_1 = __importDefault(require("../features/store/stores/StoreStore")); const ViewStore_1 = __importDefault(require("../features/view/stores/ViewStore")); class StoreFactory { serviceFactory; cwd; homeDir; apiClientFactory; emitter; constructor(options) { const { cwd, serviceFactory, homeDir, apiClientFactory, emitter } = options; this.cwd = cwd; this.serviceFactory = serviceFactory; this.homeDir = homeDir; this.apiClientFactory = apiClientFactory; this.emitter = emitter; } Store(code, options) { const storeOptions = { cwd: options?.cwd ?? this.cwd, serviceFactory: this.serviceFactory, homeDir: this.homeDir, apiClientFactory: options?.apiClientFactory ?? this.apiClientFactory, emitter: this.emitter, ...options, }; if (!storeMap[code]) { throw new Error(`Could not find store with code '${code}'.`); } const store = new storeMap[code](storeOptions); return store; } } exports.default = StoreFactory; const storeMap = { onboarding: OnboardingStore_1.default, schema: SchemaStore_1.default, event: EventStore_1.default, skill: SkillStore_1.default, organization: OrganizationStore_1.default, conversation: ConversationStore_1.default, store: StoreStore_1.default, view: ViewStore_1.default, listener: ListenerStore_1.default, permission: PermissionStore_1.default, }; //# sourceMappingURL=StoreFactory.js.map