@salesforce/source-deploy-retrieve
Version:
JavaScript library to run Salesforce metadata deploys and retrieves
77 lines (76 loc) • 2.77 kB
TypeScript
import { MetadataRegistry, MetadataType } from './types';
export declare class RegistryAccess {
private registry;
private strictFolderTypes?;
private folderContentTypes?;
private aliasTypes?;
constructor(registry?: MetadataRegistry, projectDir?: string);
getRegistry(): MetadataRegistry;
/**
* Query a metadata type by its name.
*
* @param name - Case-insensitive name of the metadata type
* @returns The corresponding metadata type object
*/
getTypeByName(name: string): MetadataType;
/**
* Query a metadata type by its file suffix.
*
* @param suffix - File suffix of the metadata type
* @returns The corresponding metadata type object
*/
getTypeBySuffix(suffix: string): MetadataType | undefined;
/**
* Find similar metadata type matches by its file suffix
*
* @param suffix - File suffix of the metadata type
* @returns An array of similar suffix and metadata type matches
*/
guessTypeBySuffix(suffix: string): Array<{
suffixGuess: string;
metadataTypeGuess: MetadataType;
}> | undefined;
/**
* Searches for the first metadata type in the registry that returns `true`
* for the given predicate function.
*
* Can return undefined if no type matches the predicate.
*
* @param predicate - Predicate to test types with
* @returns The first metadata type object that fulfills the predicate
*/
findType(predicate: (type: MetadataType) => boolean): MetadataType | undefined;
/**
* Query the types that require a strict parent directory
*
* @see {@link MetadataType.strictDirectoryName}
*
* @returns An array of metadata type objects that require strict parent folder names
*/
getStrictFolderTypes(): MetadataType[];
/**
* Query for the types that have the folderContentType property defined.
* E.g., reportFolder, dashboardFolder, documentFolder, emailFolder
*
* @see {@link MetadataType.folderContentType}
*
* @returns An array of metadata type objects that have folder content
*/
getFolderContentTypes(): MetadataType[];
/**
* Query for the types that have the aliasFor property defined.
* E.g., EmailTemplateFolder
*
* @see {@link MetadataType.aliasFor}
*
* @returns An array of metadata type objects that have aliasFor
*/
getAliasTypes(): MetadataType[];
/**
* Return the parent metadata type from the registry for the given child type
*
* @param childName - Child metadata type name
* @returns Parent metadata type object or undefined if no parent exists
*/
getParentType(childName: string): MetadataType | undefined;
}