@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
39 lines (38 loc) • 1.57 kB
TypeScript
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 {};