Microsoft/TypeScript

API: incorrect declarations in types.ts

Aperta

#24.706 aperta il 5 giu 2018

 (5 commenti) (12 reazioni) (0 assegnatari)TypeScript (13.395 fork)batch import
Breaking ChangeHelp WantedInfrastructure

Metriche repository

Star
 (108.860 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

The --strictNullChecks PR changed some declarations in types.ts to avoid frequent assertions in the compiler's code. Unfortunately these changes make it really unsafe for API users because they no longer contain the actually nullable types: https://github.com/Microsoft/TypeScript/pull/22088#discussion_r184149465 https://github.com/Microsoft/TypeScript/pull/22088#discussion_r184155027

  • ts.Node#parent is no longer optional (which is definitely wrong for SourceFile)
  • ts.Symbol#declarations and ts.Symbol.valueDeclaration are no longer optional, but can still be undefined
  • ts.Type#symbol is no longer optional, but I guess this comment is still up to date: // Symbol associated with type (if any)

These changes should either be reverted or replaced in the published declaration files. /cc @andy-ms @weswigham

Guida contributor