Alexey Berezin
Alexey Berezin
## What When we have an object (e.g. `{ a: string; b: number }`), it's impossible to get tuple with keys, values or entries ## Why Short example to reproduce...
## What Add `Filter` to `DeepRequired` ## Why To be able to mark readonly fields in deep structures Related – #315
### What I propose type `UnionKeys`: - to infer all keys of `UnionType` - to support unions ### Examples A type-safe setting value when union is used: ```ts type LogOptions...
## PR Checklist - [x] Addresses an existing open issue: related to #349 - [ ] Steps in [Contributing](https://github.com/ts-essentials/ts-essentials/blob/master/CONTRIBUTING.md) were taken ## Overview Assignability of Mark* utility types, e.g. `MarkRequired`...
**Summary** - Added `Fn` and `Call` (based on hotscript) - Added **Extractors** based on the conditional types we have (11 + else-branch = 12 in total) - Added **Resolvers** to...
## Summary `IsTuple` returns `Type | never` instead of `true | false` but should another way round ## Why All type checkers (`IsAny`, `IsNever`, `IsUnknown` and `IsTuple`) expect to return...
## What - Added support for object union types in `isExact` - Added support for primitive union types in `isExact` - Added support for array/tuple types in `isExact` ## Why...
Link to cities: https://maps.vlasenko.net/list/russia/
## Summary - Added `ts-essentials@10` as dev dependency - Replaced 4 type utilities: `ValueOf`, `Merge`, `MarkOptional` and `MarkRequired` - Removed `NonOptional` as it's not used - Simplified `ForwardRef` (which helped...
### What The definition of the problem - https://github.com/type-challenges/type-challenges/tree/main/questions/00697-extreme-tag It's split into sub-problems: - Write a function `Tag` that takes a type `B` other than null and undefined and returns...