refactor(store): use undefined instead of null for void-input placeholder (#322)

This commit is contained in:
rahim
2026-01-22 22:20:39 +11:00
committed by GitHub
parent e01ce5bc1c
commit 730dd435a8
3 changed files with 6 additions and 6 deletions
+3 -3
View File
@@ -177,12 +177,12 @@ await store.request.seek(30);
Every request accepts optional metadata as the last argument.
```ts
store.request.play(null, { source: 'user', reason: 'play-button' });
store.request.play(undefined, { source: 'user', reason: 'play-button' });
store.request.seek(30, { source: 'user', reason: 'slider-scrub' });
store.request.pause(null, { source: 'system', reason: 'ad-start' });
store.request.pause(undefined, { source: 'system', reason: 'ad-start' });
// Infer metadata from DOM event
store.request.play(null, createRequestMetaFromEvent(clickEvent)); // MouseEvent
store.request.play(undefined, createRequestMetaFromEvent(clickEvent)); // MouseEvent
```
Handlers receive metadata:
+2 -2
View File
@@ -105,8 +105,8 @@ export type ResolveRequestMap<Requests> = {
export type ResolveRequestHandler<R>
= R extends Request<infer I, infer O>
? [I] extends [void]
? (input?: null, meta?: RequestMetaInit) => Promise<O>
? [I] extends [void | undefined]
? (input?: undefined, meta?: RequestMetaInit) => Promise<O>
: (input: I, meta?: RequestMetaInit) => Promise<O>
: never;
+1 -1
View File
@@ -252,7 +252,7 @@ describe('store', () => {
store.attach(new MockMedia());
await store.request.action(null, {
await store.request.action(undefined, {
source: 'user',
reason: 'test',
});