orca/src/shared/runtime-rpc-feature-interac...

26 lines
866 B
TypeScript

export const ORCA_RUNTIME_RPC_FEATURE_INTERACTION_SOURCE_KEY = '__orcaFeatureInteractionSource'
export const ORCA_RUNTIME_RPC_BROWSER_UI_SOURCE = 'browser-pane-ui'
export function withBrowserPaneUiRuntimeRpcSource(value: unknown): unknown {
if (value === null || typeof value !== 'object' || Array.isArray(value)) {
return {
[ORCA_RUNTIME_RPC_FEATURE_INTERACTION_SOURCE_KEY]: ORCA_RUNTIME_RPC_BROWSER_UI_SOURCE
}
}
return {
...value,
[ORCA_RUNTIME_RPC_FEATURE_INTERACTION_SOURCE_KEY]: ORCA_RUNTIME_RPC_BROWSER_UI_SOURCE
}
}
export function isBrowserPaneUiRuntimeRpcParams(value: unknown): boolean {
return (
value !== null &&
typeof value === 'object' &&
!Array.isArray(value) &&
(value as Record<string, unknown>)[ORCA_RUNTIME_RPC_FEATURE_INTERACTION_SOURCE_KEY] ===
ORCA_RUNTIME_RPC_BROWSER_UI_SOURCE
)
}