@dynamic-data/lyft-mockups
Version:
Dynamic Data Faker for Lyft
284 lines (241 loc) • 8.58 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var utils = require('@dynamic-data/utils');
var MOCK = require('@dynamic-data/lyft-data');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var MOCK__default = /*#__PURE__*/_interopDefaultLegacy(MOCK);
var RideModel = {
display_name: function display_name(ride_type) {
switch (ride_type) {
case "lyft":
return "Lyft";
case "lyft_line":
return "Lyft Line";
case "lyft_plus":
return "Lyft Plus";
case "lyft_luxsuv":
return "Lyft Lux SUV";
case "lyft_premier":
return "Lyft Premier";
case "lyft_lux":
return "Lyft Lux";
default:
return utils.getRandomString(utils.getRandomInt(5, 15));
}
},
ride_type: function ride_type() {
return utils.pickRandomValue(["lyft", "lyft_line", "lyft_plus", "lyft_luxsuv", "lyft_lux", "lyft_premier"]);
},
eta_seconds: function eta_seconds() {
return utils.getRandomInt(0, 1000);
},
estimated_cost_cents_max: function estimated_cost_cents_max() {
return utils.getRandomInt(10, 500);
},
estimated_cost_cents_min: function estimated_cost_cents_min() {
return utils.getRandomInt(10, 500);
},
estimated_distance_miles: function estimated_distance_miles() {
return utils.getRandomInt(10, 5000);
},
estimated_duration_seconds: function estimated_duration_seconds() {
return utils.getRandomInt(10, 500);
},
cost_token: function cost_token() {
return utils.randomUUID();
},
is_valid_estimate: function is_valid_estimate() {
return utils.getRandBool();
}
};
var RideTypesModel = {
display_name: function display_name(ride_type) {
switch (ride_type) {
case "lyft":
return "Lyft";
case "lyft_line":
return "Lyft Line";
case "lyft_plus":
return "Lyft Plus";
case "lyft_luxsuv":
return "Lyft Lux SUV";
case "lyft_premier":
return "Lyft Premier";
case "lyft_lux":
return "Lyft Lux";
default:
return utils.getRandomString(utils.getRandomInt(5, 15));
}
},
ride_type: function ride_type() {
return utils.pickRandomValue(["lyft", "lyft_line", "lyft_plus", "lyft_luxsuv", "lyft_lux", "lyft_premier"]);
},
image_url: function image_url() {
return "https://cdn.lyft.com/assets/car_plus.png";
},
pricing_details: function pricing_details() {
return {
base_charge: utils.getRandomInt(0, 1000),
cost_per_mile: utils.getRandomInt(0, 100),
cost_per_minute: utils.getRandomInt(0, 100),
cost_minimum: utils.getRandomInt(0, 700),
trust_and_service: utils.getRandomInt(0, 300),
currency: utils.randomCurrency("SIMPLE WEST ISO-4217").code,
cancel_penalty_amount: utils.getRandomInt(0, 1000)
};
},
seats: function seats() {
return utils.getRandomInt(0, 6);
}
};
var NearbyDriversModel = {
locations: function locations() {
return {
lat: 37.7746225247,
lng: -122.455451083
};
},
ride_type: function ride_type() {
return utils.pickRandomValue(["lyft", "lyft_line", "lyft_plus"]);
}
};
var dataModels = {
DriverETA: {
data: MOCK__default["default"].driverETA,
mockup: RideModel
},
NearbyDrivers: {
data: MOCK__default["default"].nearby_drivers,
mockup: NearbyDriversModel
},
RideEstimates: {
data: MOCK__default["default"].rideEstimates,
mockup: RideModel
},
RideTypes: {
data: MOCK__default["default"].rideTypes,
mockup: RideTypesModel
}
};
function getModelCSVHeader(dataModel) {
return dataModels[dataModel].data[0].split("\t");
}
function getDriverETAMockupData(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["eta_estimates"] = [mockupData["eta_estimates"][0]];
for (var index = 0; index < mockupData["eta_estimates"].length; index++) {
["ride_type", "display_name", "eta_seconds", "is_valid_estimate"].forEach(function (key, i) {
switch (key) {
case "display_name":
mockupData["eta_estimates"][index][key] = mockupModel[key](mockupData["eta_estimates"][index]["ride_type"]);
break;
default:
mockupData["eta_estimates"][index][key] = mockupModel[key]();
break;
}
});
}
return mockupData;
}
function getNearbyDriversMockupData(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["nearby_drivers"] = [mockupData["nearby_drivers"][0]];
mockupData["nearby_drivers"][0]["drivers"] = [mockupData["nearby_drivers"][0]["drivers"][0]];
for (var index = 0; index < mockupData["nearby_drivers"][0]["drivers"].length; index++) {
["locations", "ride_type"].forEach(function (key, i) {
switch (key) {
case "locations":
mockupData["nearby_drivers"][0]["drivers"][index][key] = [mockupData["nearby_drivers"][0]["drivers"][index][key][0]];
mockupData["nearby_drivers"][0]["drivers"][index][key][0] = mockupModel[key]();
break;
default:
mockupData["nearby_drivers"][0]["drivers"][index][key] = mockupModel[key]();
break;
}
});
}
return mockupData;
}
function getRideEstimatesMockupData(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["cost_estimates"] = [mockupData["cost_estimates"][0]];
for (var index = 0; index < mockupData["cost_estimates"].length; index++) {
["ride_type", "display_name", "estimated_cost_cents_max", "estimated_cost_cents_min", "estimated_distance_miles", "estimated_duration_seconds", "cost_token", "is_valid_estimate"].forEach(function (key, i) {
switch (key) {
case "display_name":
mockupData["cost_estimates"][index][key] = mockupModel[key](mockupData["cost_estimates"][index]["ride_type"]);
break;
default:
mockupData["cost_estimates"][index][key] = mockupModel[key]();
break;
}
});
}
return mockupData;
}
function getRideTypesMockupData(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["ride_types"] = [mockupData["ride_types"][0]];
for (var index = 0; index < mockupData["ride_types"].length; index++) {
["ride_type", "display_name", "image_url", "pricing_details", "seats"].forEach(function (key, i) {
switch (key) {
case "display_name":
mockupData["ride_types"][index][key] = mockupModel[key](mockupData["ride_types"][index]["ride_type"]);
break;
default:
mockupData["ride_types"][index][key] = mockupModel[key]();
break;
}
});
}
return mockupData;
}
exports.getDriverETAMockupData = getDriverETAMockupData;
exports.getModelCSVHeader = getModelCSVHeader;
exports.getNearbyDriversMockupData = getNearbyDriversMockupData;
exports.getRideEstimatesMockupData = getRideEstimatesMockupData;
exports.getRideTypesMockupData = getRideTypesMockupData;