module Commonmarker::Utils
def fetch_kv(options, key, value, type)
def fetch_kv(options, key, value, type) value_klass = value.class if Constants::BOOLS.include?(value) && BOOLS.include?(options[key]) options[key] elsif options[key].is_a?(value_klass) options[key] else expected_type = Constants::BOOLS.include?(value) ? "Boolean" : value_klass.to_s raise TypeError, "#{type} option `:#{key}` must be #{expected_type}; got #{options[key].class}" end end