Yes, it is possible to create a TypeScript type that is restricted to having only one property using the Record
type. Here is an example:
type SinglePropertyType<K extends string, V> = Record<K, V> & { [key: string]: never };
In this example, K
is the key of the single property and V
is the value type.
The Record<K, V>
type constraint ensures that the type has only one property with the specified key and value type. The second constraint { [key: string]: never }
ensures that there are no other properties in the type.
Here is an example usage of the SinglePropertyType
:
// This type is restricted to having only one property "name" of type string
type Person = SinglePropertyType<'name', string>;
// This is valid
const person: Person = { name: 'Alice' };
// This is invalid because it has more than one property
const person2: Person = { name: 'Bob', age: 30 };
Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss
Asked: 2023-03-12 11:00:00 +0000
Seen: 8 times
Last updated: Aug 22 '21
How can one ensure that sub-classes have uniform method parameters in TypeScript?
Can a TypeScript definition for icon names be provided in MaterialCommunityIcons for React Native?
How can TypeScript be used to save a file in an Excel add-in?
What is the Angular Type script NG Zorro event for radio buttons?
What is the process for implementing a Many to Many relationship using NestJs Sequlize and Mysql2?
What is the method for defining a Fixed length Array in TypeScript?
What difficulties are encountered in the installation of react-router-dom using typescript?