UNPKG

@engie-group/fluid-design-system-angular

Version:

Fluid Design System Angular

26 lines (25 loc) 684 B
import { InputSignal, InputSignalWithTransform } from '@angular/core'; /** * Type design to convert a properties type to its equivalent for Angular signal inputs. * * Example : * ```ts * // For given type, * type MyType = { * foo: string; * bar: boolean; * }; * * // this * type MySignalPropsType = InputSignalProps<MyType>; * * // is equivalent to : * type MySignalPropsType = { * foo: InputSignal<string>; * bar: InputSignalWithTransform<boolean, unknown>; * } * ``` */ export type InputSignalProps<T extends object> = { [K in keyof T]: NonNullable<T[K]> extends boolean ? InputSignalWithTransform<NonNullable<T[K]>, unknown> : InputSignal<T[K]>; };