summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/lib/styles.ts
blob: 554e669373b0a53e7f164a78982fbeb953c506e2 (plain)
1
2
3
4
5
6
7
8
9
type NonTransientPropKey<K> = K extends `$${infer L}` ? L : K;

export type NonTransientProps<T, K extends NonTransientPropKey<keyof T>> = {
  [P in keyof T as NonTransientPropKey<P> extends K ? NonTransientPropKey<P> : P]: T[P];
};

export type TransientProps<T, K extends keyof T> = {
  [P in keyof T as P extends K ? `$${P & string}` : P]: T[P];
};