@grouparoo/core
Version:
The Grouparoo Core
54 lines (53 loc) • 2.63 kB
TypeScript
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 {};