Added test suite
This commit is contained in:
25
src/types.ts
25
src/types.ts
@ -1,27 +1,4 @@
|
||||
/**
|
||||
* Return keys on a type as an array of strings
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* type Person = {
|
||||
* firstName: string;
|
||||
* lastName: string;
|
||||
* age: number;
|
||||
* }
|
||||
*
|
||||
* const keys = typeKeys<Person>();
|
||||
* console.log(keys); // Output: ["firstName", "lastName", "age"]
|
||||
* ```
|
||||
*
|
||||
* @return {Array<keyof T>} Available keys
|
||||
*/
|
||||
export function typeKeys<T extends object>() {
|
||||
return Object.keys(<T>{}) as Array<keyof T>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark all properties as writable
|
||||
*/
|
||||
/** Mark all properties as writable */
|
||||
export type Writable<T> = {
|
||||
-readonly [P in keyof T]: T[P]
|
||||
};
|
||||
|
Reference in New Issue
Block a user