Skip to content

Releases: ts-essentials/ts-essentials

v10.0.2

13 Aug 07:56
52e61f3
Compare
Choose a tag to compare

Patch Changes

  • 490712c: Deprecated DictionaryValues in favour of ValueOf
  • c311536: Added a support of interfaces for PathValue

v10.0.1

20 Jun 20:01
Compare
Choose a tag to compare

Patch Changes

  • 365612c: Use key remapping in PickKeys, OmitProperties and PickProperties that reduced the number of
    instantiations by ~20-40% on average
  • 39eb424: Remove XOR union element with all properties excluded from the intersection

v10.0.0

01 May 19:22
0ab051e
Compare
Choose a tag to compare

Major Changes

  • b127a8a: Use TypeScript@^4.2.0 because of excessively deep and possibly infinite type instantiation limitation for
    PathValue and Paths
  • 26be790: Fixed assignability of Mark* utility types which required removing support of TypeScript@<4.5
  • 9935d80: Added StrictDeepOmit and StrictDeepPick that support generic type and removed generic constraint on the
    second type parameter of DeepOmit and DeepPick

Minor Changes

  • 5b7650a: Add variadic XOR, up to 50 generic types
  • b127a8a: Implement Paths and PathValue to access object properties, array/tuple indices

Patch Changes

  • d2dbcf9: Added CONVENTIONS.md for reliable, consistent and predictable development
  • ed57101: Add support for types which explicitly extend Array inside types passed to DeepRequired.
  • 25f3f60: Add support of union types for arrays, tuples, objects and primitive in isExact

v9.4.2

06 Apr 18:45
8e625d9
Compare
Choose a tag to compare

Patch Changes

  • f88f757: Add TypeScript 5.3 and 5.4 support (fix a bug with WeakKey for WeakSet and WeakMap)

v9.4.1

05 Oct 21:31
852a08f
Compare
Choose a tag to compare

Patch Changes

  • bc3c474: Fix regression in TypeScript 5.1 with CamelCase

v9.4.0

27 Aug 20:22
e1cb90a
Compare
Choose a tag to compare

Minor Changes

  • ddb1bea: Make typescript optional as a peer dependency

v9.3.2

02 May 16:13
3f5d46a
Compare
Choose a tag to compare

Patch Changes

  • 8761667: DeepPartial, DeepRequired, DeepWritable and DeepReadonly can update structure of Error or interface
    which extends Error
  • afccd35: Fix handling of readonly arrays in isTuple, DeepNullable, DeepPartial, and DeepUndefinable

v9.3.1

01 Mar 22:10
3fd6262
Compare
Choose a tag to compare

Patch Changes

  • 0c215b9: Changed the Tuple's type implementation to only use a tuple type (instead of a union of a tuple type and an
    array type).
  • 544742e: Fix unique symbol __OPAQUE_TYPE__ in Opaque that cannot be used outside of ts-essentials
  • 4c45165: Improve the object constraint for NonEmptyObject<T> to not allow primitives
  • 66a6169: Improve the ValueOf utility type to cover the edge cases

v9.3.0

23 Aug 18:33
e0307a2
Compare
Choose a tag to compare

Minor Changes

  • a86c5b5: Add ReadonlyArrayOrSingle which is a counterpart to ArrayOrSingle with the array being readonly
  • 14cfa7c: Add utility function createFactoryWithConstraint

Patch Changes

  • c63e30e: Refactor Tail to use variadic tuple type
  • 8a28c53: Fix DeepReadonly for a union with an array of itself
  • 5989dda: Add union support to all Mark* methods: MarkRequired, MarkOptional, MarkReadonly and MarkWritable
  • 8abe8a6: Fix StrictExtract usage for TypeScript@^4.6.0

v9.2.0

06 Jul 13:21
36f78f6
Compare
Choose a tag to compare

Minor Changes

  • 5aa1f26: Add NonEmptyArray which ensures an array to have at least one item
  • fa03dda: Add StrictExclude, a stricter version of Exclude
  • 6b27ee4: Add MarkWritable which unsets readonly for specified keys
  • e76a08a: Add MarkReadonly which sets readonly for specific keys

Patch Changes

  • 13504d0: Fix DeepPartial for normal arrays