UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

39 lines (38 loc) 1.57 kB
import { SpruceSchemas } from '@sprucelabs/mercury-types'; import { Schema } from '@sprucelabs/schema'; import DependencyService from '../../../services/DependencyService'; import { GraphicsInterface } from '../../../types/cli.types'; import { FeatureActionResponse } from '../../features.types'; import SkillStore from '../../skill/stores/SkillStore'; import EventStore from '../stores/EventStore'; import EventWriter from '../writers/EventWriter'; export default class EventContractBuilder { private optionsSchema; private ui; private eventWriter; private cwd; private eventStore; private skillStore; private dependencyService; constructor(options: { optionsSchema: OptionsSchema; ui: GraphicsInterface; eventGenerator: EventWriter; cwd: string; eventStore: EventStore; skillStore: SkillStore; dependencyService: DependencyService; }); fetchAndWriteContracts(options: Options & { shouldOnlySyncRemoteEvents?: boolean; }): Promise<FeatureActionResponse>; private deleteOrphanedEventContracts; fetchContractsAndGenerateUniqueSchemas(existingSchemas: Schema[], shouldSyncOnlyCoreEvents: boolean, shouldOnlySyncRemoteEvents?: boolean): Promise<FeatureActionResponse & { schemas?: Schema[]; }>; private filterSchemasBasedOnCallbackPayload; private fetchAndBuildTemplateItems; } type OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptionsSchema; type Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptions; export {};