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