UNPKG

@dynamic-data/lyft-mockups

Version:
284 lines (241 loc) 8.58 kB
'use strict'; 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;