@prismatic-io/spectral
Version:
Utility library for building Prismatic connectors and code-native integrations
33 lines (32 loc) • 1.43 kB
TypeScript
import type { UnionToIntersection } from "./utils";
export type CustomerActivatedConnectionConfigVar = {
dataType: "connection";
stableKey: string;
};
export type OrganizationActivatedConnectionConfigVar = {
dataType: "connection";
stableKey: string;
};
export type ScopedConfigVar = CustomerActivatedConnectionConfigVar | OrganizationActivatedConnectionConfigVar;
/**
* Root ScopedConfigVars type exposed for augmentation.
*
* The expected interface when augmenting is:
*
* ```ts
* interface IntegrationDefinitionScopedConfigVars {
* [key: string]: OrganizationActivatedConnectionConfigVar
* }
* ```
*
*/
export interface IntegrationDefinitionScopedConfigVars {
}
type CreateScopedConfigVars<TScopedConfigVarMap> = keyof TScopedConfigVarMap extends never ? {
[key: string]: OrganizationActivatedConnectionConfigVar | string;
} : UnionToIntersection<keyof TScopedConfigVarMap extends infer TScopedConfigVarName ? TScopedConfigVarName extends keyof TScopedConfigVarMap ? TScopedConfigVarMap[TScopedConfigVarName] extends OrganizationActivatedConnectionConfigVar ? {
[Key in TScopedConfigVarName]: TScopedConfigVarMap[TScopedConfigVarName];
} : never : never : never>;
export type ScopedConfigVarMap = CreateScopedConfigVars<IntegrationDefinitionScopedConfigVars>;
export declare const isConnectionScopedConfigVar: (cv: unknown) => cv is OrganizationActivatedConnectionConfigVar;
export {};