/**
* fuente de filtro @module
* /
importar {isObject} desde './obj';
importar {getMimetype} desde './mimetypes';
/ **
* Filtre los objetos de origen defectuosos únicos o los objetos de origen múltiple en un
* matriz. También aplana las matrices de objetos de origen anidados en un 1 dimensional
* matriz de objetos de origen.
*
* @param {Tech~SourceObject|Tech~SourceObject[]} src
* El objeto src a filtrar
*
* @return {Tecnología~ObjetoOrigen[]}
* Una matriz de objetos fuente que contiene solo fuentes válidas
*
* @privado
* /
const filterSource = function(src) {
// matriz transversal
if (Array.isArray(src)) {
let noticiasrc = [];
src.forEach(function(srcobj) {
srcobj = filterSource(srcobj);
if (Array.isArray(srcobj)) {
newsrc = newsrc.concat(srcobj);
} más si (isObject(srcobj)) {
noticiasrc.push(srcobj);
}
});
src = newsrc;
} else if (tipo de src === 'cadena' && src.trim()) {
// convertir cadena en objeto
src = [fijarFuente({src})];
} más si (isObject(src) && typeof src.src === 'cadena' && src.src && src.src.trim()) {
// src ya es valido
src = [fijarFuente(src)];
} else {
// fuente inválida, conviértala en una matriz vacía
origen = [];
}
devolver origen;
};
/ **
* Verifica src mimetype, agregándolo cuando sea posible
*
* @param {Tech~SourceObject} src
* El objeto src para comprobar
* @return {Tecnología~ObjetoOrigen}
* src Objeto con tipo conocido
* /
función arreglarFuente(src) {
if (!src.tipo) {
const mimetype = getMimetype(src.src);
si (tipo MIME) {
src.type = mimetype;
}
}
devolver origen;
}
exportar filterSource predeterminado;