Skip to content

Releases: dipscope/TypeManager.TS

v4.0.2

22 May 14:55
Compare
Choose a tag to compare

Changed

  • Used symbol instead of string based key to store type metadata.
  • Avoid complete reset of custom data by providing null as argument.

v4.0.1

22 May 14:55
Compare
Choose a tag to compare

Changed

  • Custom data options are now behave like built in configure options.
  • Path reference handler is now using path traversal instead of direct evaluation for resolving references.

v4.0.0

22 May 14:54
Compare
Choose a tag to compare

Added

  • Polymorphic types support.
  • Enums support.
  • Accessors support.
  • Multiple runtime configurations support.

Changed

  • Newly introduced TypeFn is now used instead of TypeCtor in configure methods due to adding polymorphic types support.
  • Static methods of TypeManager now return static instance to enable method chaining.

Migrating from previous version

  • Replace TypeCtor with TypeFn if you are using declarative configuration.

v3.0.0

22 May 14:54
Compare
Choose a tag to compare

Added

  • Generics support.
  • Circular object reference support.
  • Short property declaration syntax.
  • Naming convention support.
  • Module separation.
  • New set of serializers.

Changed

  • Core types, interfaces and classes moved to a core module to keep main namespace clean.
  • All decorators are now available from the main namespace.

Fixed

  • Invalid implicit conversion of boolean serializer.
  • Properties were not assigned during deserialization if they already have initialized value.

Removed

  • Multiple decorator and related options as they are no longer required.

Migrating from previous version

  • Replace all core type and interface imports from @dipscope/type-manager to @dipscope/type-manager/core.
  • Replace all helper decorator imports from @dipscope/type-manager/helpers to @dipscope/type-manager.
  • Change all places where Property decorator is used to declare an array of types to a proper generic variant.
  • If you are using TypeSerializer, TypeFactory, TypeInjector helper decorators or interfaces then rename them to Serializer, Factory, Injector accordingly.
  • If you are using typeAlias or typeResolver property options replace them to typeArgument.

v2.0.4

22 May 14:53
Compare
Choose a tag to compare

Changed

  • Improved type serializer context to avoid instance of call in serializers.

v2.0.3

22 May 14:53
Compare
Choose a tag to compare

Fixed

  • Broken helpers module.

v2.0.2

22 May 14:52
Compare
Choose a tag to compare

Fixed

  • Broken module resolvers.

v2.0.1

22 May 14:52
Compare
Choose a tag to compare

Fixed

  • Broken imports from newly introduced namespaces.

v2.0.0

22 May 14:51
Compare
Choose a tag to compare

Added

  • Dependency injection support.
  • Immutable types support.
  • Type hint support.
  • Custom data support.

Changed

  • Type serializer now an inteface.
  • Some helper decorators renamed to match option names.
  • Helper decorators moved to their own namespace.

Migrating from previous version

  • Replace extension with implementation for custom type serializers.
  • If your custom serializers uses implicit conversion make it part of the serialize and deserialize methods. You can check if it should be used based on newly introduced serializer context.
  • If you are using Serializer helper decorator then rename it to TypeSerializer.
  • For all helper decorators change imports to @dipscope/type-manager/helpers. Now they are located in their own namespace.

v1.3.0

22 May 14:51
Compare
Choose a tag to compare

Added

  • Type manager methods to configure each option individually.

Fixed

  • Type options were not applied after changes at runtime.