Files
anomalyco_opencode/packages/desktop/src/renderer/initialization.ts
T

24 lines
983 B
TypeScript

export function initializationData<A>(state: (() => A | undefined) & { error: unknown }) {
if (state.error !== undefined) throw markLocalServerStartup(state.error)
return state()
}
function markLocalServerStartup(error: unknown) {
const failure = error instanceof Error ? error : new Error(String(error))
const prefix = `Error invoking remote method '${Ipc.app.awaitInitialization}': Error: `
if (failure.message.startsWith(prefix)) {
const previous = failure.message
failure.message = failure.message.slice(prefix.length)
if (failure.stack) failure.stack = failure.stack.replace(`Error: ${previous}`, `Error: ${failure.message}`)
}
Object.defineProperty(failure, "localServerStartup", { value: true })
return failure
}
export function initializationReady<A>(state: (() => A | undefined) & { error: unknown; loading: boolean }) {
if (state.loading) return false
initializationData(state)
return true
}
import { Ipc } from "../shared/ipc-contract"