import type {RemoteComponentType} from '@remote-ui/types'; import type { RemoteRoot, RemoteComponent, RemoteText, RemoteFragment, } from './types'; import {KIND_COMPONENT, KIND_TEXT, KIND_FRAGMENT} from './types'; export function isRemoteComponent< Type extends RemoteComponentType = any, Root extends RemoteRoot = RemoteRoot, >(child: unknown): child is RemoteComponent { return child != null && (child as any).kind === KIND_COMPONENT; } export function isRemoteText< Root extends RemoteRoot = RemoteRoot, >(child: unknown): child is RemoteText { return child != null && (child as any).kind === KIND_TEXT; } export function isRemoteFragment< Root extends RemoteRoot = RemoteRoot, >(object: unknown): object is RemoteFragment { return object != null && (object as any).kind === KIND_FRAGMENT; }