import { DesktopAppActivationResponse } from "@t3tools/contracts"; import * as Effect from "effect/Effect"; import * as Schema from "effect/Schema"; import * as DesktopAppActivation from "../../app/DesktopAppActivation.ts"; import * as IpcChannels from "../channels.ts"; import * as DesktopIpc from "../DesktopIpc.ts"; export const setReady = DesktopIpc.makeIpcMethod({ channel: IpcChannels.DESKTOP_APP_ACTIVATION_READY_CHANNEL, payload: Schema.Boolean, result: Schema.Void, handler: Effect.fn("desktop.ipc.appActivation.setReady")(function* (ready) { const activation = yield* DesktopAppActivation.DesktopAppActivation; yield* activation.setRendererReady(ready); }), }); export const complete = DesktopIpc.makeIpcMethod({ channel: IpcChannels.DESKTOP_APP_ACTIVATION_COMPLETE_CHANNEL, payload: DesktopAppActivationResponse, result: Schema.Void, handler: Effect.fn("desktop.ipc.appActivation.complete")(function* (response) { const activation = yield* DesktopAppActivation.DesktopAppActivation; yield* activation.complete(response); }), });