UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

41 lines (40 loc) 1.79 kB
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 {};