Logo Xantham

TypeFacts Type

A `TypeResponse` plus the derived facts of the kinds the skeleton resolves: object members, call signatures, union membership. Everything else stays on the raw response.

Record fields

Record Field Description

AliasTypeArguments

Full Usage: AliasTypeArguments

Field type: int list

The arguments the type's *alias* was written with, by id (§4.9). On the declaration form of a generic alias these are its own parameters - `type Mapper = (t: T) => T` leaves the function type itself parameterless, so this is the only place `T` appears.

Field type: int list

BaseTypes

Full Usage: BaseTypes

Field type: int list

`extends` bases of an interface or class instance type, by id.

Field type: int list

CallSignatures

Full Usage: CallSignatures

Field type: ResolvedSignature list
Field type: ResolvedSignature list

Conditional

Full Usage: Conditional

Field type: ConditionalFacts option

`T extends U ? X : Y` (§4.11), where the type is one.

Field type: ConditionalFacts option

Constraint

Full Usage: Constraint

Field type: int option

A type parameter's `extends` bound, by id (§4.9). Only type parameters carry one.

Field type: int option

ConstructSignatures

Full Usage: ConstructSignatures

Field type: ResolvedSignature list
Field type: ResolvedSignature list

Default

Full Usage: Default

Field type: int option

A type parameter's default type argument, by id (§4.9).

Field type: int option

IndexInfos

Full Usage: IndexInfos

Field type: ResolvedIndex list

Index signatures (§4.10). Kept apart from `Members` because they are not properties: they have no name, and a type may carry one with no members at all.

Field type: ResolvedIndex list

IntersectionMembers

Full Usage: IntersectionMembers

Field type: int list

The constituents of an intersection, in the checker's order. Separate from `UnionMembers` because the two mean opposite things and the passes that read one must never see the other.

Field type: int list

Members

Full Usage: Members

Field type: ResolvedMember list
Field type: ResolvedMember list

Origin

Full Usage: Origin

Field type: PackageId

The group the type's own symbol is declared in (O7). Meaningful for object types; primitives and unions stay `Unclassified`, which dispositions as the entry group.

Field type: PackageId

Response

Full Usage: Response

Field type: TypeResponse
Field type: TypeResponse

SymbolName

Full Usage: SymbolName

Field type: string option

Name of the type's own symbol where it has one - what a `reference` emission templates with, and what a widening finding names.

Field type: string option

TupleElements

Full Usage: TupleElements

Field type: ElementFlags list

A tuple's per-element flags, in element order, copied off its *target* - the wire carries them there, not on the reference. The target itself is deliberately left out of the table: deriving it drags all of `Array.prototype` in again for every distinct tuple shape, and nothing but these flags is wanted from it.

Field type: ElementFlags list

TypeArguments

Full Usage: TypeArguments

Field type: int list

Type arguments of a generic reference, resolved for *every* group - an external `Array` carries entry-package types that must still be reached (O7 note).

Field type: int list

UnionMembers

Full Usage: UnionMembers

Field type: int list
Field type: int list

Type something to start searching.