Definition supplied to createTypeSpecLibrary and typically exported as $lib.
| Type Parameter | Default type |
|---|
T extends object | - |
E extends Record<string, any> | Record<string, never> |
State extends string | never |
| Property | Modifier | Type | Description |
|---|
alias? | readonly | string | Optional short alias for this library used in diagnostic and linter rule codes. When provided, diagnostic/linter codes can be referenced as ${alias}/${code} in addition to the full ${name}/${code} form (e.g. tcgc/no-foo). Overrides the automatically scope-stripped short name. |
capabilities? | readonly | TypeSpecLibraryCapabilities | Optional registration of capabilities the library/emitter provides |
diagnostics | readonly | DiagnosticMap<T> | Map of potential diagnostics that can be emitted in this library where the key is the diagnostic code. |
emitter? | readonly | object | Emitter configuration if library is an emitter. Its optional options JSON Schema validates custom configuration before the emitter runs; omit it when no schema is supplied. |
emitter.options? | public | JSONSchemaType<E> | - |
name | readonly | string | Library name. MUST match package.json name. |
requireImports? | readonly | readonly string[] | List of other library that should be imported when this is used as an emitter. Compiler will emit an error if the libraries are not explicitly imported. |
state? | readonly | Record<State, StateDef> | Named state definitions used to create the corresponding symbols in the library’s stateKeys map. |