diff --git a/build/api/binding.api.md b/build/api/binding.api.md index f5655b1c4d..79f0b6148f 100644 --- a/build/api/binding.api.md +++ b/build/api/binding.api.md @@ -207,7 +207,7 @@ export namespace EntityAccessor { // (undocumented) export type BatchUpdatesHandler = (getAccessor: GetEntityAccessor, options: BatchUpdatesOptions) => void; // (undocumented) - export type BeforePersistHandler = (getAccessor: GetEntityAccessor, options: AsyncBatchUpdatesOptions) => void | Promise; + export type BeforePersistHandler = (getAccessor: GetEntityAccessor, options: AsyncBatchUpdatesOptions) => void | BeforePersistHandler | Promise; // (undocumented) export interface EntityEventListenerMap extends RuntimeEntityEventListenerMap { // (undocumented) @@ -233,7 +233,7 @@ export namespace EntityAccessor { // (undocumented) export type PersistErrorHandler = (getAccessor: GetEntityAccessor, options: PersistErrorOptions) => void | Promise; // (undocumented) - export type PersistSuccessHandler = (getAccessor: GetEntityAccessor, options: PersistSuccessOptions) => void | Promise; + export type PersistSuccessHandler = (getAccessor: GetEntityAccessor, options: PersistSuccessOptions) => void | PersistSuccessHandler | Promise; // (undocumented) export interface RuntimeEntityEventListenerMap { // (undocumented) diff --git a/packages/binding/src/accessors/EntityAccessor.ts b/packages/binding/src/accessors/EntityAccessor.ts index 49889505bb..4516a7c00e 100644 --- a/packages/binding/src/accessors/EntityAccessor.ts +++ b/packages/binding/src/accessors/EntityAccessor.ts @@ -262,7 +262,7 @@ namespace EntityAccessor { export type BeforePersistHandler = ( getAccessor: GetEntityAccessor, options: AsyncBatchUpdatesOptions, - ) => void | Promise + ) => void | BeforePersistHandler | Promise export type PersistErrorHandler = ( getAccessor: GetEntityAccessor, @@ -272,7 +272,7 @@ namespace EntityAccessor { export type PersistSuccessHandler = ( getAccessor: GetEntityAccessor, options: PersistSuccessOptions, - ) => void | Promise + ) => void | PersistSuccessHandler | Promise export interface RuntimeEntityEventListenerMap { beforePersist: BeforePersistHandler diff --git a/packages/binding/src/treeParameters/EventListenersStore.ts b/packages/binding/src/treeParameters/EventListenersStore.ts index 858a1b67c1..556b2b3380 100644 --- a/packages/binding/src/treeParameters/EventListenersStore.ts +++ b/packages/binding/src/treeParameters/EventListenersStore.ts @@ -1,5 +1,6 @@ +type AnyFunction = (...args: any[]) => any type GenericEventsMap = { - [K in EventTypes]?: (...args: any[]) => void | Promise + [K in EventTypes]?: (...args: any[]) => void | AnyFunction | Promise } export class EventListenersStore> {