@sap/adp-abap
Version:
abap service for all yeoman generators
56 lines (55 loc) • 2.04 kB
TypeScript
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>;
}