baldav/src/measures.js

44 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

// Household measures → grams/ml
// Used by parser.js to convert "ст.л." → 15g, etc.
export const MEASURES = {
// Spoons
"ч.л.": 5,
"чайная ложка": 5,
"чайн ложк": 5,
"д.л.": 10,
"десертная ложка": 10,
"ст.л.": 15,
"столовая ложка": 15,
"стол ложк": 15,
// Cups / glasses
"стакан": 250,
"полстакана": 125,
"кружка": 300,
// Pieces (generic, product-specific overrides in food-table)
"кусок хлеба": 30,
"кусок": 30,
"ломтик": 20,
"долька": 10,
// Pinches
"щепотка": 1,
"горсть": 30,
};
// Pattern aliases for parser regex matching
export const MEASURE_PATTERNS = [
{ pattern: /\bч\.?\s*л\.?\b/i, grams: 5 },
{ pattern: /\bчайн\w*\s+ложк\w*\b/i, grams: 5 },
{ pattern: /\bд\.?\s*л\.?\b/i, grams: 10 },
{ pattern: /\bдесертн\w*\s+ложк\w*\b/i, grams: 10 },
{ pattern: /\bст\.?\s*л\.?\b/i, grams: 15 },
{ pattern: /\bстолов\w*\s+ложк\w*\b/i, grams: 15 },
{ pattern: /\bстакан\w*\b/i, grams: 250 },
{ pattern: /\bполстакан\w*\b/i, grams: 125 },
{ pattern: /\bкружк\w*\b/i, grams: 300 },
{ pattern: /\bгорст\w*\b/i, grams: 30 },
{ pattern: /\bщепотк\w*\b/i, grams: 1 },
];