26 lines
1.7 KiB
TypeScript
26 lines
1.7 KiB
TypeScript
/* =============================================================================
|
|
* A00_Common/design/design_pipeline_base.ts
|
|
* 묶음 planline 의 저장 노선 종단 기준(PLAN 386-3) — 측점 한 벌을 묶음 입력(관 · 구조물)으로 셈.
|
|
*
|
|
* 종단도 `listed()`(design_profile)와 같은 셈 — 저장 상세 측점 + 구조물 · 관이 심는 측점(`listedBase`).
|
|
* 심는 측점 = 종단 보기 구조물 칸(`syncCrossDrainStations`) · 횡단 보기(`planMarkStations`)와 같은
|
|
* `planStations` → `plannedIrregular` — 보기가 종단도에 늦게 심어도 묶음은 다시 안 돎(옛 `baseMoved` 지움).
|
|
* 종류 = 구조물 정의 전부(보기와 같음). 화면 모듈을 끌어 묶음 대신 페이지(`design_shared`)가 옵션으로 넘김.
|
|
* ========================================================================== */
|
|
|
|
import { withPipeIds } from "./design_pipe_ids";
|
|
import type { PipelineInputs } from "./logic/design_pipeline_types";
|
|
import { plantedBase as plantedBaseWith } from "./logic/design_planted_base";
|
|
import type { PlanType } from "../../common_util/common_util_structure_station";
|
|
import type { AlignmentBase } from "../../B05_Profile/logic/B05_Profile_UI_Profile_Alignment";
|
|
import type { SectionDetailResponse } from "../../B06_Section/B06_Section_Api_Fetch";
|
|
|
|
/** 저장 상세 + 지금 입력이 심는 측점 = 저장 노선 종단 기준(셈 = logic) · 관 id = 세션 장부(`withPipeIds`). */
|
|
export function plantedBase(
|
|
source: { base: AlignmentBase | null; detail?: SectionDetailResponse | null },
|
|
inputs: Pick<PipelineInputs, "pipes" | "structures">,
|
|
types: ReadonlyArray<PlanType>,
|
|
): AlignmentBase | null {
|
|
return plantedBaseWith(source, inputs, types, (pipes) => withPipeIds(pipes));
|
|
}
|