Skip to content

Commit 64fd974

Browse files
committed
add more tests
1 parent ab424d5 commit 64fd974

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

packages/solid/src/reactive/signal.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,12 @@ export function createRoot<T>(fn: RootFunction<T>, detachedOwner?: typeof Owner)
179179
export type Accessor<T> = () => T;
180180

181181
export type Setter<in out T> = {
182+
<U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
182183
<U extends T>(
183184
...args: undefined extends T ? [] : [value: Exclude<U, Function> | ((prev: T) => U)]
184185
): undefined extends T ? undefined : U;
185186
<U extends T>(value: (prev: T) => U): U;
186187
<U extends T>(value: Exclude<U, Function>): U;
187-
<U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
188188
};
189189

190190
export type Signal<T> = [get: Accessor<T>, set: Setter<T>];

packages/solid/test/signals.type-tests.ts

+9
Original file line numberDiff line numberDiff line change
@@ -887,11 +887,13 @@ interface KobalteBaseSelectProps<Option, OptGroup = never> {
887887
interface KobaltSingleSelectProps<T> {
888888
value?: T | null;
889889
onChange?: (value: T) => void;
890+
multiple?: false;
890891
}
891892

892893
interface KobaltMultiSelectProps<T> {
893894
value?: T[];
894895
onChange?: (value: T[]) => void;
896+
multiple?: true;
895897
}
896898

897899
type KobaltSelectProps<Option, OptGroup = never> = (
@@ -903,8 +905,15 @@ type KobaltSelectProps<Option, OptGroup = never> = (
903905
type fruits = "apple" | "banana" | "orange";
904906
const fruits: fruits[] = ["apple", "banana", "orange"];
905907
const [fruit, setFruit] = createSignal<fruits>("apple");
908+
const [fruitArr, setFruitArr] = createSignal<fruits[]>(["apple"]);
906909
function kobalteSelect<T>(props: KobaltSelectProps<T>) {}
907910
kobalteSelect({ value: fruit(), onChange: setFruit, options: fruits });
911+
kobalteSelect<fruits>({
912+
value: fruitArr(),
913+
onChange: setFruitArr,
914+
options: fruits,
915+
multiple: true
916+
});
908917

909918
//////////////////////////////////////////////////////////////////////////
910919
// test explicit generic args ////////////////////////////////////////////

0 commit comments

Comments
 (0)