From d0da1b005bf2623b45630e4cc9334ea56c92ada4 Mon Sep 17 00:00:00 2001 From: "D. Berge" Date: Sun, 27 Feb 2022 18:26:03 +0100 Subject: [PATCH] Add replaceMarkers utility function --- lib/www/server/lib/utils/index.js | 5 +++-- lib/www/server/lib/utils/replaceMarkers.js | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 lib/www/server/lib/utils/replaceMarkers.js diff --git a/lib/www/server/lib/utils/index.js b/lib/www/server/lib/utils/index.js index b76f96c..dc020f7 100644 --- a/lib/www/server/lib/utils/index.js +++ b/lib/www/server/lib/utils/index.js @@ -1,5 +1,6 @@ - + module.exports = { geometryAsString: require('./geometryAsString'), - dms: require('./dms') + dms: require('./dms'), + replaceMarkers: require('./replaceMarkers') }; diff --git a/lib/www/server/lib/utils/replaceMarkers.js b/lib/www/server/lib/utils/replaceMarkers.js new file mode 100644 index 0000000..cf464d8 --- /dev/null +++ b/lib/www/server/lib/utils/replaceMarkers.js @@ -0,0 +1,17 @@ +const geometryAsString = require('./geometryAsString'); + +function replaceMarkers (item, opts={}) { + const textkey = opts.text || "remarks"; + + const text = item[textkey]; + + if (text && typeof text === "string") { + item[textkey] = text + .replace(/@POS(ITION)?@/g, geometryAsString(item, opts) || "(position unknown)") + .replace(/@DMS@/g, geometryAsString(item, {...opts, dms:true}) || "(position unknown)") + } + + return item; +} + +module.exports = replaceMarkers;