UNPKG

rivet-json-processor-plugin

Version:

A Rivet plugin to filter and count JSON items.

44 lines (38 loc) 1.27 kB
interface Item { NOME: string; REFERENCIA: string; } const specificItems: Item[] = [ { NOME: "Mini Kendo Light - Linear", REFERENCIA: "506" }, { NOME: "Mini Kendo Lighting", REFERENCIA: "506" }, ]; export default function (Rivet: any) { return { processJSON(jsonString: string): string { try { const data: Item[] = JSON.parse(jsonString); const filteredData = data.filter((item) => specificItems.some( (specific: Item) => specific.NOME === item.NOME && specific.REFERENCIA === item.REFERENCIA ) ); const counts: Record<string, number> = {}; filteredData.forEach((item) => { const key = `${item.NOME} (${item.REFERENCIA})`; counts[key] = (counts[key] || 0) + 1; }); const result = Object.entries(counts) .map(([key, count]) => `${key}: ${count}`) .join("\n"); return `Filtered Results:\n${result}`; } catch (error) { if (error instanceof Error) { return `Error processing JSON: ${error.message}`; } return `An unknown error occurred.`; } }, }; }