import * as cordis from '@cordisjs/core'; import type { EventMap } from './api'; export interface Events extends cordis.Events, EventMap { } export type { Disposable, ScopeStatus, Plugin } from '@cordisjs/core'; export interface Context { [Context.events]: Events; broadcast: Context['emit']; } export class Context extends cordis.Context { } export type MainScope = cordis.MainScope; export type EffectScope = cordis.EffectScope; export type ForkScope = cordis.ForkScope; export abstract class Service extends cordis.Service { [cordis.Service.setup]() { this.ctx = new Context() as C; } } export const ctx = new Context();