UNPKG

react-application-core

Version:

A react-based application core for the business applications.

87 lines 4.41 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PlaceUtils = exports.asPlaceEntity = exports.toPlaceDescription = void 0; var R = require("ramda"); var cond_1 = require("./cond"); var type_1 = require("./type"); var definition_1 = require("../definition"); var filter_1 = require("./filter"); var join_1 = require("./join"); /** * @stable [01.08.2018] * @param {google.maps.GeocoderAddressComponent} cmp * @param {(cmp: google.maps.GeocoderAddressComponent) => TType} extractor * @returns {TType} */ exports.toPlaceDescription = function (cmp, extractor) { return cmp && extractor(cmp); }; /** * @stable [04.08.2018] * @param {google.maps.GeocoderResult | google.maps.places.PlaceResult} place * @returns {IPlaceEntity} */ exports.asPlaceEntity = function (place) { if (!Array.isArray(place.address_components)) { return null; } return __assign(__assign({}, cond_1.ConditionUtils.ifNotNilThanValue(place.geometry, function (geometry) { return ({ lat: geometry.location.lat(), lng: geometry.location.lng(), }); })), { placeId: place.place_id, country: exports.toPlaceDescription(place.address_components.find(function (addr) { return addr.types.includes('country'); }), function (cmp) { return cmp.long_name; }), region: exports.toPlaceDescription(place.address_components.find(function (addr) { return addr.types.includes('administrative_area_level_1'); }), function (cmp) { return cmp.long_name; }), area: exports.toPlaceDescription(place.address_components.find(function (addr) { return addr.types.includes('administrative_area_level_2'); }), function (cmp) { return cmp.long_name; }), city: exports.toPlaceDescription(place.address_components.find(function (addr) { return addr.types.includes('locality'); }), function (cmp) { return cmp.long_name; }), street: exports.toPlaceDescription(place.address_components.find(function (addr) { return addr.types.includes('route'); }), function (cmp) { return cmp.long_name; }), streetNumber: exports.toPlaceDescription(place.address_components.find(function (addr) { return addr.types.includes('street_number'); }), function (cmp) { return cmp.long_name; }), zipCode: exports.toPlaceDescription(place.address_components.find(function (addr) { return addr.types.includes('postal_code'); }), function (cmp) { return cmp.long_name; }) }); }; /** * @stable [17.05.2020] * @param {IPlaceEntity} placeEntity * @returns {string} */ var formatPlaceEntity = function (placeEntity) { return join_1.JoinUtils.join(filter_1.FilterUtils.notEmptyObjectValuesArrayFilter.apply(filter_1.FilterUtils, [ (placeEntity.streetNumber || '') + " " + (placeEntity.street || ''), placeEntity.city, placeEntity.region, placeEntity.country ].map(function (v) { return (v || '').trim(); })), ', '); }; /** * @stable [17.05.2020] * @param {PlaceEntityValueT} placeEntity * @param {(placeEntity: IPlaceEntity) => string} placeEntityFormatter * @returns {string} */ var fromPlaceEntityToDisplayValue = function (placeEntity, placeEntityFormatter) { if (placeEntityFormatter === void 0) { placeEntityFormatter = formatPlaceEntity; } if (R.isNil(placeEntity)) { return placeEntity; } if (type_1.TypeUtils.isPrimitive(placeEntity)) { return placeEntity; } var placeEntityAsObject = placeEntity; return placeEntityFormatter(placeEntityAsObject) || placeEntityAsObject.formattedName || definition_1.FieldConstants.DISPLAY_EMPTY_VALUE; }; /** * @stable [17.05.2020] */ var PlaceUtils = /** @class */ (function () { function PlaceUtils() { } PlaceUtils.formatPlaceEntity = formatPlaceEntity; /* @stable [17.05.2020] */ PlaceUtils.fromPlaceEntityToDisplayValue = fromPlaceEntityToDisplayValue; /* @stable [17.05.2020] */ return PlaceUtils; }()); exports.PlaceUtils = PlaceUtils; //# sourceMappingURL=place.js.map