@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
175 lines • 6.79 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.globalContract = void 0;
const mercury_event_emitter_1 = require("@sprucelabs/mercury-event-emitter");
const mercury_types_1 = require("@sprucelabs/mercury-types");
const schema_1 = require("@sprucelabs/schema");
const actionResponse_schema_1 = __importDefault(require("./.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema"));
const watcherDidDetectChangesEmitPayload_schema_1 = __importDefault(require("./.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema"));
exports.globalContract = (0, mercury_types_1.buildEventContract)({
eventSignatures: {
'watcher.did-detect-change': {
emitPayloadSchema: watcherDidDetectChangesEmitPayload_schema_1.default,
},
'schema.did-fetch-schemas': {
emitPayloadSchema: (0, schema_1.buildSchema)({
id: 'didFetchSchemasEmitPayload',
fields: {
schemas: {
type: 'raw',
isArray: true,
options: {
valueType: 'Schema',
},
},
},
}),
responsePayloadSchema: (0, schema_1.buildSchema)({
id: 'didFetchSchemasResponsePayload',
fields: {
schemas: {
type: 'raw',
isArray: true,
options: {
valueType: 'Schema',
},
},
},
}),
},
'skill.register-dashboard-widgets': {},
'test.register-abstract-test-classes': {
responsePayloadSchema: (0, schema_1.buildSchema)({
id: 'registerAbstractTestClassResponsePayload',
fields: {
abstractClasses: {
type: 'schema',
isRequired: true,
isArray: true,
options: {
schema: (0, schema_1.buildSchema)({
id: 'abstractClassRegistration',
fields: {
name: {
type: 'text',
isRequired: true,
},
label: {
type: 'text',
isRequired: true,
},
import: {
type: 'text',
isRequired: true,
},
featureCode: {
type: 'text',
},
},
}),
},
},
},
}),
},
'feature.will-execute': {
emitPayloadSchema: (0, schema_1.buildSchema)({
id: 'willExecuteEmitPayload',
importsWhenLocal: [
'import { FeatureActionResponse } from #spruce/../features/features/features.types',
],
fields: {
featureCode: {
type: 'text',
isRequired: true,
},
actionCode: {
type: 'text',
isRequired: true,
},
options: {
type: 'raw',
options: {
valueType: 'Record<string, any>',
},
},
},
}),
responsePayloadSchema: actionResponse_schema_1.default,
},
'feature.did-execute': {
emitPayloadSchema: (0, schema_1.buildSchema)({
id: 'didExecuteEmitPayload',
importsWhenLocal: [
'import { FeatureActionResponse } from #spruce/../features/features/features.types',
],
fields: {
featureCode: {
type: 'text',
isRequired: true,
},
actionCode: {
type: 'text',
isRequired: true,
},
results: {
type: 'raw',
isRequired: true,
options: {
valueType: 'FeatureActionResponse',
},
},
options: {
type: 'raw',
options: {
valueType: 'Record<string, any>',
},
},
},
}),
responsePayloadSchema: (0, schema_1.buildSchema)({
id: 'didExecuteResponsePayload',
fields: {
...actionResponse_schema_1.default.fields,
},
}),
},
'test.reporter-did-boot': {
emitPayloadSchema: (0, schema_1.buildSchema)({
id: 'testReporterDidBootEmitPayload',
fields: {
reporter: {
type: 'raw',
isRequired: true,
options: {
valueType: 'TestAction',
},
},
},
}),
},
'skill.will-write-directory-template': {
responsePayloadSchema: (0, schema_1.buildSchema)({
id: 'wilLWriteDirectoryTemplateResponsePayload',
fields: {
filesToSkip: {
type: 'text',
isArray: true,
},
},
}),
},
},
});
class CliGlobalEmitter extends mercury_event_emitter_1.AbstractEventEmitter {
static Emitter() {
return new CliGlobalEmitter(exports.globalContract, {
shouldEmitSequentally: true,
});
}
}
exports.default = CliGlobalEmitter;
//# sourceMappingURL=GlobalEmitter.js.map