UNPKG

@dynamic-data/google-mockups

Version:
417 lines (376 loc) 12.5 kB
import { getRandomInt } from '@dynamic-data/utils'; import MOCK from '@dynamic-data/google-data'; var RoutesModel = { startLocation: function startLocation() { return { latitudeE7: getRandomInt(-900000000, 900000000), longitudeE7: getRandomInt(-1800000000, 1800000000) }; }, endLocation: function endLocation() { return { latitudeE7: getRandomInt(-900000000, 900000000), longitudeE7: getRandomInt(-1800000000, 1800000000) }; }, distance: function distance() { return getRandomInt(0, 9999); }, confidence: function confidence() { var categories = ["LOW", "MEDIUM", "HIGH"]; return categories[getRandomInt(0, categories.length - 1)]; }, activityType: function activityType() { var types = ["IN_PASSENGER_VEHICLE", "IN_BUS", "IN_TRAIN"]; return types[getRandomInt(0, types.length - 1)]; }, startTimestamp: function startTimestamp() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(1, 23), getRandomInt(1, 59), getRandomInt(1, 59), getRandomInt(1, 999)); return finalDate.toISOString(); }, endTimestamp: function endTimestamp(startTime) { var x = parseISOString(startTime); x.setMilliseconds(x.getSeconds() + getRandomInt(0, 36000000)); return x.toISOString(); } }; function parseISOString(s) { var b = s.split(/\D+/); return new Date(Date.UTC(b[0], --b[1], b[2], b[3], b[4], b[5], b[6])); } var PlacesModel = { latitudeE7: function latitudeE7() { return getRandomInt(-900000000, 900000000); }, longitudeE7: function longitudeE7() { return getRandomInt(-1800000000, 1800000000); }, address: function address() { //Needs Improvement var string = ""; var digits = "0123456789"; var letters = "abcdefghijklmnopqrstuvwxyz"; var digitLength = getRandomInt(1, 3); for (var i = 0; i < digitLength; i++) { string += digits.charAt(Math.floor(Math.random() * digits.length)); } string += " "; for (var y = 0; y < 3; y++) { var x = getRandomInt(5, 20); for (var i = 0; i < x; i++) { string += letters.charAt(Math.floor(Math.random() * letters.length)); if (i === 10 && x > 14) { string += " "; } } if (y + 1 !== 3) { string += "\n"; } } var words = string.split("\n"); for (var i = 0; i < words.length; i++) { words[i] = words[i][0].toUpperCase() + words[i].toString().substring(1); } words = words.join("\n"); words = words.split(" "); for (var i = 0; i < words.length; i++) { words[i] = words[i][0].toUpperCase() + words[i].toString().substring(1); } string = words.join(" "); return string; }, name: function name() { var string = ""; var letters = "abcdefghijklmnopqrstuvwxyz"; getRandomInt(1, 3); var x = getRandomInt(5, 20); for (var i = 0; i < x; i++) { string += letters.charAt(Math.floor(Math.random() * letters.length)); if (i === 10 && x > 14) { string += " "; } } var words = string.split(" "); for (var _i = 0; _i < words.length; _i++) { words[_i] = words[_i][0].toUpperCase() + words[_i].substring(1); } string = words.join(" "); return string; }, locationConfidence: function locationConfidence() { return getRandomInt(0, 100); }, placeConfidence: function placeConfidence() { var confidence = ['HIGH_CONFIDENCE', "MEDIUM_CONFIDENCE", "LOW_CONFIDENCE"]; return confidence[getRandomInt(0, confidence.length - 1)]; }, visitConfidence: function visitConfidence() { return getRandomInt(0, 100); }, placeVisitType: function placeVisitType() { var types = ['SINGLE_PLACE', "TYPE_PLACE_2", "TYPE_PLACE_3"]; return types[getRandomInt(0, types.length - 1)]; }, placeVisitImportance: function placeVisitImportance() { var importance = ['MAIN', "PLACE_IMPORTANCE_2", "PLACE_IMPORTANCE_3"]; return importance[getRandomInt(0, importance.length - 1)]; }, startTimestamp: function startTimestamp() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(1, 23), getRandomInt(1, 59), getRandomInt(1, 59), getRandomInt(1, 999)); return finalDate.toISOString(); }, endTimestamp: function endTimestamp(startTime) { var x = parseISOString(startTime); x.setMilliseconds(x.getSeconds() + getRandomInt(0, 36000000)); return x.toISOString(); } }; var LocationsModel = { p_timestamp: function p_timestamp(date) { var x = new Date(date); return x.getTime(); }, p_datetime: function p_datetime() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(1, 23), getRandomInt(1, 59), getRandomInt(1, 59), getRandomInt(1, 999)); return finalDate.toISOString(); }, p_latitude: function p_latitude() { return getRandomInt(-900000000, 900000000); }, p_longitude: function p_longitude() { return getRandomInt(-1800000000, 1800000000); }, p_accuracy: function p_accuracy() { return getRandomInt(0, 100); }, p_altitude: function p_altitude() { return getRandomInt(0, 1500); }, p_verticalaccuracy: function p_verticalaccuracy() { return getRandomInt(0, 100); }, p_heading: function p_heading() { return getRandomInt(0, 359); } }; var ActivityModel = { p_timestamp: function p_timestamp(date) { var x = new Date(date); return x.getTime(); }, p_datetime: function p_datetime() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(1, 23), getRandomInt(1, 59), getRandomInt(1, 59), getRandomInt(1, 999)); return finalDate.toISOString(); }, p_type: function p_type() { var types = ["STILL", "TYPE_2", "TYPE_3"]; return types[getRandomInt(0, types.length - 1)]; }, p_confidence: function p_confidence() { return getRandomInt(0, 100); } }; var dataModels = { ActivityObject: { data: MOCK.ActivityObject, mockup: ActivityModel }, Activity: { data: MOCK.Activity, mockup: ActivityModel }, LocationObject: { data: MOCK.LocationObject, mockup: LocationsModel }, Location: { data: MOCK.Location, mockup: LocationsModel }, Places: { data: MOCK.Places, mockup: PlacesModel }, Routes: { data: MOCK.Routes, mockup: RoutesModel } }; function getModelCSVHeader(dataModel) { return dataModels[dataModel].data[0].split("\t"); } function getActivityMockupData(dataType, dataModel, dataDate) { var mockupData = {}; var mockupModel = dataModels[dataModel].mockup; if (dataType === "SYNC") { mockupData = dataModels[dataModel].data; } if (dataType === "ASYNC") { var length = dataModels[dataModel].data.length; var mockupDataHeader = dataModels[dataModel].data[0].split("\t"); var final = []; for (var i = 1; i < length; i++) { var mockupDataRow = dataModels[dataModel].data[1].split("\t"); mockupDataHeader.forEach(function (k, i) { mockupData[k] = mockupDataRow[i]; }); final.push(Object.assign({}, mockupData)); } mockupData = final; } mockupData.forEach(function (object) { ["p_confidence", "p_type", "p_datetime", "p_timestamp"].forEach(function (key, i) { switch (key) { case "p_timestamp": object[key] = mockupModel[key](object["p_datetime"]); break; case "p_datetime": case "p_type": case "p_confidence": object[key] = mockupModel[key](); break; } }); }); return mockupData; } function getLocationMockupData(dataType, dataModel, dataDate) { var mockupData = {}; var mockupModel = dataModels[dataModel].mockup; if (dataType === "SYNC") { mockupData = dataModels[dataModel].data; } if (dataType === "ASYNC") { var length = dataModels[dataModel].data.length; var mockupDataHeader = dataModels[dataModel].data[0].split("\t"); var final = []; for (var i = 1; i < length; i++) { var mockupDataRow = dataModels[dataModel].data[1].split("\t"); mockupDataHeader.forEach(function (k, i) { mockupData[k] = mockupDataRow[i]; }); final.push(Object.assign({}, mockupData)); } mockupData = final; } mockupData.forEach(function (object) { ["p_latitude", "p_longitude", "p_accuracy", "p_altitude", "p_verticalaccuracy", "p_heading", "p_datetime", "p_timestamp"].forEach(function (key, i) { switch (key) { case "p_timestamp": object[key] = mockupModel[key](object["p_datetime"]); break; case "p_datetime": case "p_latitude": case "p_longitude": case "p_accuracy": case "p_altitude": case "p_verticalaccuracy": case "p_heading": object[key] = mockupModel[key](); break; } }); }); return mockupData; } function getPlacesMockupData(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]; }); } ["latitudeE7", "longitudeE7", "address", "name", "locationConfidence", "placeConfidence", "visitConfidence", "placeVisitType", "placeVisitImportance", "startTimestamp", "endTimestamp"].forEach(function (key, i) { switch (key) { case "endTimestamp": mockupData[key] = mockupModel[key](mockupData["startTimestamp"]); break; case "latitudeE7": case "longitudeE7": case "address": case "name": case "locationConfidence": case "placeConfidence": case "visitConfidence": case "placeVisitType": case "placeVisitImportance": case "startTimestamp": mockupData[key] = mockupModel[key](); break; } }); return mockupData; } function getRoutesMockupData(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]; }); } ["activityType", "distance", "confidence", "endLocation", "startLocation", "startTimestamp", "endTimestamp"].forEach(function (key, i) { switch (key) { case "endTimestamp": mockupData[key] = mockupModel[key](mockupData["startTimestamp"]); break; case "activityType": case "distance": case "confidence": case "endLocation": case "startLocation": case "startTimestamp": mockupData[key] = mockupModel[key](); break; } }); return mockupData; } export { getActivityMockupData, getLocationMockupData, getModelCSVHeader, getPlacesMockupData, getRoutesMockupData };