Type Alias DelimiterCasedProperties<Value, Delimiter>

DelimiterCasedProperties: Value extends Function
    ? Value
    : Value extends (infer U)[]
        ? Value
        : { [K in keyof Value as DelimiterCase<K, Delimiter>]: Value[K] }

Convert object properties to delimiter case but not recursively.

This can be useful when, for example, converting some API types from a different style.

Type Parameters

  • Value
  • Delimiter extends string
  • DelimiterCase
  • DelimiterCasedPropertiesDeep
import type {DelimiterCasedProperties} from 'type-fest';

interface User {
userId: number;
userName: string;
}

const result: DelimiterCasedProperties<User, '-'> = {
'user-id': 1,
'user-name': 'Tom',
};