resolve method

ResolvedInlineTimerConfig? resolve(
  1. VariableScope scope, {
  2. Map<String, dynamic>? runtimeVariables,
})

Implementation

ResolvedInlineTimerConfig? resolve(
  VariableScope scope, {
  Map<String, dynamic>? runtimeVariables,
}) {
  final resolvedStart = startsAt?.resolve(
    scope,
    runtimeVariables: runtimeVariables,
  );
  final resolvedDeadline = deadline.resolve(
    scope,
    runtimeVariables: runtimeVariables,
  );
  if (resolvedDeadline == null ||
      (startsAt != null && resolvedStart == null) ||
      (resolvedStart != null && !resolvedStart.isBefore(resolvedDeadline))) {
    return null;
  }
  return ResolvedInlineTimerConfig(
    slotKey: slotKey,
    designWidth: designWidth,
    cornerRadius: cornerRadius,
    margin: margin,
    startsAt: resolvedStart,
    deadline: resolvedDeadline,
    deadlineSource: deadline.source,
    urgentBelowSeconds: urgentBelowSeconds,
    rules: rules,
    clock: clock,
  );
}