UNPKG

@grouparoo/core

Version:
54 lines (53 loc) 2.63 kB
import { GrouparooPlugin, PluginConnection, PluginApp } from "../classes/plugin"; import { Source } from "./../models/Source"; import { Destination } from "./../models/Destination"; import { Schedule } from "./../models/Schedule"; import { Property } from "../models/Property"; import { App } from "./../models/App"; export declare const ObfuscatedOptionString = "__ObfuscatedOption"; declare type ModelWithOptions = Source | Destination | Schedule | Property | App; export declare namespace OptionHelper { interface SimpleOptions { [key: string]: string | number | boolean; } function getOptions(instance: ModelWithOptions, sourceFromEnvironment?: boolean, obfuscateSensitive?: boolean): Promise<SimpleOptions>; function setOptions(instance: (Source | Destination | Schedule | Property | App) & { afterSetOptions?: Function; }, options: SimpleOptions, externallyValidate?: boolean): Promise<void>; function getPlugin(instance: Source | Destination | Schedule | Property | App): Promise<{ plugin: GrouparooPlugin; pluginConnection: PluginConnection; pluginApp: PluginApp; }>; function getPluginByType(type: string): { plugin: GrouparooPlugin; pluginConnection: PluginConnection; pluginApp: PluginApp; }; type OptionsSpec = { key: string; required: boolean; options?: string[]; }[]; function validateOptions(instance: ModelWithOptions & { name?: string; key?: string; }, options: SimpleOptions, optionsSpec: OptionsSpec, allowEmpty?: boolean): Promise<void>; /** * Return the list of possible environment variable options for this type, * GROUPAROO_OPTION__APP__production-hubspot-api-key=abc123 returns production-hubspot-api-key */ function getEnvironmentVariableOptionsForTopic(topic: string): string[]; /** * Load the value of an environment variable option from the environment */ function getEnvironmentVariableOption(type: string, key: string): string; /** * Replace all values in a bundle of SimpleOptions with those values loaded from the ENV */ function sourceEnvironmentVariableOptions(instance: ModelWithOptions, options: SimpleOptions): SimpleOptions; function filterEmptyOptions(options: SimpleOptions): SimpleOptions; function getOptionsToObfuscate(instance: ModelWithOptions, obfuscateSensitive?: boolean): Promise<string[]>; function replaceObfuscatedOptions(instance: ModelWithOptions, options?: SimpleOptions, sourceFromEnvironment?: boolean): Promise<SimpleOptions>; } export {};