sindresorhus/
A collection of essential TypeScript types
USD raised
Recent activities
Add examples for the built-in types mentioned in the readme
Proposal: DeepPartial
Add `Mutable` type
Proposal: SubType
Proposal: AsyncReturnType
Proposal: Opaque
Proposal: Constructor
`RequireOnlyOne` type
Proposal: ValueOf
`RequireAtLeaseOne` issues
Proposal: Dictionary
Docs: Partial Example Error from v3.5.1
JsonObject doesn't allow optionals
Opaque types are interchangeable
Comparison to `ts-essentials`
`PackageJson` is not a valid `JsonObject`
Proposal: ThenArg
Add `Stringified` type
Add `WithReturnType` type?
Upgrade the `tsd` dependency
AsyncReturnType doesn't work
`AsyncReturnType` doesn't work with arguments
Proposal: FixedLengthArray
Proposal: DeepRecord
`Opaque` forces lookup to `any` type because it cannot be used to index `Record` type
Except not removing keys as Omit does
Entry/Entries
Separate the standard PackageJson types into it's own type
A range of numbers
Can't resolve type-fest
Proposal: `ReplaceReturnType`
Proposal: `Asyncify`
Proposal: `IfAny`, `IsAny`, `IsUnknown`, etc
Simplify `PromiseValue` type when TS 4.1 can be targeted
Proposal: A version of Pick that distributes over union types
Proposal: `ArrayTail`
Can I just install with devDependencies instead of dependencies?
xo currently fails when installed with yarn 1.x
[Proposal] SetNonNullable
[Proposal] Writable and SetWritable
Proposal: Key path type
Proposal: Enhanced `document.querySelector` type
Proposal: `CamelCasedProperties` type
Proposal: `MergeDeep` type
Bug: 0.20.0 fails to compile under yarn2 pnp
Proposal: `PartialMutable` type
Document new built-in TS types
Is the `Class` type misnamed?
type-fest@0.20.1 typescript@4.1.2 SnakeCase has bug
Add Transparent to reverse Opaque
Fix Union type with DeepMap?
Add IsUnion<T>
Asyncify lost the general return type
argument dynamically optional
Need some help to understand `string extends S`
Can't install `type-fest`
Typo in `Entries` example
Use semver versioning
Proposal: `ScreamingSnakeCase` type
[snowpack] Unable to find any entrypoint for "type-fest". It could be a typo, or this package might not have a main entrypoint.
Question: Is it possible to get compile error with "Get"?
v1 produces a TypeScript compiler error
Camelcase capital letters misunderstood by DelimiterCase type
Behavior of `PascalCase`
MergeExclusive is broken when used together with Except or built-in Omit
Add `typesVersion` property to `TypeScriptConfiguration` interface
Add @category JSDoc tag to improve reference docs generation
PackageJson type does not contain known properties for "publishConfig"
[1.1.0] new version requires lib to include es2020 or later
PartialDeep does not work with `Date` type
Add a `ReadonlyKeys` which finds readonly keys
Feature Request: add `Paths` type
Proposal: AtMostOne
Proposal: `Includes` type
Feature Request: CamelCase to behave like lodash.camelCase and camelcase
The `noImplicitOverride` and other options are missing
Proposal: PartialRecord
Except is broken when used with generic property
CamelCase doesn't properly format ScreamingSnakeCase strings
Get type works incorrectly with tuples, it treats tuples as arrays and thereby makes it possible to access indexes that are not defined on the tuple.
Error using type-fest with TypeScript version lower than 3.8.0
Proposal: `GlobalConstructor`
Anyone know how to turn "A" | "B" => ["A", "B"]?
Add `isObject`
`Jsonify` recursive cast properties of Date instead of cast to string
Add `WritableDeep<T>` - The inverse of `ReadonlyDeep<T>`
Meta: Add validation check to ensure all files in `source` directory use `.d.ts` extension
`LastArrayElement<string[]>` emits `never`
Except broken after 2.3.1
Like `Promisable<X>` but for arrays: `X | X[]`
ArrayValue<T>
Make `JsonObject` work as expected with TS 4.4 `--exactOptionalPropertyTypes`
Proposal: `RequiredDeep`
`PromiseValue` will no longer be needed in TypeScript 4.5
Proposal: `Overwrite<Obj, Props>`
ObservableLike's subscribe() return type should have unsubscribe()
is there a way to create regex patterns to match strings?
Integer value comparison, minimum length array, useful?
npm registry error
question: I just wonder why this module is installed without '-D' .
Proposal: `InvariantOf`
Proposed paradigm (functional assertions)
RequireOnlyOne
Proposal: `Indexify`
SnakeCasedPropertiesDeep Incorrectly Converts Record<String, _>
`PartialDeep` & `error TS2589: Type instantiation is excessively deep and possibly infinite`
Title Case
Merge type increases type instantiations count drastically
Make `GetWithPath` public
Feature: add PartialBy<T, K>
Deprecate `PromiseValue`
`Jsonify` removes all optional properties
Proposal: Strict `Get`
Get type should be able to return never so it can be used in a conditional type
option interface field
Intersect interfaces, but "union" properties
Float type support
Float type does not allow whole number floats
How to use `Float`/`Integer`?
`ReadonlyDeep` does not work for objects with call signatures
Proposal: `LiteralToPrimitive`
Proposal: `IsLiteral`
Proposal: `StringKeyof`
idea: Omit/PickDeep type
Question: ExclusiveArray
Export `IsEqual` type
Exclude `Date` and `RegExp` in all "deep" methods
Unable to use prototype property of type constructed with Class utility
Proposal: Jsonifyable
ReadonlyDeep is inconsistent with typescript eslint's isTypeReadonly with regard to readonly sets and map
Except no longer prevents the omitted keys to be keys present on the given type
FR: make a dark mode compatible logo
DelimiterCasedPropertiesDeep with Opaque yields wrong type
Discussion/proposal: PartialDeep<Foo, {recurseIntoArrays: false}>
Add `eslintConfig` to `PackageJson` type
Add `AbstractClass<T>`
`PackageJson` `Exports` type should include `null`
SetRequired not allowing other optional fields
[Feature] ReturnTypeWithGenerics
add SetExclude and SetExtract
Proposal: KeysOfUnion, `keyof` Union type
Merge is not that useful with indexed types
`DelimiterCase` not support `ScreamingSnakeCase` input
v3
CamelCase<string> is of type 'never' ?
Add type for union joins
Add `EmptyObject` (the type you'd expect for `{}`)
Mutable: rename as Writable (or ReadWrite)
Add `PartialOnUndefined` type
`Merge` type does not handle correctly optional properties
`Jsonify` problems
TypeScript 4.7 `TsConfigJson.Module` updates.
`Exact` intersection type support
Require at least one element in arrays or function arguments (`RequireAtLeastOne`)
Jsonify support for optional object keys, unserializable object values
`Override<{a: number, b: number}, {a: string}>` for unions that override props from the previous object
Proposal: `SetNonNullable`
Suggestion: deep version of StringKeyOf
Breaking change to `Simplify<>` introduced in v2.16.0
ConditionalPickDeep
Tests no longer run with xo v0.52.2
Jsonify Map type returned as `{}`
`ReadonlyDeep` not working with TypeScript 4.8
Version upgrade causes seemingly unrelated TS errors
Suggestion: Make `SetNonNullable` 2nd Generic Optional
I think I found a bug in your Jsonify type?
`Type instantiation is excessively deep` in `ReadonlyDeep`
Jsonify does not look deeper than one `toJSON` level
Add `SimplifyDeep` type
I tried to make all these types globally available in my project, but I failed.
`type CamelCasedPropertiesDeep` converting Record into {}
`NonEmptyTuple` type
Problem with `SetNonNullable` in Type Predicate Context
`CamelCase` does not properly camelize consecutive characters
`MapKeys` type
`Merge` merges optional `any` incorrectly
`Exact` does not work with `Opaque` after 2.19.0
Constraints of SetOptional may make you write bad code
Standard npm package.json `workspaces` field is missing from PackageJson type
Inconsistency between change case with non-literal strings
0.7.1 or 0.21.3: TS2344: Type 'BaseType' does not satisfy the constraint 'Record<string | number, any>'.
Suggestion: type for Object.fromEntries
Conditional pick deep not compiling, internal?
Importing `type-fest` unable to resolve module.
Feature request: `IsStringLiteral`
Transpose or invert object keys to/from key-like literal values
Exact incorrectly handles optional object with union type
TsConfigJson should extend Jsonifiable
Add `Date` to DeepPartial type helper
`Except` is not strict
Eslint complains when updating type-fest
NonNegativeInteger doesn't work
ConditionalPickDeep includes Array prototype properties & methods
feature request: Omitdeep
`Simplify` does not transform deep/recursively
Incorrect `Merge` with optional `any` fields
Prettify utility
How to have unknown keys return `never` with `Get` type?
Add a type for merging classes
A Constructor within a ReadonlyDeep type is not callable
How would I do something like "require 2 props or this 1 other prop"?
[MergeDeep] No attempt merge on Destination + Source types
Add typescript 4.7 as a peer dependency?
Opaque not working correctly?
Optional tags are lost after merge
`SetRequired` incorrectly combines union types
OverrideProperties doesn't throw an error if it has one correct property
Proposal: NonEmptyArray
WritableKeysOf
NonOptionalKeysOf
Add `SetReadonly`
NonEmptyObject
The peer deps of `typescript` causes it installed in production mode
Helper for `fn(...rest, extra)` ("A rest parameter must be last in a parameter list.")
'Type instantiation is excessively deep..' error caused by update to `SetRequired<>` in v3.10.0
Jsonify: `readonly` messes with Jsonified tuple types
Is there a way to check that a key conforms to a base type without using an interface?
`LastArrayElement<[T, ...U[]]>` should be `T | U`, but it is `U`.
`LastArrayElement<[...T[], U]>` should be `U`, but it is `T | U`
`Integer<1e+100>` should be `1e+100`, but it is `never`
`Opaque` does not work with case changes (ie. SnakeCasedProperties, etc)
Fails compilation in swc's strict mode
`RequireOneOrNone` type
Is it possible to Omit native type like booleans or numbers?
`MergeDeep` doesn't preserve `readonly` modifier
Jsonify fails on nested object with name property.
Expose `UnknownRecord` in the public API
Expose `NonEmptyTuple`
Broken link on paka.dev in readme.md
Check if we need to reduce "excessively deep error" on WritableDeep too
Support composable tagged types
SingleOrArray - Add type for a single value or an array of values
Proposal: `Enumerate` and `IntRange`
Proposal: `IndexesOf` and `ItemsOf`
Missing export after adding `Tagged` type
SetParameterType for functions
`RequiredDeep` silently erases types past a depth of 3 as a side-effect
Add `Expand` type
IsLiteral should not require the type to be Primitive but check it internally
`UndefinedOnPartialDeep` (opposite of `PartialOnUndefinedDeep`)
Type error: '?' expected.
Is it possible to conditionally get a property from a nested object?
Proposal: `SetRequired`, `SetNonNullable`, `Schema` based on nested key path
SnakeCasedPropertiesDeep incorrectly handles readonly arrays
[Bug]: Class declaration is broken
OverrideProperties marks all properties optional
Unable to use `Opaque<Record<a, b>, c>`
Proposal: Implement autocompletion for `OverrideProperties`
Generate dot.notation access list for an object
Proposal: `SetFieldType`
`Writable` is not suppert array
Missing ArrayIndices and ArrayValues from 4.5.0
How to write `if` condition to exclude `EmptyObject`
Map field to a type
Suggestion: add `ArraySlice` and `StringSlice`
DeepPick and DeepPath
Proposal: `UnknownArray`
"type-fest": "4.7.0", `PartialDeep` break down 4.6.0 works fine
Proposal: get the public part of union.
Request: `Slice` or `Rest`
Number key not work with ObjectValue
How can I use the classic Omit functionality applied to an array type instead of a type?
PartialOnUndefinedDeep removes non-optional properties when the input type contains an index signature
[4.8.0] fails when there are no DOM types
[4.8.0] type error on jsonify
"Stricter" intersection type?
v4.8.0 break SnakeCasedPropertiesDeep with enum
"Writable" is imported from external module "./writable.js" but never used in
`Paths` should not recurse into `Map`'s prototype properties.
ConditionalPickDeep does not work with deep interfaces
`Addition` And `Subtraction` Type Proposal
`MergeDeep` removes optionals from `any` and `never` fields
MergeDeep is never when compiled to .d.ts
ReadonlyDeep turns `void` into `unknown`
Canary: `MergeDeep` failures in `typescript@next` not detected by canary tests
4.9.0 fails with "Cannot find module './camel-case' or its corresponding type declarations"
`PackageJson`: Why properties like `name` and `version` are not required?
`Get<BaseType, Path>` does not work when `Path` contains `${number}`
Feature Request (or bug report?) - Get the last key of a record
[4.10.0][Regression] failure when type checking with exactOptionalPropertyTypes
Weird bug report - RangeError: Maximum call stack size exceeded when building
Maintenance strategy: Considering splitting `type-fest` into smaller importable parts
OptionalExcept type
Why do we need to specify the `engines` field in package.json?
Require exactly one key of type `string`
Bug: Nextjs and type-fest camel-case.d.ts Type error: '?' expected.
CamelCasedObjectDeep breaks tuple-types into array-types
`UnionToUnorderedTuple` type
`ArraySlice` should support spread array
TS 5.4.2 breaks `ConditionalKeys` and `SetParameterType`
`ReadonlyDeep` / `WritableDeep` not modifying arrays as of TS 5.3.3
Set up dependabot / renovate
Make the second argument to RequireAllOrNone optional
Type for serializable objects?
Proposal: SetKeyRequired with key required, but allow undefined value
OverrideProperties changes undefined as optional
Proposal: Promisable
Type-fest based prelude
ArrayExceptLastElement type
Zero is not exported by ...
`And` and `Or` is not exported at `index.d.ts`
ConditionalKeys does not correctly filter out `never` type
Paths<T> should handle recursive types
`schema` should properly set type of objects in arrays
`SimplifyDeep` doesn't deep simplify lists
`IsStringLiteral` should be `false` for branded and tagged types
`CamelCasedPropertiesDeep` doesn't handle `Tagged` type correctly
Document `IntRange` `Start` param must be `>=0`
`Exact` does not work as expected with type involving `Date` and union
Web-specific version of `StructuredCloneable` type
Exact not function correctly with Dates since last commit
Expose Max Recursion Depth of Paths
Issues with `Paths` type
4.23.0 introduced a breaking change in `Paths` type
`ArraySlice` resolves to `never` when passing `number`
Suggestion to include documetation on `Awaited` Type in README
`OmitDeep` with multiple properties to omit
Line-wrap all documentation?
`Exact` no longer works with recursive types + unions
UnionToTuple fails when tuple is not ordered
`Get<T, Paths>` resolves to `unknown` if `Paths` contains a template literal type
license files not included in published package
© 2019 BoostIO, Inc.