refactor(dispatcher): UpdateInfo<...> to ParsedUpdate
This commit is contained in:
parent
6d8c7fee78
commit
5b9ddc1f7b
2 changed files with 12 additions and 11 deletions
|
@ -28,7 +28,7 @@ import {
|
|||
HistoryReadHandler,
|
||||
} from './handler'
|
||||
// end-codegen-imports
|
||||
import { UpdateInfo } from './handler'
|
||||
import { ParsedUpdate } from './handler'
|
||||
import { filters, UpdateFilter } from './filters'
|
||||
import { handlers } from './builders'
|
||||
import {
|
||||
|
@ -159,7 +159,7 @@ export declare interface Dispatcher<
|
|||
> {
|
||||
on<T = {}>(
|
||||
name: 'update',
|
||||
handler: (update: UpdateInfo<UpdateHandler> & T) => void
|
||||
handler: (update: ParsedUpdate & T) => void
|
||||
): this
|
||||
|
||||
// begin-codegen-declare
|
||||
|
@ -308,18 +308,18 @@ export class Dispatcher<
|
|||
|
||||
private _errorHandler?: <T = {}>(
|
||||
err: Error,
|
||||
update: UpdateInfo<UpdateHandler> & T,
|
||||
update: ParsedUpdate & T,
|
||||
state?: UpdateState<State, SceneName>
|
||||
) => MaybeAsync<boolean>
|
||||
|
||||
private _preUpdateHandler?: <T = {}>(
|
||||
update: UpdateInfo<UpdateHandler> & T,
|
||||
update: ParsedUpdate & T,
|
||||
state?: UpdateState<State, SceneName>
|
||||
) => MaybeAsync<PropagationAction | void>
|
||||
|
||||
private _postUpdateHandler?: <T = {}>(
|
||||
handled: boolean,
|
||||
update: UpdateInfo<UpdateHandler> & T,
|
||||
update: ParsedUpdate & T,
|
||||
state?: UpdateState<State, SceneName>
|
||||
) => MaybeAsync<void>
|
||||
|
||||
|
@ -821,7 +821,7 @@ export class Dispatcher<
|
|||
handler:
|
||||
| ((
|
||||
err: Error,
|
||||
update: UpdateInfo<UpdateHandler> & T,
|
||||
update: ParsedUpdate & T,
|
||||
state?: UpdateState<State, SceneName>
|
||||
) => MaybeAsync<boolean>)
|
||||
| null
|
||||
|
@ -845,7 +845,7 @@ export class Dispatcher<
|
|||
onPreUpdate<T = {}>(
|
||||
handler:
|
||||
| ((
|
||||
update: UpdateInfo<UpdateHandler> & T,
|
||||
update: ParsedUpdate & T,
|
||||
state?: UpdateState<State, SceneName>
|
||||
) => MaybeAsync<PropagationAction | void>)
|
||||
| null
|
||||
|
@ -870,7 +870,7 @@ export class Dispatcher<
|
|||
handler:
|
||||
| ((
|
||||
handled: boolean,
|
||||
update: UpdateInfo<UpdateHandler> & T,
|
||||
update: ParsedUpdate & T,
|
||||
state?: UpdateState<State, SceneName>
|
||||
) => MaybeAsync<void>)
|
||||
| null
|
||||
|
@ -883,9 +883,9 @@ export class Dispatcher<
|
|||
* Set error handler that will propagate
|
||||
* the error to the parent dispatcher
|
||||
*/
|
||||
propagateErrorToParent<T extends Exclude<UpdateHandler, RawUpdateHandler>>(
|
||||
propagateErrorToParent(
|
||||
err: Error,
|
||||
update: UpdateInfo<T>,
|
||||
update: ParsedUpdate,
|
||||
state?: UpdateState<State, SceneName>
|
||||
): MaybeAsync<boolean> {
|
||||
if (!this.parent)
|
||||
|
|
|
@ -33,12 +33,13 @@ type ParsedUpdateHandler<Type, Update, State = never> = BaseUpdateHandler<
|
|||
(update: Update, state: State) => MaybeAsync<boolean>
|
||||
>
|
||||
|
||||
export type UpdateInfo<T> = T extends ParsedUpdateHandler<infer K, infer Q>
|
||||
type _ParsedUpdate<T> = T extends ParsedUpdateHandler<infer K, infer Q>
|
||||
? {
|
||||
readonly type: K
|
||||
readonly data: Q
|
||||
}
|
||||
: never
|
||||
export type ParsedUpdate = _ParsedUpdate<UpdateHandler>
|
||||
|
||||
export type RawUpdateHandler = BaseUpdateHandler<
|
||||
'raw',
|
||||
|
|
Loading…
Reference in a new issue