UNPKG

specpress

Version:

Export PDF and/or DOCX files from a subset of Markdown, ASN.1 and JSON files

92 lines (91 loc) 4.3 kB
import { BaseClass, BaseList } from "./Utils.js"; import { BC_ID } from "./BC_ID.js"; import { RAN4JsonEncoder } from "./JsonTools.js"; import { HtmlTable } from "./HtmlTable.js"; /** * An uplink configuration entry within a dual connectivity band combination. * * Each UlConfigDC identifies one UL component by its BC-ID, and may carry * optional specification notes. */ export declare class UlConfigDC extends BaseClass { /** The BC-ID of this UL configuration (parsed or raw string). */ bcId: BC_ID | string | null; /** Optional specification notes. */ notes: Record<string, unknown>; /** * @param aValue — a dict from JSON or an existing UlConfigDC to copy. * @param aParent — the parent DualConnectivityConfig. * @param validateBcIds — if true, parse bcId strings into BC_ID objects. */ constructor(aValue: Record<string, unknown> | UlConfigDC, aParent?: BaseClass | null, validateBcIds?: boolean); /** Validates that bcId is present. */ validate(): void; toJSON(anEncoder: RAN4JsonEncoder, aLevel: number): void; toString(): string; getTag(): string; } /** * A dual connectivity band combination configuration. * * Represents one DC entry (EN-DC, NE-DC, or NR-DC) with its DL BC-ID, * list of UL configurations, and optional flags for single-UL and * DL-interruptions. Corresponds to one `DC_*.json` file. */ export declare class DualConnectivityConfig extends BaseClass { /** The DL BC-ID (parsed or raw string). */ bcId: BC_ID | string | null; /** List of uplink configurations for this DC combination. */ ulConfigList: UlConfigDC[]; /** Whether single UL is allowed (e.g. "yes", "no"), or null if not specified. */ singleUlAllowed: string | null; /** Whether DL interruptions are allowed, or null if not specified. */ dlInterruptionsAllowed: string | null; /** Optional specification notes. */ notes: Record<string, unknown>; /** * @param aValue — a dict from JSON or an existing DualConnectivityConfig to copy. * @param aParent — the parent DcBandCombinationList. * @param validateBcIds_DL — if true, parse the DL bcId string into a BC_ID. * @param validateBC_IDs_UL — if true, parse UL bcId strings into BC_ID objects. */ constructor(aValue: Record<string, unknown> | DualConnectivityConfig, aParent?: BaseClass | null, validateBcIds_DL?: boolean, validateBC_IDs_UL?: boolean); /** Validates that bcId is present. */ validate(): void; toString(): string; getTag(): string; toJSON(anEncoder: RAN4JsonEncoder, aLevel: number): void; toHTML(aHtmlTable: HtmlTable, aRow?: number, aColumn?: number): void; } /** * Collection of dual connectivity band combination configurations. * * Keyed by BC-ID value string. Supports loading from individual `DC_*.json` * files, validation, and export to JSON or HTML. */ export declare class DcBandCombinationList extends BaseList { /** HTML table used for HTML export. */ html: HtmlTable; /** Whether to parse DL BC-IDs into BC_ID objects during loading. */ validatingBC_IDs_DL: boolean; /** Whether to parse UL BC-IDs into BC_ID objects during loading. */ validatingBC_IDs_UL: boolean; constructor(aParent?: BaseClass | null, validateBcIds_DL?: boolean, validateBcIds_UL?: boolean); protected _createEntry(aValue: unknown, aParent: BaseList): BaseClass; protected _getEntryId(anEntry: BaseClass): string; /** Returns true if a DC configuration with the given BC-ID exists. */ hasBC(aBcId: string): boolean; protected _getTargetSubfolder(anEntry: BaseClass): string; protected _getFileName(anEntry: BaseClass): string; /** Exports all DC configurations to an HTML table file, sorted by BC-ID. */ storeAsHtmlFile(aFileName: string): void; /** Adds standard DC table headers to the given HTML table. */ static addTableHeaders(aHtmlTable: HtmlTable): void; /** * Renders a single DC configuration as a complete HTML table string. * @param data — Raw JSON object containing DC data * @returns HTML table string with headers and one DC row */ static renderAsHtml(data: Record<string, unknown>): string; toJSON(anEncoder: RAN4JsonEncoder, aLevel: number): void; }