@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
41 lines (40 loc) • 1.79 kB
TypeScript
import { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema';
import { SchemaBuilderTemplateItem, ValueTypes } from '@sprucelabs/spruce-templates';
import AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter';
export default class SchemaWriter extends AbstractWriter {
private readonly fieldTemplates;
writeBuilder(destinationDir: string, options: SchemaBuilderTemplateItem & {
shouldEnableVersioning?: boolean;
version?: string;
}): Promise<WriteResults>;
writeFieldTypes(destinationDir: string, options: WriteFieldTypesOptions): Promise<WriteResults>;
writeSchemasAndTypes(destinationDirOrFilename: string, options: GenerateSchemaTypesOptions): Promise<WriteResults>;
private writeAllSchemas;
writeSchema(destinationDir: string, options: {
schemaTemplateItems: SchemaTemplateItem[];
fieldTemplateItems: FieldTemplateItem[];
valueTypes: ValueTypes;
typesFile?: string;
registerBuiltSchemas?: boolean;
shouldImportCoreSchemas: boolean;
} & SchemaTemplateItem): Promise<WriteResults>;
writeValueTypes(destinationDir: string, options: {
schemaTemplateItems: SchemaTemplateItem[];
fieldTemplateItems: FieldTemplateItem[];
globalSchemaNamespace?: string;
}): Promise<WriteResults>;
writePlugin(cwd: string): Promise<WriteResults>;
}
interface WriteFieldTypesOptions {
fieldTemplateItems: FieldTemplateItem[];
}
export interface GenerateSchemaTypesOptions {
fieldTemplateItems: FieldTemplateItem[];
schemaTemplateItems: SchemaTemplateItem[];
valueTypes: ValueTypes;
globalSchemaNamespace?: string;
typesTemplate?: string;
registerBuiltSchemas?: boolean;
shouldImportCoreSchemas: boolean;
}
export {};