UNPKG

matrix-react-sdk

Version:
40 lines (37 loc) 4.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeMapSiteLink = exports.createMapSiteLinkFromEvent = void 0; var _matrix = require("matrix-js-sdk/src/matrix"); var _parseGeoUri = require("./parseGeoUri"); /* Copyright 2024 New Vector Ltd. Copyright 2022 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const makeMapSiteLink = coords => { return "https://www.openstreetmap.org/" + `?mlat=${coords.latitude}` + `&mlon=${coords.longitude}` + `#map=16/${coords.latitude}/${coords.longitude}`; }; exports.makeMapSiteLink = makeMapSiteLink; const createMapSiteLinkFromEvent = event => { const content = event.getContent(); const mLocation = content[_matrix.M_LOCATION.name]; if (mLocation !== undefined) { const uri = mLocation["uri"]; if (uri !== undefined) { const geoCoords = (0, _parseGeoUri.parseGeoUri)(uri); return geoCoords ? makeMapSiteLink(geoCoords) : null; } } else { const geoUri = content["geo_uri"]; if (geoUri) { const geoCoords = (0, _parseGeoUri.parseGeoUri)(geoUri); return geoCoords ? makeMapSiteLink(geoCoords) : null; } } return null; }; exports.createMapSiteLinkFromEvent = createMapSiteLinkFromEvent; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWF0cml4IiwicmVxdWlyZSIsIl9wYXJzZUdlb1VyaSIsIm1ha2VNYXBTaXRlTGluayIsImNvb3JkcyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiZXhwb3J0cyIsImNyZWF0ZU1hcFNpdGVMaW5rRnJvbUV2ZW50IiwiZXZlbnQiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIm1Mb2NhdGlvbiIsIk1fTE9DQVRJT04iLCJuYW1lIiwidW5kZWZpbmVkIiwidXJpIiwiZ2VvQ29vcmRzIiwicGFyc2VHZW9VcmkiLCJnZW9VcmkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvbG9jYXRpb24vbGlua3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgTWF0cml4RXZlbnQsIE1fTE9DQVRJT04gfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmltcG9ydCB7IHBhcnNlR2VvVXJpIH0gZnJvbSBcIi4vcGFyc2VHZW9VcmlcIjtcblxuZXhwb3J0IGNvbnN0IG1ha2VNYXBTaXRlTGluayA9IChjb29yZHM6IEdlb2xvY2F0aW9uQ29vcmRpbmF0ZXMpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIFwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCIgK1xuICAgICAgICBgP21sYXQ9JHtjb29yZHMubGF0aXR1ZGV9YCArXG4gICAgICAgIGAmbWxvbj0ke2Nvb3Jkcy5sb25naXR1ZGV9YCArXG4gICAgICAgIGAjbWFwPTE2LyR7Y29vcmRzLmxhdGl0dWRlfS8ke2Nvb3Jkcy5sb25naXR1ZGV9YFxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFwU2l0ZUxpbmtGcm9tRXZlbnQgPSAoZXZlbnQ6IE1hdHJpeEV2ZW50KTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IGV2ZW50LmdldENvbnRlbnQoKTtcbiAgICBjb25zdCBtTG9jYXRpb24gPSBjb250ZW50W01fTE9DQVRJT04ubmFtZV07XG4gICAgaWYgKG1Mb2NhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHVyaSA9IG1Mb2NhdGlvbltcInVyaVwiXTtcbiAgICAgICAgaWYgKHVyaSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBnZW9Db29yZHMgPSBwYXJzZUdlb1VyaSh1cmkpO1xuICAgICAgICAgICAgcmV0dXJuIGdlb0Nvb3JkcyA/IG1ha2VNYXBTaXRlTGluayhnZW9Db29yZHMpIDogbnVsbDtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGdlb1VyaSA9IGNvbnRlbnRbXCJnZW9fdXJpXCJdO1xuICAgICAgICBpZiAoZ2VvVXJpKSB7XG4gICAgICAgICAgICBjb25zdCBnZW9Db29yZHMgPSBwYXJzZUdlb1VyaShnZW9VcmkpO1xuICAgICAgICAgICAgcmV0dXJuIGdlb0Nvb3JkcyA/IG1ha2VNYXBTaXRlTGluayhnZW9Db29yZHMpIDogbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU1PLE1BQU1FLGVBQWUsR0FBSUMsTUFBOEIsSUFBYTtFQUN2RSxPQUNJLGdDQUFnQyxHQUNoQyxTQUFTQSxNQUFNLENBQUNDLFFBQVEsRUFBRSxHQUMxQixTQUFTRCxNQUFNLENBQUNFLFNBQVMsRUFBRSxHQUMzQixXQUFXRixNQUFNLENBQUNDLFFBQVEsSUFBSUQsTUFBTSxDQUFDRSxTQUFTLEVBQUU7QUFFeEQsQ0FBQztBQUFDQyxPQUFBLENBQUFKLGVBQUEsR0FBQUEsZUFBQTtBQUVLLE1BQU1LLDBCQUEwQixHQUFJQyxLQUFrQixJQUFvQjtFQUM3RSxNQUFNQyxPQUFPLEdBQUdELEtBQUssQ0FBQ0UsVUFBVSxDQUFDLENBQUM7RUFDbEMsTUFBTUMsU0FBUyxHQUFHRixPQUFPLENBQUNHLGtCQUFVLENBQUNDLElBQUksQ0FBQztFQUMxQyxJQUFJRixTQUFTLEtBQUtHLFNBQVMsRUFBRTtJQUN6QixNQUFNQyxHQUFHLEdBQUdKLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDNUIsSUFBSUksR0FBRyxLQUFLRCxTQUFTLEVBQUU7TUFDbkIsTUFBTUUsU0FBUyxHQUFHLElBQUFDLHdCQUFXLEVBQUNGLEdBQUcsQ0FBQztNQUNsQyxPQUFPQyxTQUFTLEdBQUdkLGVBQWUsQ0FBQ2MsU0FBUyxDQUFDLEdBQUcsSUFBSTtJQUN4RDtFQUNKLENBQUMsTUFBTTtJQUNILE1BQU1FLE1BQU0sR0FBR1QsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNqQyxJQUFJUyxNQUFNLEVBQUU7TUFDUixNQUFNRixTQUFTLEdBQUcsSUFBQUMsd0JBQVcsRUFBQ0MsTUFBTSxDQUFDO01BQ3JDLE9BQU9GLFNBQVMsR0FBR2QsZUFBZSxDQUFDYyxTQUFTLENBQUMsR0FBRyxJQUFJO0lBQ3hEO0VBQ0o7RUFDQSxPQUFPLElBQUk7QUFDZixDQUFDO0FBQUNWLE9BQUEsQ0FBQUMsMEJBQUEsR0FBQUEsMEJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=