diff --git a/packages/nanoviews/src/flow/if.ts b/packages/nanoviews/src/flow/if.ts index 57497077..cef90112 100644 --- a/packages/nanoviews/src/flow/if.ts +++ b/packages/nanoviews/src/flow/if.ts @@ -3,8 +3,8 @@ import { boolean } from 'kida' import type { - TruthyValueOrSignal, - FalsyValueOrSignal, + TruthySignalish, + FalsySignalish, Child } from '../internals/index.js' import { swap_ } from './swap.js' @@ -22,14 +22,14 @@ export function if_($value: T) { * @returns Block that renders decided child */ return ( - then_: (value: TruthyValueOrSignal) => Child, - else_?: (value: FalsyValueOrSignal) => Child + then_: (value: TruthySignalish) => Child, + else_?: (value: FalsySignalish) => Child ) => swap_( isAccessor($value) ? boolean($value) : $value as boolean, confition => ( confition - ? then_($value as TruthyValueOrSignal) - : else_?.($value as FalsyValueOrSignal) + ? then_($value as TruthySignalish) + : else_?.($value as FalsySignalish) ) ) } diff --git a/packages/nanoviews/src/internals/types/common.ts b/packages/nanoviews/src/internals/types/common.ts index 79a57ce1..d7e85ca8 100644 --- a/packages/nanoviews/src/internals/types/common.ts +++ b/packages/nanoviews/src/internals/types/common.ts @@ -31,13 +31,13 @@ export type AccessibleProps = { [K in keyof T]?: Signalish } -export type TruthySignal = T extends Accessor +export type TruthyAccessor = T extends Accessor ? U extends FalsyValue ? never : T : never -export type TruthyValueOrSignal = T extends Accessor +export type TruthySignalish = T extends Accessor ? U extends FalsyValue ? never : T @@ -45,13 +45,13 @@ export type TruthyValueOrSignal = T extends Accessor ? never : T -export type FalsySignal = T extends Accessor +export type FalsyAccessor = T extends Accessor ? U extends FalsyValue ? T : never : never -export type FalsyValueOrSignal = T extends Accessor +export type FalsySignalish = T extends Accessor ? U extends FalsyValue ? T : never