createScope | readonly | (overrides) => Scope | Derive a scope from this emitter’s scope, overriding the given dimensions. Use this when a single emitter produces output for more than one scope — for example a client emitter that targets several languages, or one that emits both client and server artifacts from the same program. Example const csharp = context.createScope({ language: "csharp", target: "client" }); const name = getAutoDecoratorValue(program, "MyLib.clientName", model, csharp); |
emitterOutputDir | public | string | Configured output dir for the emitter. Emitter should emit all output under that directory. |
options | public | TOptions | Emitter custom options defined in createTypeSpecLibrary |
perf | readonly | PerfReporter | Performance measurement utilities. Use this to report performance of areas of your emitter. The information will be displayed when the compiler is run with --stats flag. |
program | public | Program | TypeSpec Program. |
scope | readonly | Scope | The scope this emitter is running under, used to resolve when-conditioned metadata. The emitter dimension is populated automatically from the emitter’s package name. Emitters that serve a specific language or artifact kind should narrow it further with EmitContext.createScope. |