From b0235f34d13a2b7ea27f275390c004c297602fdc Mon Sep 17 00:00:00 2001 From: Tobias Date: Tue, 16 Jul 2024 17:14:01 +0200 Subject: [PATCH] Improve/fix type definitions (#10324) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Kyℓe Hensel --- modules/core/preferences.js | 2 +- modules/renderer/features.js | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/modules/core/preferences.js b/modules/core/preferences.js index e82d6e338..2a5a88378 100644 --- a/modules/core/preferences.js +++ b/modules/core/preferences.js @@ -20,7 +20,7 @@ const _listeners = {}; // /** * @param {string} k - * @param {string?} v + * @param {string?} [v] * @returns {boolean} true if the action succeeded */ function corePreferences(k, v) { diff --git a/modules/renderer/features.js b/modules/renderer/features.js index 232e4a5ce..da12af03d 100644 --- a/modules/renderer/features.js +++ b/modules/renderer/features.js @@ -71,10 +71,17 @@ export function rendererFeatures(context) { } + /** + * @callback FilterFunction + * @param {Record} tags + * @param {string} [geometry] + * @returns {boolean} + */ + /** * @param {string} k - * @param {(tags: Record, geometry: string) => boolean} filter - * @param {?number} max + * @param {FilterFunction} filter + * @param {number} [max] */ function defineRule(k, filter, max) { var isEnabled = true; @@ -124,11 +131,11 @@ export function rendererFeatures(context) { }, 250); defineRule('building_parts', function isBuildingPart(tags) { - return tags['building:part']; + return !!tags['building:part']; }); defineRule('indoor', function isIndoor(tags) { - return tags.indoor; + return !!tags.indoor; }); defineRule('landuse', function isLanduse(tags, geometry) { @@ -194,8 +201,8 @@ export function rendererFeatures(context) { }); defineRule('aerialways', function isAerialways(tags) { - return tags.aerialway && - tags.aerialway !== 'yes' && + return !!tags?.aerialway && + tags.aerialway !== 'yes' && tags.aerialway !== 'station'; }); @@ -260,7 +267,7 @@ export function rendererFeatures(context) { if (!arguments.length) { return _keys.filter(function(k) { return _rules[k].hidden(); }); } - return _rules[k] && _rules[k].hidden(); + return _rules[k]?.hidden(); };