@omnicajs/vue-remote
Version:
Proxy renderer for Vue.js based on @remote-ui
14 lines (12 loc) • 479 B
TypeScript
export type None = Record<string, never>
export type Unknown = Record<string, unknown>
export type UnknownFunction = (...args: unknown[]) => unknown
export type UnknownMethods = Record<string, (...payload: unknown[]) => Promise<void>>
export type NonOptionalKeys<T> = {
[K in keyof T]-?: undefined extends T[K] ? never : K;
}[keyof T]
export type IfAllKeysOptional<O, If, Else = never> = O extends None
? If
: NonOptionalKeys<O> extends { length: 0; }
? If
: Else