Accept Scattermind action-set rank feedback
This commit is contained in:
@@ -432,11 +432,24 @@ function normalizeFeatureOption(item, index, fallbackId = 'feature') {
|
||||
};
|
||||
}
|
||||
|
||||
function firstArray(...values) {
|
||||
return values.find(Array.isArray) || null;
|
||||
}
|
||||
|
||||
function optionsFromBody(body = {}) {
|
||||
const featureSet = body.featureSet && typeof body.featureSet === 'object' ? body.featureSet : {};
|
||||
const rawFeatures = Array.isArray(body.features) ? body.features : Array.isArray(featureSet.features) ? featureSet.features : null;
|
||||
if (rawFeatures) {
|
||||
return rawFeatures.slice(0, 24).map((item, index) => normalizeFeatureOption(item, index)).filter(item => item.title);
|
||||
const rawCandidates = firstArray(
|
||||
body.features,
|
||||
featureSet.features,
|
||||
body.actions,
|
||||
featureSet.actions,
|
||||
body.nextMoves,
|
||||
featureSet.nextMoves,
|
||||
body.candidates,
|
||||
featureSet.candidates
|
||||
);
|
||||
if (rawCandidates) {
|
||||
return rawCandidates.slice(0, 24).map((item, index) => normalizeFeatureOption(item, index)).filter(item => item.title);
|
||||
}
|
||||
if (Array.isArray(body.options)) {
|
||||
return body.options.slice(0, 24).map((item, index) => normalizeFeatureOption(item, index, 'option')).filter(item => item.title);
|
||||
|
||||
Reference in New Issue
Block a user