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
TypeScript
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;
}