export function finalDispatch()

in src/dispatcher.ts [28:46]


export function finalDispatch(actionMessage: ActionMessage): void | Promise<void> {
    let actionId = getPrivateActionId(actionMessage);
    let subscribers = getGlobalContext().subscriptions[actionId];

    if (subscribers) {
        let promises: Promise<any>[] = [];

        for (const subscriber of subscribers) {
            let returnValue = subscriber(actionMessage);
            if (returnValue) {
                promises.push(returnValue);
            }
        }

        if (promises.length) {
            return promises.length == 1 ? promises[0] : Promise.all(promises);
        }
    }
}