From ff95c543f1bf3d3c5d352e9c0dcd5541f2bd3e07 Mon Sep 17 00:00:00 2001 From: ryanhamley Date: Tue, 5 Nov 2019 16:40:33 -0800 Subject: [PATCH] Clean up implementation of coalesce for image operator --- src/style-spec/expression/definitions/coalesce.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/style-spec/expression/definitions/coalesce.js b/src/style-spec/expression/definitions/coalesce.js index 31a0598e195..db2137bd81c 100644 --- a/src/style-spec/expression/definitions/coalesce.js +++ b/src/style-spec/expression/definitions/coalesce.js @@ -3,6 +3,7 @@ import assert from 'assert'; import {checkSubtype, ValueType} from '../types'; +import ResolvedImage from '../types/resolved_image'; import type {Expression} from '../expression'; import type ParsingContext from '../parsing_context'; @@ -60,8 +61,10 @@ class Coalesce implements Expression { result = arg.evaluate(ctx); // we need to keep track of the first requested image in a coalesce statement // if coalesce can't find a valid image, we return the first image name so styleimagemissing can fire - if (arg.type.kind === 'resolvedImage' && !result.available) { - if (!requestedImageName) requestedImageName = arg.evaluate(ctx).name; + if (result && result instanceof ResolvedImage && !result.available) { + if (!requestedImageName) { + requestedImageName = result.name; + } result = null; if (argCount === this.args.length) { result = requestedImageName;