Emitter

Last updated 2 months ago

TypeScriptコンパイラには、2つのemitterが用意されています。

  • emitter.ts:これはあなたが最も興味を持っているEmitterです。これがそのTS->JavaScript Emitterです。

  • declarationEmitter.ts:これはTypeScriptソースファイル(.tsファイル)の宣言ファイル(.d.ts)を生成するために使用されるEmitterです。

このセクションではemitter.tsを見ていきます。

Programによる使用法

Programはemit関数を提供します。この関数は主にemitter.tsemitFiles関数にデリゲートします。コールスタックは次のとおりです:

Program.emit ->
`emitWorker` (local in program.ts createProgram) ->
`emitFiles` (function in emitter.ts)

emitWorkerがEmitterに(emitFilesへの引数を介して)提供するものの1つはEmitResolverです。EmitResolverはProgramのTypeCheckerによって提供され、基本的にcreateCheckerのローカル関数のサブセットです。