forked from jappel/leistungsbilanz-ts
Standardize phase type labels
This commit is contained in:
parent
084103bf54
commit
096ba8aa1c
23 changed files with 6117 additions and 52 deletions
|
|
@ -1,5 +1,39 @@
|
|||
export type ElectricalPhaseType = "single_phase" | "three_phase";
|
||||
|
||||
export function isElectricalPhaseType(
|
||||
value: unknown
|
||||
): value is ElectricalPhaseType {
|
||||
return value === "single_phase" || value === "three_phase";
|
||||
}
|
||||
|
||||
export function normalizeKnownElectricalPhaseType(
|
||||
value: string | null
|
||||
): ElectricalPhaseType | null {
|
||||
if (value === null) {
|
||||
return null;
|
||||
}
|
||||
const normalized = value
|
||||
.trim()
|
||||
.toLocaleLowerCase("de-DE")
|
||||
.replaceAll("-", "")
|
||||
.replaceAll("_", "");
|
||||
if (
|
||||
["1ph", "1phase", "1phasig", "einphasig", "singlephase"].includes(
|
||||
normalized
|
||||
)
|
||||
) {
|
||||
return "single_phase";
|
||||
}
|
||||
if (
|
||||
["3ph", "3phase", "3phasig", "dreiphasig", "threephase"].includes(
|
||||
normalized
|
||||
)
|
||||
) {
|
||||
return "three_phase";
|
||||
}
|
||||
throw new Error(`Unknown electrical phase type: ${value}`);
|
||||
}
|
||||
|
||||
export interface ProjectVoltageSettings {
|
||||
singlePhaseVoltageV: number;
|
||||
threePhaseVoltageV: number;
|
||||
|
|
@ -25,8 +59,7 @@ export function resolveCircuitPhaseType(
|
|||
return "single_phase";
|
||||
}
|
||||
const assignedPhaseTypes = devicePhaseTypes.filter(
|
||||
(phaseType): phaseType is ElectricalPhaseType =>
|
||||
phaseType === "single_phase" || phaseType === "three_phase"
|
||||
isElectricalPhaseType
|
||||
);
|
||||
return assignedPhaseTypes.length > 0 &&
|
||||
assignedPhaseTypes.every((phaseType) => phaseType === "three_phase")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue