un-oj
Version:
Unified Online Judge information collector.
31 lines (29 loc) • 1.31 kB
TypeScript
import { Platform, PlatformOptions, Problem } from "./platform-DVQwRMI1.js";
//#region src/platforms/hydro.d.ts
type ProblemType = 'traditional' | 'interactive' | 'submission' | 'objective';
/**
* HydroOJ-specific problem type.
*
* - Samples are **not** omitted in the description
* - Description is [Hydro-flavored Markdown](https://docs.hydro.ac/docs/Hydro/user/problem)
*/
type Problem$1 = Problem<string, number, number, string[], ProblemType>;
/**
* Parses the problem document from Hydro-like platforms.
* @param pdoc The `pdoc` field from the API response.
* @param lang The language code, defaults to the first appeared language in the content.
* @returns The parsed problem object, @{link Problem.link} is empty string.
*/
declare function parseHydroProblem(pdoc: any, lang?: string): Problem$1;
declare const DEFAULT_BASE_URL = "https://hydro.ac";
/** HydroOJ platform. */
declare class Hydro extends Platform<string> {
constructor(options?: PlatformOptions<string>);
/**
* Fetches a problem from HydroOJ using internal API.
* @param domain The domain the problem belongs to, defaults to the system domain.
*/
getProblem(id: string, domain?: string): Promise<Problem$1>;
}
//#endregion
export { DEFAULT_BASE_URL, Hydro, Problem$1 as Problem, ProblemType, parseHydroProblem };