Skip to content

Releases: ts-essentials/ts-essentials

v10.0.3

01 Nov 13:16
8fd5cdf
Compare
Choose a tag to compare

Patch Changes

  • cc7b838: ReadonlyKeys<Type> and WritableKeys<Type> now return only the readonly and writable keys, respectively,
    for arrays and tuples
  • d6867ea: Prettify<Type> returns the same type when the type parameter is a function
  • bc51ac5: OptionalKeys<Type> returns never for primitives and returns only optional indices for arrays and tuples
  • d0ad79f: Improve Paths performance by limiting the depth of paths to 7 (default)
  • 162fd9d: Add Paths<Type, { anyArrayIndexAccessor: '*' }>, a string literal representing a catch-all or "wildcard"
    when indexing on arrays.

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