mirror of
https://github.com/logto-io/logto.git
synced 2024-12-23 20:33:16 -05:00
14 lines
513 B
TypeScript
14 lines
513 B
TypeScript
|
export type CamelCase<T> = T extends `${infer A}_${infer B}`
|
||
|
? `${A}${Capitalize<CamelCase<B>>}`
|
||
|
: T;
|
||
|
|
||
|
export type StorageType = 'appearance_mode' | 'linking_social_connector';
|
||
|
|
||
|
export const getStorageKey = <T extends StorageType>(forType: T) =>
|
||
|
`logto:admin_console:${forType}` as const;
|
||
|
|
||
|
export const storageKeys = Object.freeze({
|
||
|
appearanceMode: getStorageKey('appearance_mode'),
|
||
|
linkingSocialConnector: getStorageKey('linking_social_connector'),
|
||
|
} satisfies Record<CamelCase<StorageType>, string>);
|