UNPKG

@odata2ts/odata2ts

Version:

Flexible generator to produce various TypeScript artefacts (from simple model interfaces to complete odata clients) from OData metadata files

50 lines (49 loc) 1.31 kB
import { ManipulationSettings } from "ts-morph"; import { FileFormatter } from "./FileFormatter.js"; /** * Abstract formatter. * * @export * @abstract * @class Formatter */ export declare abstract class BaseFormatter implements FileFormatter { /** * Path of the output file. * * @protected * @type {string} * @memberof Formatter */ protected output: string; /** * Initialized ts-morph manipulation settings for project creation. * * @protected * @type {Partial<ManipulationSettings>} * @memberof Formatter */ protected settings: Partial<ManipulationSettings>; /** * Default constructor * @param {string} output Path of the output file * @memberof Formatter */ constructor(output: string); /** * Initializes the formatter. * * @abstract * @returns {Promise<BaseFormatter>} Initialized formatter * @memberof Formatter */ abstract init(): Promise<BaseFormatter>; /** * Returns initialized ts-morph manipuation settings. * * @returns {Promise<Partial<ManipulationSettings>>} ts-morph manipulation settings * @memberof Formatter */ getSettings(): Partial<ManipulationSettings>; abstract format(source: string): Promise<string>; }