extractDependencies static method

Set<String> extractDependencies(
  1. dynamic calculateConfig
)

Extracts field dependencies from a JSONLogic or JavaScript expression.

Returns a list of field keys that this calculation depends on. Used to determine when to recalculate.

Implementation

static Set<String> extractDependencies(dynamic calculateConfig) {
  final dependencies = <String>{};

  if (calculateConfig is Map) {
    _extractDependenciesFromMap(calculateConfig, dependencies);
  } else if (calculateConfig is String) {
    // Extract from JavaScript code (simple regex approach)
    final regex = RegExp(r'data\.(\w+)');
    final matches = regex.allMatches(calculateConfig);
    for (final match in matches) {
      dependencies.add(match.group(1)!);
    }
  }

  return dependencies;
}