UNPKG

@sap/adp-abap

Version:

abap service for all yeoman generators

56 lines (55 loc) 2.04 kB
import type { Manifest } from "@sap-ux/project-access"; import type { AbapProvider } from "./AbapProvider"; /** * Service class for handling operations related to application manifests. */ export declare class ManifestManager { private provider; private manifestCache; /** * Creates an instance of ManifestManager. * * @param {AbapProvider} provider - The ABAP provider service. */ constructor(provider: AbapProvider); /** * Resets the manifest cache. */ resetCache(): void; /** * Retrieves the cached manifest for a specified application. * * @param {string} id - The ID of the application whose manifest is needed. * @returns {Promise<Manifest | undefined>} The cached manifest or null if not available. */ getManifest(id: string): Promise<Manifest | undefined>; /** * Retrieves the cached manifest URL for a specified application. * * @param {string} id - The ID of the application whose manifest URL is needed. * @returns {Promise<string | undefined>} The cached URL or an empty string if not available. */ getUrl(id: string): Promise<string | undefined>; /** * Retrieves and caches the manifest URL and the manifest itself for a specific application. * Uses caching to avoid redundant network requests. * * @param {string} id - The ID of the application for which to load the manifest. * @returns {Promise<void>} The manifest URL. */ private loadManifestUrl; /** * Fetches and stores the application manifest from a URL. * * @param {string} id - The application ID. * @returns {Promise<Manifest>} The fetched manifest. */ private loadManifest; /** * Determines if the application supports manifest-first approach and manifest url exists. * * @param {string} id - The application ID. * @returns {Promise<boolean>} True if supported, otherwise throws an error. */ isAppSupported(id: string): Promise<boolean>; }