Skip to content

Latest commit

 

History

History
208 lines (122 loc) · 8.75 KB

CHANGELOG.md

File metadata and controls

208 lines (122 loc) · 8.75 KB

Change Log

All notable changes to this project will be documented in this file.

[1.0.0] - 2020-07-04

Breaking Changes

  • toTypeString has been renamed to typeToString.
  • simpleTypeToString is no longer exported.
  • spread on SimpleTypeFunctionParameter has been renamed to rest.
  • hasRestElement on SimpleTypeTuple has been renamed to rest.
  • SimpleTypeKind and SimpleTypeModifierKind have been converted to string literal unions..
  • methods and properties on SimpleTypeClass have been renamed to members.
  • argTypes on SimpleTypeFunction and SimpleTypeMethod have been renamed to parameters.
  • CIRCULAR_REF SimpleType has been removed.
  • SimpleTypeFunctionArgument has been renamed to SimpleTypeFunctionParameter.

Bug Fixes

  • Added support for "Object", "Number", "Boolean", "BigInt", "String".
  • Improved type checking support for intersection types.
  • Fixed type checking of function type rest parameters.
  • optional is now added properly to class members.
  • Improved type checking of functions/methods.
  • Improved type checking of class/interface/object.
  • Type parameters now default to unknown instead of any.
  • Members with call signatures are now methods instead of functions.

Features

  • All SimpleType's are now lazy per default. Types will evaluate when interacting with the object. This behavior can be overwritten with {eager: true}.
  • Added helper functions to serialize and deserialize types making it possible to store types with circular references.
  • Added new SimpleTypeKind "NON_PRIMITIVE" representing the non-primitive type: object.
  • Added new SimpleTypeKidn "ES_SYMBOL" and "ES_SYMBOL_UNIQUE" representing the Symbol type.
  • Added support for type checking constructors and call signatures on object types.
  • Added validateType function that makes it possible easily make custom validator functions with SimpleType.
  • The results of converting Type to SimpleType are now always cached and used whenever calling toSimpleType. It's possible to supply this function with your own cache.
  • The results of checking type assignability are now always cached and used whenever calling isAssignableToType. It's possible to supply this function with your own cache.
  • Added serializeSimpleType and deserializeSimpleType functions.
  • All members of SimpleType are now readonly.
  • If two ts.Type values are given to isAssignableToType, the function will prioritize testing using isTypeAssignableTo on the type checker if it has been exposed.

Project

  • Updated all dependencies.
  • Cleaned up project structure.
  • Added script to quickly test and debug assignability (npm run playground).

[0.3.7] - 2019-11-08

Fixed

  • Fix breaking API changes in Typescript 3.7 (741c837e)
  • Relax check in extendTypeParameterMap (f5da8437)
  • Add 'void' to 'PRIMITIVE_TYPE_KINDS' because it represents 'undefined' (ad5c7bcf)

0.3.6 (2019-08-17)

Features

  • Make it possible to overwrite type checking logic by running user defined code when comparing types (5a5e376)

0.3.5 (2019-07-16)

Bug Fixes

  • Check in rollup.config.js. This fixes #6 (5fcb5cc)
  • Fix multiple failing assignability checks when comparing tuples, intersections, never and object types (b1b06c0)
  • Fix some failing tests when comparing recursive types and object assignability with zero properties in common (11ca879)
  • Fix tuple and intersection checking (95bdcdb)
  • Fix typo 'SimpleTyoeCircularRef'. This closes #7 (5b73bf1)

0.3.3 (2019-05-02)

0.3.2 (2019-04-26)

0.3.1 (2019-04-25)

Bug Fixes

  • Fix generic type recursion (e65b106)

Features

  • Add support for intersection types and never types (f7d531b)

0.3.0 (2019-04-23)

Features

  • Add support for intersection types and never types (f7d531b)
  • Add support for strict null checks (19fce94)

0.2.28 (2019-04-08)

Bug Fixes

  • ArrayLike and PromiseLike (6d51122)
  • Fix various function checks and add more function related test cases (cd8c1c5)

0.2.27 (2019-03-07)

Bug Fixes

  • Fix problem where isAssignableToSimpleTypeKind wouldn't match ANY (7edd4b3)

0.2.26 (2019-03-07)

Features

  • isAssignableToSimpleTypeKind now treats kind OBJECT without members as kind ANY (b75ff9a)

0.2.25 (2019-02-25)

0.2.24 (2019-02-25)

Bug Fixes

  • Allow assigning anything but 'null' and 'undefined' to the type '{}' (5f0b097)

0.2.23 (2019-02-15)

Bug Fixes

  • Issue where isAssignableToSimpleTypeKind would fail with type 'ANY' (38d7743)

0.2.22 (2019-02-15)

0.2.21 (2019-02-15)

Features

  • Add function that can return the string representation of either a native typescript type or a simple type (2019248)

0.2.20 (2019-02-12)

Bug Fixes

  • Fix problem where recursive types created from the cache would crash the type checking (b62167a)

0.2.19 (2019-02-11)

Features

  • Add 'Date' type for performance gains. (a8c74de)

0.2.18 (2019-02-10)

Features

  • Add ALIAS, GENERIC and PROMISE types. Refactor and improve type checking logic especially for very complex types. (e1e636c)

0.2.17 (2019-01-15)

Bug Fixes

  • Fix function that checks if input to functions is node or type (3eafb07)

0.2.16 (2019-01-10)

Features

  • Add support for circular referenced types (90ba8f5)

0.2.15 (2019-01-10)

Features

  • Add support for circular referenced types (90ba8f5)