import { Device } from "../models/device.model"; import { DeviceContract } from "../data-contract/device.contract"; export function fromDeviceContract(deviceContract: DeviceContract): Device | undefined { if (!deviceContract) { return; } let ipVersion = 0; if (deviceContract.ip) { ipVersion = 4; } else if (deviceContract.ipv6) { ipVersion = 6; } let screen_size; if (deviceContract.screen_size?.width && deviceContract.screen_size?.height) { screen_size = deviceContract.screen_size; } return { os: deviceContract.os, language: deviceContract.language, ifa: deviceContract.ifa, name: deviceContract.name, ip: deviceContract.ip, ipv6: deviceContract.ipv6, os_version: deviceContract.os_version, ua: deviceContract.ua, connectivity: deviceContract.connectivity, isp: deviceContract.isp, is_omid_compliant: deviceContract.is_omid_compliant, screen_size, ipVersion, }; }