UNPKG

@prismatic-io/spectral

Version:

Utility library for building Prismatic connectors and code-native integrations

13 lines (12 loc) 1.94 kB
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 {};