export const dispatch = (event: string, detail: unknown) => {
    document.dispatchEvent(new CustomEvent(event, {
        detail
    }))
}

export const listen = (event: string, callback: (e: any) => unknown) => {
    const fn = (e: any) => callback(e.detail)

    document.addEventListener(event, fn)

    return {
        remove() {
            document.removeEventListener(event, fn)
        }
    }
}
