Comparing #3951 (Version 1) and #5703 (Version 2)

Done as of cc1ab95.

Ruby example:

ruby
def criticized? idea
pending_criticisms(idea).any?
end
def pending_criticisms idea
criticisms(idea).filter { |c| pending_criticisms(c).none? }
end
def criticisms idea
children(idea).filter(&:criticism?)
end

JS example (h/t ChatGPT):

javascript
function criticized(idea) {
return pendingCriticisms(idea).length > 0;
}
function pendingCriticisms(idea) {
return criticisms(idea).filter(c => pendingCriticisms(c).length === 0);
}
function criticisms(idea) {
return children(idea).filter(c => c.isCriticism);
}

Done as of 65dba4b.

Ruby example:

ruby
def criticized? idea
pending_criticisms(idea).any?
end
def pending_criticisms idea
criticisms(idea).filter { |c| pending_criticisms(c).none? }
end
def criticisms idea
children(idea).filter(&:criticism?)
end

JS example (h/t ChatGPT):

javascript
function criticized(idea) {
return pendingCriticisms(idea).length > 0;
}
function pendingCriticisms(idea) {
return criticisms(idea).filter(c => pendingCriticisms(c).length === 0);
}
function criticisms(idea) {
return children(idea).filter(c => c.isCriticism);
}
#5703​·​Dennis Hackethal​·​about 22 hours ago​·​Criticism
9 comments: #3953, #3956, #4012, #4013, #4016, #4023, #4024, #4026, and #4027