Skip to content

Commit

Permalink
fix: allow passing defer:boolean to on (#1885)
Browse files Browse the repository at this point in the history
* fix types of `defer` for `on`

* add changelog

---------

Co-authored-by: Ryan Carniato <ryansolid@gmail.com>
  • Loading branch information
elite174 and ryansolid committed Sep 18, 2023
1 parent 13b1fa6 commit 8b49110
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 1 deletion.
5 changes: 5 additions & 0 deletions .changeset/red-pears-rush.md
@@ -0,0 +1,5 @@
---
"solid-js": patch
---

Allow passing defer:boolean to `on`
2 changes: 1 addition & 1 deletion packages/solid/src/reactive/signal.ts
Expand Up @@ -922,7 +922,7 @@ export function on<S, Next extends Prev, Prev = Next>(
export function on<S, Next extends Prev, Prev = Next>(
deps: AccessorArray<S> | Accessor<S>,
fn: OnEffectFunction<S, undefined | NoInfer<Prev>, Next>,
options: OnOptions & { defer: true }
options: OnOptions | { defer: true }
): EffectFunction<undefined | NoInfer<Next>>;
export function on<S, Next extends Prev, Prev = Next>(
deps: AccessorArray<S> | Accessor<S>,
Expand Down
19 changes: 19 additions & 0 deletions packages/solid/test/signals.type-tests.ts
Expand Up @@ -710,6 +710,25 @@ const onMemo3 = createMemo(
);
// @ts-expect-error when deferred the type includes undefined
const onMemo4: Accessor<number> = onMemo3;
// Allow passing boolean to defer
const memoCreator = (defer: boolean) =>
createMemo(
on(
[one, two],
(input, prevInput, prev) => {
const [one, two]: [number, boolean] = input;
if (prevInput) {
const [prevOne, prevTwo]: [number, boolean] = prevInput;
}
// @ts-expect-error FIXME computed type is unknown, should be `number`.
const _prev: number = prev;
return one + +two;
},
{ defer }
)
);
const memoCreator1: Accessor<number | undefined> = memoCreator(true);
const memoCreator2: Accessor<number | undefined> = memoCreator(false);

//////////////////////////////////////////////////////////////////////////
// createSelector ////////////////////////////////////////////////////////
Expand Down

0 comments on commit 8b49110

Please sign in to comment.