All files / _utils/core/components/vehicle vehicle-ids.ts

100% Statements 51/51
100% Branches 18/18
100% Functions 23/23
100% Lines 51/51

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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127                                                3x 1x     3x 19x     3x   3x 21x 1x   20x 5x   15x         3x 3x     3x 2x   3x 2x     3x 2x     3x 2x     3x 2x     3x 2x     3x 2x     3x 2x     3x 3x     3x 3x     3x 2x     3x 3x     3x 2x     3x 2x     3x 2x     3x 2x     3x 2x     3x 2x     3x 2x        
import { VehicleId, VehicleIds } from '../../../../_types/core/components/vehicle';
import { MODE_BICYCLE } from '../../../../_types/core/modes/MODE_BICYCLE';
import { MODE_BUS } from '../../../../_types/core/modes/MODE_BUS';
import { MODE_BUSISH } from '../../../../_types/core/modes/MODE_BUSISH';
import { MODE_CABLE_CAR } from '../../../../_types/core/modes/MODE_CABLE_CAR';
import { MODE_CAR } from '../../../../_types/core/modes/MODE_CAR';
import { MODE_FERRY } from '../../../../_types/core/modes/MODE_FERRY';
import { MODE_FUNICULAR } from '../../../../_types/core/modes/MODE_FUNICULAR';
import { MODE_GONDOLA } from '../../../../_types/core/modes/MODE_GONDOLA';
import { MODE_RAIL } from '../../../../_types/core/modes/MODE_RAIL';
import { MODE_SCOOTER } from '../../../../_types/core/modes/MODE_SCOOTER';
import { MODE_SHARED_BICYCLE } from '../../../../_types/core/modes/MODE_SHARED_BICYCLE';
import { MODE_SHARED_CAR } from '../../../../_types/core/modes/MODE_SHARED_CAR';
import { MODE_SHARED_E_BICYCLE } from '../../../../_types/core/modes/MODE_SHARED_E_BICYCLE';
import { MODE_SUBWAY } from '../../../../_types/core/modes/MODE_SUBWAY';
import { MODE_TAXI } from '../../../../_types/core/modes/MODE_TAXI';
import { MODE_TRAIN } from '../../../../_types/core/modes/MODE_TRAIN';
import { MODE_TRAINISH } from '../../../../_types/core/modes/MODE_TRAINISH';
import { MODE_TRAM } from '../../../../_types/core/modes/MODE_TRAM';
import { MODE_TRANSIT } from '../../../../_types/core/modes/MODE_TRANSIT';
import { MODE_WALK } from '../../../../_types/core/modes/MODE_WALK';
 
export type Nullable<A> = A | undefined | null;
 
export function flatten(ids: Array<VehicleIds>): VehicleIds {
  return ids.flat() as VehicleIds;
}
 
export function fromArray(ids: Array<VehicleId>): VehicleIds {
  return ids as VehicleIds;
}
 
export const empty: VehicleIds = fromArray([]);
 
export function fromNullableVehicleId(nullable: Nullable<VehicleId>): VehicleIds {
  if (nullable === null) {
    return empty;
  }
  if (typeof nullable === 'undefined') {
    return empty;
  }
  return fromArray([nullable]);
}
 
/* eslint-disable @typescript-eslint/naming-convention */
 
export function fromMODE_BICYCLE(mode: MODE_BICYCLE): VehicleIds {
  return fromNullableVehicleId(mode.bike?.id);
}
 
export function fromMODE_BUS(_mode: MODE_BUS): VehicleIds {
  return empty;
}
export function fromMODE_BUSISH(_mode: MODE_BUSISH): VehicleIds {
  return empty;
}
 
export function fromMODE_CABLE_CAR(_mode: MODE_CABLE_CAR): VehicleIds {
  return empty;
}
 
export function fromMODE_CAR(mode: MODE_CAR): VehicleIds {
  return fromNullableVehicleId(mode.id);
}
 
export function fromMODE_FERRY(_mode: MODE_FERRY): VehicleIds {
  return empty;
}
 
export function fromMODE_FUNICULAR(_mode: MODE_FUNICULAR): VehicleIds {
  return empty;
}
 
export function fromMODE_GONDOLA(_mode: MODE_GONDOLA): VehicleIds {
  return empty;
}
 
export function fromMODE_RAIL(_mode: MODE_RAIL): VehicleIds {
  return empty;
}
 
export function fromMODE_SCOOTER(mode: MODE_SCOOTER): VehicleIds {
  return fromNullableVehicleId(mode.scooter?.id);
}
 
export function fromMODE_SHARED_BICYCLE(mode: MODE_SHARED_BICYCLE): VehicleIds {
  return fromNullableVehicleId(mode.bike?.id);
}
 
export function fromMODE_SHARED_CAR(mode: MODE_SHARED_CAR): VehicleIds {
  return fromNullableVehicleId(mode.id);
}
 
export function fromMODE_SHARED_E_BICYCLE(mode: MODE_SHARED_E_BICYCLE): VehicleIds {
  return fromNullableVehicleId(mode.bike?.id);
}
 
export function fromMODE_SUBWAY(_mode: MODE_SUBWAY): VehicleIds {
  return empty;
}
 
export function fromMODE_TAXI(mode: MODE_TAXI): VehicleIds {
  return fromNullableVehicleId(mode.vehicleId);
}
 
export function fromMODE_TRAIN(_mode: MODE_TRAIN): VehicleIds {
  return empty;
}
 
export function fromMODE_TRAINISH(_mode: MODE_TRAINISH): VehicleIds {
  return empty;
}
 
export function fromMODE_TRAM(_mode: MODE_TRAM): VehicleIds {
  return empty;
}
 
export function fromMODE_TRANSIT(_mode: MODE_TRANSIT): VehicleIds {
  return empty;
}
 
export function fromMODE_WALK(_mode: MODE_WALK): VehicleIds {
  return empty;
}
 
/* eslint-enable @typescript-eslint/naming-convention */