UNPKG

@jirkasa/code-box

Version:

Showcase code samples on the web with a container that lets users select and display different samples.

51 lines (50 loc) 2.27 kB
/** Info about package side of mapping. */ type PackageItem = { /** Package name. */ packageName: string | null; /** File name. */ fileName: string; }; /** Maps packages and folder paths for code views and files. */ declare class FolderAndPackageMapping { /** Packages stored by file folder paths. */ private folderPathsToPackages; /** File folder paths stored by packages (Contains maps by package names. These maps store folder path + file name by file name.). */ private packages; /** * Adds new mapping. * @param fileName File name. * @param folderPath Folder path (null can be used for root folder). * @param packageName Package name (null for default package). */ add(fileName: string, folderPath: string | null, packageName: string | null): void; /** * Returns file folder path based on passed package name and file name. * @param packageName Package name (null for default package). * @param fileName File name. * @returns File folder path (folder path + file name). */ getFileFolderPathByPackageItem(packageName: string | null, fileName: string): string | null; /** * Returns package item based on passed folder path and file name. * @param folderPath Folder path (null can be used for root folder). * @param fileName File name. * @returns Package item (info about package side of mappping: package name and file name). */ getPackageItemByFileFolderPath(folderPath: string | null, fileName: string): PackageItem | null; /** * Removes mapping based on passed folder path and file name. * @param folderPath Folder path (null can be used for root folder). * @param fileName File name. * @returns Indicates whether mapping was successfully removed. */ removeByFileFolderPath(folderPath: string | null, fileName: string): boolean; /** * Removes mapping based on passed package name and file name. * @param packageName Package name (null for default package). * @param fileName File name. * @returns Indicates whether mapping was successfully removed. */ removeByPackageItem(packageName: string | null, fileName: string): boolean; } export default FolderAndPackageMapping;