@prismatic-io/spectral
Version:
Utility library for building Prismatic connectors and code-native integrations
9 lines (8 loc) • 914 B
TypeScript
import type { ActionInputParameters } from "./ActionInputParameters";
import type { ActionContext } from "./ActionPerformFunction";
import type { DataSourceResult, DataSourceType } from "./DataSourceResult";
import type { ConfigVarResultCollection, Inputs } from "./Inputs";
/** Context provided to perform method containing helpers and contextual data. */
export type DataSourceContext<TConfigVars extends ConfigVarResultCollection = ConfigVarResultCollection> = Pick<ActionContext<TConfigVars>, "logger" | "customer" | "instance" | "user" | "configVars">;
/** Definition of the function to perform when a Data Source is invoked. */
export type DataSourcePerformFunction<TInputs extends Inputs, TConfigVars extends ConfigVarResultCollection, TDataSourceType extends DataSourceType> = (context: DataSourceContext<TConfigVars>, params: ActionInputParameters<TInputs>) => Promise<DataSourceResult<TDataSourceType>>;