梗概

  • 用一个init函数

实例

export class MdListConverter {
	protected constructor(public markdown: string, protected tree: Root) {
	}
	static async createConverter(markdown: string) {
		return new MdListConverter(...await this.initConverter(markdown))
	}
	static async initConverter(markdown: string) {
		return [markdown, await this.parseMd(markdown)] as const
	}
}
export class MdListConverterTest extends MdListConverter {
	protected constructor(markdown: string, tree: Root, public n: number) {
		super(markdown, tree)
	}
	static async createConverterTest(markdown: string, n: number) {
		return new MdListConverterTest(...await this.initConverterTest(markdown, n))
	}
	static async initConverterTest(markdown: string, n: number) {
		return [...await this.initConverter(markdown), n] as const
	}
}