reportMissing static method

void reportMissing(
  1. List<VariableSchema> schemas,
  2. Map<String, dynamic>? cepVars,
  3. String campaignKey
)

Logs each declared variable with no CEP value and no fallback for campaignKey. Call it where the campaign is known, never from a build.

Implementation

static void reportMissing(
  List<VariableSchema> schemas,
  Map<String, dynamic>? cepVars,
  String campaignKey,
) {
  for (final schema in schemas) {
    final cep = cepVars?[schema.name]?.toString() ?? '';
    if (cep.isNotEmpty || schema.fallbackValue != null) continue;
    const DigiaLogger().w(
      'Variable has no value and no fallback (variable=${schema.name})',
      campaign: campaignKey,
      stage: TimelineStage.render,
      reason: TimelineReason.missingVariable,
      extras: {'variable': schema.name},
    );
  }
}