JSFiddle - React, Tailwind, and code Playground

by Yurii Predborskyi

JavaScript

let query = {
	latFrom: 1,
  lngFrom: 1,
  latTo: 2,
  lngTo: 2,
	from: 'us nyc',
  to: 'us nyc'
};

function short(query, type) {
  let origin = query.from, destination = query.to;

  if (type[0] === 'd') {
    // from Door
    origin = {
      lng: query.lngFrom,
      lat: query.latFrom
    };
  }

  if (type[2] === 'd') {
    destination = {
      lng: query.lngTo,
      lat: query.latTo
    };
  }
	return { origin, destination };
}

function long(query, type) {
	let origin, destination;
  switch (type){
    case "p2p":
      origin = query.from;
      destination = query.to;
      break;
    case "p2d":
      origin = query.from;
      destination = {
        lng: query.lngTo,
        lat: query.latTo
      };
      break;
    case "d2p":
      origin = {
        lng: query.lngFrom,
        lat: query.latFrom
      };
      destination = query.to;
      break;
    case "d2d":
      origin = {
        lng: query.lngFrom,
        lat: query.latFrom
      };
      destination = {
        lng: query.lngTo,
        lat: query.latTo
      };
      break
  }
  return {origin, destination};
}

console.log('p2p');
console.log(short(query, 'p2p'));
console.log(long(query, 'p2p'));

console.log('p2d');
console.log(short(query, 'p2d'));
console.log(long(query, 'p2d'));

console.log('d2p');
console.log(short(query, 'd2p'));
console.log(long(query, 'd2p'));

console.log('d2d');
console.log(short(query, 'd2d'));
console.log(long(query, 'd2d'));