65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/json_schemer/result.rb', line 65
def basic
out = to_output_unit
if nested&.any?
out[nested_key] = Enumerator.new do |yielder|
results = [self]
while result = results.pop
if result.ignore_nested || !result.nested&.any?
yielder << result.to_output_unit
else
previous_results_size = results.size
result.nested.reverse_each do |nested_result|
results << nested_result if nested_result.valid == valid
end
yielder << result.to_output_unit unless (results.size - previous_results_size) == 1
end
end
end
end
out
end
|