UNPKG

client-search

Version:

客户端搜索

96 lines 3.64 kB
import { isArray, isEmpty, isNumber, isString } from 'lodash'; export function adapterTips(response) { return response.map(adapterTip); } export function adapterTip(response) { if (!response) return []; if (!response.body) return []; if (!Array.isArray(response.body.tips)) return []; return response.body.tips .map(function (tip) { var adapterValue = { adcode: isString(tip.adcode) ? tip.adcode : '', address: isString(tip.address) ? tip.address : '', city: isString(tip.city) ? tip.city : '', district: isString(tip.district) ? tip.district : '', id: isString(tip.id) ? tip.id : '', location: isString(tip.location) ? tip.location : '', name: isString(tip.name) ? tip.name : '', typecode: isString(tip.typecode) ? tip.typecode : '', }; if (!adapterValue.location) { return null; } return adapterValue; }) .filter(function (v) { return !!v; }); } export function adapterAddressComponent(response) { if (!response) return null; var addressComponent = null; if (response.regeocode) { addressComponent = regeo(); } if (response.geocodes) { addressComponent = reo(); } function regeo() { if (!response.regeocode) return null; if (isString(response.regeocode.addressComponent)) return null; if (isArray(response.regeocode.addressComponent)) return null; if (isNumber(response.regeocode.addressComponent)) return null; if (isEmpty(response.regeocode.addressComponent)) return null; return response.regeocode.addressComponent; } function reo() { if (!isArray(response.geocodes)) return null; if (!response.geocodes.length) return null; return response.geocodes[0]; } if (!addressComponent) return null; return { adcode: isString(addressComponent.adcode) ? addressComponent.adcode : '', building: isString(addressComponent.building) ? addressComponent.building : '', businessAreas: addressComponent.businessAreas, city: isString(addressComponent.city) ? addressComponent.city : '', citycode: isString(addressComponent.citycode) ? addressComponent.citycode : '', country: isString(addressComponent.country) ? addressComponent.country : '', district: isString(addressComponent.district) ? addressComponent.district : '', neighborhood: isString(addressComponent.neighborhood) ? addressComponent.neighborhood : '', province: isString(addressComponent.province) ? addressComponent.province : '', streetNumber: isString(addressComponent.streetNumber) ? addressComponent.streetNumber : '', towncode: isString(addressComponent.towncode) ? addressComponent.towncode : '', township: isString(addressComponent.township) ? addressComponent.township : '', }; } export function adapterDistrict(response) { if (!response) return []; if (!response.districts || !response.districts.length) { return []; } return response.districts.map(function (district) { var coordinate = district.center; if (!isString(coordinate)) { return null; } var _a = coordinate.split(','), longitude = _a[0], latitude = _a[1]; return { latitude: latitude, longitude: longitude, }; }); } //# sourceMappingURL=adapter.js.map