lib/wolf_core/utils/hash_utils.rb



# frozen_string_literal: true

module WolfCore
  module HashUtils
    def deep_to_h(value)
      if value.instance_of?(Hash)
        value.transform_values { |v| deep_to_h(v) }
      elsif value.is_a?(Array)
        value.map { |v| deep_to_h(v) }
      elsif value.respond_to?(:to_h) && !value.is_nil?
        deep_to_h(value.to_h)
      else
        value
      end
    end
  end
end