@sanity/schema
Advanced tools
Comparing version 0.104.23 to 0.104.24
@@ -6,5 +6,2 @@ 'use strict'; | ||
}); | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
exports.default = guessPreviewFields; | ||
@@ -20,8 +17,15 @@ var TITLE_CANDIDATES = ['title', 'name', 'label', 'heading', 'header', 'caption']; | ||
var stringFieldNames = fields.filter(function (field) { | ||
return field.type.name === 'string'; | ||
}).map(function (field) { | ||
return field.name; | ||
}); | ||
// Check if we have fields with names that is listed in candidate fields | ||
var titleField = fields.find(function (field) { | ||
return TITLE_CANDIDATES.includes(field.name); | ||
var titleField = TITLE_CANDIDATES.find(function (candidate) { | ||
return stringFieldNames.includes(candidate); | ||
}); | ||
var descField = fields.find(function (field) { | ||
return field !== titleField && DESCRIPTION_CANDIDATES.includes(field.name); | ||
var descField = DESCRIPTION_CANDIDATES.find(function (candidate) { | ||
return candidate !== titleField && stringFieldNames.includes(candidate); | ||
}); | ||
@@ -31,8 +35,6 @@ | ||
// Pick first defined string field | ||
titleField = fields.find(function (field) { | ||
return field.type.name === 'string'; | ||
}); | ||
titleField = stringFieldNames[0]; | ||
// Pick next as desc | ||
descField = fields.find(function (field) { | ||
return field !== titleField && field.type.name === 'string'; | ||
descField = stringFieldNames.find(function (field) { | ||
return field !== titleField; | ||
}); | ||
@@ -42,38 +44,21 @@ } | ||
if (!titleField) { | ||
// Pick first defined string field | ||
titleField = fields.find(function (field) { | ||
return field.type.name === 'string'; | ||
// last resort, pick all fields and concat them | ||
var fieldNames = fields.map(function (field) { | ||
return field.name; | ||
}); | ||
// Pick next as desc | ||
descField = fields.find(function (field) { | ||
return field !== titleField && field.type.name === 'string'; | ||
}); | ||
} | ||
var fieldMapping = fieldNames.reduce(function (acc, fieldName) { | ||
acc[fieldName] = fieldName; | ||
return acc; | ||
}, {}); | ||
if (!titleField) { | ||
var _ret = function () { | ||
// last resort, pick all fields and concat them | ||
var fieldNames = fields.map(function (field) { | ||
return field.name; | ||
}); | ||
var fieldMapping = fieldNames.reduce(function (acc, fieldName) { | ||
acc[fieldName] = fieldName; | ||
return acc; | ||
}, {}); | ||
return { | ||
v: { | ||
select: fieldMapping, | ||
prepare: function prepare(data) { | ||
return { | ||
title: fieldNames.map(function (name) { | ||
return name + ': ' + JSON.stringify(data[name]); | ||
}).join(' / ') | ||
}; | ||
} | ||
} | ||
}; | ||
}(); | ||
if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; | ||
return { | ||
select: fieldMapping, | ||
prepare: function prepare(data) { | ||
return { | ||
title: fieldNames.map(function (name) { | ||
return name + ': ' + JSON.stringify(data[name]); | ||
}).join(' / ') | ||
}; | ||
} | ||
}; | ||
} | ||
@@ -83,11 +68,11 @@ | ||
select: { | ||
title: titleField && titleField.name | ||
title: titleField | ||
}, | ||
prepare: defaultPrepare | ||
}; | ||
if (descField && descField.name) { | ||
if (descField) { | ||
// Only set this if we have found a description field | ||
config.select.description = descField.name; | ||
config.select.description = descField; | ||
} | ||
return config; | ||
} |
{ | ||
"name": "@sanity/schema", | ||
"version": "0.104.23", | ||
"version": "0.104.24", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
132566
5120