JSFiddle - React, Tailwind, and code Playground

by juvian

JavaScript

let sources = ["dia", "walmart", "carrefour", "coto", "disco", "jumbo", "mercadolibre"];
let fecha = "2021-01-01T00:00:00.000Z"

function getQuery(regexes) {
    let filter = {$and: [{lastSeen: {$gt: 333333}, source: {$in: sources}}]};

    for (let word of regexes) {
        filter.$and.push({name: {$regex: word.replace("|", "^|").replace(/a/g, '[aá]').replace(/e/g, '[eé]').replace(/i/g, '[ií]').replace(/o/g, '[oó]').replace(/u/g, '[uú]'), $options: 'i'}});
    }

    return JSON.stringify(filter).replace('333333', `ISODate("${fecha}")`);
}

function getCommand(name, query) {
    document.write(name + ': ' + query + '<br/><br/><br/>')
}

getCommand('peras', getQuery(['pera', 'kilo|kg']))
getCommand('manzana', getQuery(['manzana', 'kilo|kg']))
getCommand('banana', getQuery(['banana', 'kilo|kg']))
getCommand('aceite', getQuery(['aceite', 'cocinero', '1']))
getCommand('mayonesa', getQuery(['mayonesa', 'hellman', 'light', '475']))
getCommand('arroz', getQuery(['arroz', 'gallo', 'oro', '500']))
getCommand('pure', getQuery(['pure', 'papa', 'maggi', '200']))
getCommand('atun', getQuery(['atun', 'natural', 'campagnola', '200']))
getCommand('azucar', getQuery(['azucar', 'chango', '1']))
getCommand('frutigran', getQuery(['frutigran', 'avena', 'pasas', '250']))
getCommand('oreo', getQuery(['oreo', 'clasica', '35']))
getCommand('alfajores', getQuery(['alfajor', 'terrabusi', 'leche', '6']))
getCommand('harina', getQuery(['harina', 'pureza', 'ultra', '1']))
getCommand('pan', getQuery(['pan', 'blanco', 'bimbo', '500']))
getCommand('pan_rallado', getQuery(['pan', 'rallado', 'preferido', '500']))
getCommand('pure_tomate', getQuery(['pure', 'tomate', 'salsati', '5']))
getCommand('fideos', getQuery(['fideo', 'matarazzo', 'spaghetti', '5']))
getCommand('papas_fritas', getQuery(['papa', 'frita', 'lay', '240']))
getCommand('agua', getQuery(['agua', 'villavicencio', 'pet', 'sin', '2']))
getCommand('coca', getQuery(['coca', 'sin', 'azucar', '1.5']))
getCommand('cerveza',...