api
Version:
Magical SDK generation from an OpenAPI definition 🪄
28 lines (27 loc) • 936 B
TypeScript
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;
}