UNPKG

@salesforce/source-deploy-retrieve

Version:

JavaScript library to run Salesforce metadata deploys and retrieves

77 lines (76 loc) 2.77 kB
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; }