@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
199 lines • 8.89 kB
TypeScript
import { Reader } from 'properties-reader';
import { ErrorFilter, ExportMetaData, ResultCallback } from '../ops/OpsTypes';
import { State } from '../shared/State';
export type ExportImport = {
getMetadata(): ExportMetaData;
titleCase(input: string): string;
getRealmString(): string;
convertBase64TextToArray(b64text: string): any[];
convertBase64UrlTextToArray(b64UTF8Text: string): any[];
convertTextArrayToBase64(textArray: string[]): string;
convertTextArrayToBase64Url(textArray: string[]): any;
validateImport(metadata: any): boolean;
getTypedFilename(name: string, type: string, suffix?: string): string;
getWorkingDirectory(mkdirs?: boolean): string;
getFilePath(fileName: string, mkdirs?: boolean): string;
saveToFile(type: string, data: object, identifier: string, filename: string, includeMeta?: boolean): void;
/**
* Save JSON object to file
* @param {Object} data data object
* @param {String} filename file name
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
* @return {boolean} true if successful, false otherwise
*/
saveJsonToFile(data: object, filename: string, includeMeta?: boolean): boolean;
/**
* Save text data to file
* @param data text data
* @param filename file name
* @return true if successful, false otherwise
*/
saveTextToFile(data: string, filename: string): boolean;
/**
* Append text data to file
* @param {String} data text data
* @param {String} filename file name
*/
appendTextToFile(data: string, filename: string): void;
/**
* Find files by name
* @param {string} fileName file name to search for
* @param {boolean} fast return first result and stop search
* @param {string} path path to directory where to start the search
* @returns {string[]} array of found file paths relative to starting directory
*/
findFilesByName(fileName: string, fast?: boolean, path?: string): string[];
/**
* find all (nested) files in a directory
*
* @param directory directory to search
* @returns list of files
*/
readFiles(directory: string): Promise<{
path: string;
content: string;
}[]>;
substituteEnvParams(input: string, reader: Reader): string;
unSubstituteEnvParams(input: string, reader: Reader): string;
parseUrl(href: string): any;
/**
* Check if a string is a valid URL
* @param {string} urlString input string to be evaluated
* @returns {boolean} true if a valid URL, false otherwise
*/
isValidUrl(urlString: string): boolean;
};
declare const _default: (state: State) => ExportImport;
export default _default;
export declare function getMetadata({ state }: {
state: State;
}): ExportMetaData;
export declare function titleCase(input: string): string;
export declare function getRealmString({ state }: {
state: State;
}): string;
export declare function convertBase64TextToArray(b64text: string): any[];
export declare function convertBase64UrlTextToArray(b64UTF8Text: string): any[];
export declare function convertTextArrayToBase64(textArray: string[]): string;
export declare function convertTextArrayToBase64Url(textArray: string[]): any;
export declare function validateImport(metadata: any): boolean;
export declare function getTypedFilename(name: string, type: string, suffix?: string): string;
export declare function getWorkingDirectory({ mkdirs, state, }: {
mkdirs: boolean;
state: State;
}): string;
/**
* Get the file path to a file in the working directory. If working directory does not exist, it will return the fileName as the file path.
* @param fileName The file name
* @param mkdirs If directories to working directory don't exist, makes the directories if true, and if false does not make the directories. Default: false
* @return The file path to the file in the working directory
*/
export declare function getFilePath({ fileName, mkdirs, state, }: {
fileName: string;
mkdirs: boolean;
state: State;
}): string;
/**
* Save to file
* @param {any} data data object
* @param {string} filename file name
*/
export declare function saveToFile({ type, data, identifier, filename, includeMeta, state, }: {
type: string;
data: object;
identifier: string;
filename: string;
includeMeta: boolean;
state: State;
}): void;
/**
* Save JSON object to file
* @param {object} data data object
* @param {string} filename file name
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
* @return {boolean} true if successful, false otherwise
*/
export declare function saveJsonToFile({ data, filename, includeMeta, state, }: {
data: object;
filename: string;
includeMeta?: boolean;
state: State;
}): boolean;
/**
* Save text data to file
* @param data text data
* @param filename file name
* @return true if successful, false otherwise
*/
export declare function saveTextToFile({ data, filename, state, }: {
data: string;
filename: string;
state: State;
}): boolean;
/**
* Append text data to file
* @param {string} data text data
* @param {string} filename file name
*/
export declare function appendTextToFile(data: string, filename: string): void;
/**
* Find files by name
* @param {string} fileName file name to search for
* @param {boolean} fast return first result and stop search
* @param {string} path path to directory where to start the search
* @returns {string[]} array of found file paths relative to starting directory
*/
export declare function findFilesByName(fileName: string, fast?: boolean, path?: string): string[];
/**
* find all (nested) files in a directory
*
* @param directory directory to search
* @returns list of files
*/
export declare function readFiles(directory: string): Promise<{
path: string;
content: string;
}[]>;
export declare function substituteEnvParams(input: string, reader: Reader): string;
export declare function unSubstituteEnvParams(input: string, reader: Reader): string;
export declare function parseUrl(href: string): any;
/**
* Check if a string is a valid URL
* @param {string} urlString input string to be evaluated
* @returns {boolean} true if a valid URL, false otherwise
*/
export declare function isValidUrl(urlString: string): boolean;
/**
* Performs an export given a function with its parameters with custom error handling that will just print the error if one is thrown and return null.
* @param func The export function.
* @param parameters The parameters to call the export function with. By default, it is { state }.
* @param type The type (plural) of the entities being imported
* @param {ResultCallback} resultCallback Optional callback to process individual results
* @param perform Performs and returns the export if true, otherwise returns null. Default: true
* @returns {Promise<R | null>} Returns the result of the export function, or null if an error is thrown or perform is false
*/
export declare function exportWithErrorHandling<P extends {
state: State;
}, R>(func: (params: P) => Promise<R>, parameters: P, type: string, resultCallback?: any, perform?: boolean): Promise<R | null>;
/**
* Performs an import given a function with its parameters with custom error handling that will just print the error if one is thrown and return null.
* @param func The import function.
* @param parameters The parameters to call the import function with. By default, it is { state }.
* @param id Indicator id for the progress indicator
* @param type The type (plural) of the entities being imported
* @param {ResultCallback} resultCallback Optional callback to process individual results
* @param perform Performs and returns the export if true, otherwise returns null. Default: true
* @returns {Promise<R | null>} Returns the result of the import function, or null if an error is thrown
*/
export declare function importWithErrorHandling<P extends {
state: State;
}, R>(func: (params: P) => Promise<R>, parameters: P, id: string, type: string, resultCallback?: any, perform?: boolean): Promise<R | null>;
export declare function getResult<R>(resultCallback: ResultCallback<R> | undefined, errorMessage: string, func: (...params: any) => Promise<R>, ...parameters: any): Promise<R>;
/**
* Transforms a ResultCallback into another ResultCallback that handles only errors and ignores results.
* @param resultCallback The result callback function
* @param errorFilter Filter that returns true when the error should be handled, false otherwise
* @returns The new result callback function that handles only errors
*/
export declare function getErrorCallback<R>(resultCallback: ResultCallback<R>, errorFilter?: ErrorFilter): ResultCallback<R>;
//# sourceMappingURL=ExportImportUtils.d.ts.map