mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com> Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
22 lines
753 B
TypeScript
22 lines
753 B
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
import { getInjectionToken } from "@ogre-tools/injectable";
|
|
import type { SetRequired } from "type-fest";
|
|
import type { RequestChannel } from "./request-channel-injection-token";
|
|
|
|
export type RequestFromChannel = <
|
|
TChannel extends RequestChannel<any, any>,
|
|
>(
|
|
channel: TChannel,
|
|
...request: TChannel["_requestSignature"] extends void
|
|
? []
|
|
: [TChannel["_requestSignature"]]
|
|
) => Promise<SetRequired<TChannel, "_responseSignature">["_responseSignature"]>;
|
|
|
|
export const requestFromChannelInjectionToken =
|
|
getInjectionToken<RequestFromChannel>({
|
|
id: "request-from-request-channel",
|
|
});
|