All files / src/pages/flowsheet-page/economics/results-panel/model valueParsing.ts

80% Statements 12/15
68.18% Branches 15/22
100% Functions 0/0
76.92% Lines 10/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48  538x           190x       609x               95x 91x 91x       307x           278x           13x               382x    
export function objectValue(value: unknown): Record<string, unknown> | null {
  return value && typeof value === "object" && !Array.isArray(value)
    ? (value as Record<string, unknown>)
    : null;
}
 
export function arrayValue(value: unknown): unknown[] {
  return Array.isArray(value) ? value : [];
}
 
export function stringField(value: unknown) {
  return value == null ? "" : String(value);
}
 
export function numberLikeValue(value: unknown) {
  return typeof value === "number" || typeof value === "string" ? value : null;
}
 
export function numericField(value: unknown) {
  if (value == null || value === "") return null;
  const parsed = Number(value);
  return Number.isFinite(parsed) ? parsed : null;
}
 
export function scalarValue(value: unknown): string | number | boolean | null {
  if (value == null) return null;
  if (
    typeof value === "string" ||
    typeof value === "number" ||
    typeof value === "boolean"
  ) {
    return value;
  }
  return String(value);
}
 
export function numberValue(value: unknown) {
  return numericField(value);
}
 
export function slugKey(value: string) {
  return value.toLowerCase().replace(/[^a-z0-9]+/g, "-");
}
 
export function isPresent<T>(value: T | null | undefined): value is T {
  return value != null;
}