@prismatic-io/spectral
Version:
Utility library for building Prismatic connectors and code-native integrations
13 lines (12 loc) • 1.94 kB
TypeScript
import type { ComponentRegistry, Inputs, IntegrationDefinition, TriggerPayload, TriggerResult } from "../types";
import type { ActionContext } from "../types/ActionPerformFunction";
export declare function runWithContext<T>(context: ActionContext, fn: () => T | Promise<T>): T | Promise<T>;
export declare function requireContext(): ActionContext;
export declare function runWithIntegrationContext<TInputs extends Inputs, TActionInputs extends Inputs, TPayload extends TriggerPayload = TriggerPayload, TAllowsBranching extends boolean = boolean, TResult extends TriggerResult<TAllowsBranching, TPayload> = TriggerResult<TAllowsBranching, TPayload>, T extends IntegrationDefinition<TInputs, TActionInputs, TPayload, TAllowsBranching, TResult> = IntegrationDefinition<TInputs, TActionInputs, TPayload, TAllowsBranching, TResult>, U = unknown>(context: T, fn: () => U): U;
export declare function requireIntegrationContext<TInputs extends Inputs, TActionInputs extends Inputs, TPayload extends TriggerPayload = TriggerPayload, TAllowsBranching extends boolean = boolean, TResult extends TriggerResult<TAllowsBranching, TPayload> = TriggerResult<TAllowsBranching, TPayload>, T extends IntegrationDefinition<TInputs, TActionInputs, TPayload, TAllowsBranching, TResult> = IntegrationDefinition<TInputs, TActionInputs, TPayload, TAllowsBranching, TResult>>(): T;
type GetUserDefinedKeyByComponentKey<K extends string, T extends ComponentRegistry, TPublic extends boolean> = keyof T extends infer UserKey ? UserKey extends keyof T ? T[UserKey] extends {
key: string;
public: boolean;
} ? T[UserKey]["key"] extends K ? T[UserKey]["public"] extends TPublic ? UserKey : never : never : never : never : never;
export declare const findUserDefinedComponentKey: <K extends string, T extends ComponentRegistry, TPublic extends boolean>(componentKey: K, isPublic: TPublic, registry?: T) => GetUserDefinedKeyByComponentKey<K, T, TPublic>;
export {};