Skip to content

Releases: ts-essentials/ts-essentials

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

v9.1.2

30 Dec 11:17
61f13d1
Compare
Choose a tag to compare

Patch Changes

  • 08adddd: Remove postinstall script

v9.1.1

29 Dec 15:08
9a20a63
Compare
Choose a tag to compare

Patch Changes

  • bf05a7e: Fix DeepPick and DeepOmit for project with TypeScript 4.5 or newer
  • c338a99: Fix DeepOmit and DeepPick for WeakMap in TypeScript 4.1 and 4.2