UNPKG

api

Version:

Magical SDK generation from an OpenAPI definition 🪄

28 lines (27 loc) • 936 B
import type Storage from '../storage'; import type Oas from 'oas'; export interface InstallerOptions { /** * Will initiate a dry run install process. Used for simulating installations within a unit test. */ dryRun?: boolean; /** * Used for stubbing out the logger that we use within the installation process so it can be * easily introspected without having to mock out `console.*`. */ logger?: (msg: string) => void; } export default abstract class CodeGeneratorLanguage { spec: Oas; specPath: string; identifier: string; userAgent: string; requiredPackages: Record<string, { reason: string; url: string; }>; constructor(spec: Oas, specPath: string, identifier: string); abstract generator(): Promise<Record<string, string>>; abstract installer(storage: Storage, opts?: InstallerOptions): Promise<void>; hasRequiredPackages(): boolean; }