UNPKG

recipe-ingredient-parser-v3

Version:

Natural language parser for recipes and ingredient lists, incl. combining ingredients

216 lines 6.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractAllUnits = exports.unitsMap = exports.itaPreposition = exports.itaNameToSymbol = exports.itaPluralUnits = exports.itaUnits = exports.engPreposition = exports.engNameToSymbol = exports.engPluralUnits = exports.engUnits = void 0; exports.engUnits = { bag: ['bag', 'bags'], box: ['box'], can: ['can'], cup: ['cup', 'c', 'c.', 'C', 'Cups'], clove: ['clove'], gallon: ['gallon', 'gal'], ounce: ['ounce', 'oz', 'oz.'], pint: ['pint', 'pt', 'pts', 'pt.'], pound: ['pound', 'lb', 'lb.', 'lbs', 'lbs.', 'Lb', 'Lbs'], quart: ['quart', 'qt', 'qt.', 'qts', 'qts.'], tablespoon: ['tbs', 'tbsp', 'tbspn', 'T', 'T.', 'Tablespoons', 'Tablespoon'], teaspoon: ['teaspoon', 'tsp', 'tspn', 't', 't.'], gram: ['gram', 'g', 'g.'], kilogram: ['kilogram', 'kg', 'kg.', 'Kg', 'Kg.'], liter: ['liter', 'l', 'l.', 'lt', 'Lt', 'LT', 'L', 'L.'], milligram: ['milligram', 'mg', 'mg.'], milliliter: ['milliliter', 'ml', 'ml.', 'mL', 'mL.'], package: ['package', 'pkg', 'pkgs'], stick: ['stick', 'sticks'], piece: ['piece', 'pcs', 'pcs.'], pinch: ['pinch'], small: ['Small'], slice: ['slice'], medium: ['Medium'], large: ['large', 'Large'], }; exports.engPluralUnits = { cup: 'cups', gallon: 'gallons', ounce: 'ounces', pint: 'pints', pound: 'pounds', quart: 'quarts', tablespoon: 'tablespoons', teaspoon: 'teaspoons', gram: 'grams', kilogram: 'kilograms', liter: 'liters', milligram: 'milligrams', milliliter: 'milliliters', clove: 'cloves', bag: 'bags', box: 'boxes', pinch: 'pinches', can: 'cans', slice: 'slices', piece: 'pieces' }; exports.engNameToSymbol = { cup: 'c', gallon: 'gal', ounce: 'oz', pint: 'pt', pound: 'lb', quart: 'qt', tablespoon: 'tbs', teaspoon: 'tsp', gram: 'g', kilogram: 'kg', liter: 'lt', milligram: 'mg', milliliter: 'ml', clove: '', bag: '', box: '', pinch: '', can: '', slice: '', piece: '' }; exports.engPreposition = ['of']; exports.itaUnits = { barattolo: ['barattolo', 'barattoli'], bicchiere: ['bicchiere'], bottiglia: ['bottiglie', 'bottiglia'], bustina: ['bustina', 'bustine'], cubetto: ['cubetto', 'cubetti'], cucchiaio: ['cucchiai', 'cucchiaio'], cucchiaino: ['cucchiaini', 'cucchiaino'], confezione: ['confezioni', 'confezione'], grammo: ['g', 'g\\.', 'gr\\.', 'gr', 'grammi', 'grammo'], chilogrammo: ['kg.', 'kg', 'kilogrammo', 'chilogrammi', 'kilogrammo', 'chilogrammo'], fetta: ['fetta', 'fette'], fettina: ['fettina', 'fettine'], fogliolina: ['fogliolina', 'foglioline'], foglia: ['foglie', 'foglia'], foglio: ['fogli', 'foglio'], gambo: ['gambo', 'gambi'], litro: ['l\\.', 'l', 'lt', 'litro'], mazzo: ['mazzo', 'mazzi'], mazzetto: ['Mazzetto', 'mazzetti', 'mazzetto'], lattina: ['Lattina', 'lattina'], milligrammo: ['mg.', 'mg', 'milligrammo'], millilitro: ['ml', 'ml\\.', 'millilitro'], panetto: ['Panetto', 'panetti', 'panetto'], pacco: ['pkg', 'pkgs', 'pacchetto', 'pacco'], pezzo: ['pezzo', 'pcs', 'pcs.', 'pezzi'], pizzico: ['pizzico', 'pizzichi'], tazza: ['tazza', 'tazzina', 'tazzine'], sacco: ['sacco', 'sacchi'], spicchio: ['spicchio', 'spicchi'], scatola: ['scatola', 'scatole'], vasetto: ['vasetto', 'vasetti'], filo: ['filo'], ciuffo: ['ciuffo'], scatoletta: ['scatoletta'], manciata: ['manciata'], rametto: ['rametto', 'rametti'], rotolo: ['rotolo'], pugno: ['pugno', 'pugni'], bicchierino: ['bicchierino'], //noce: ['noce'], }; exports.itaPluralUnits = { barattolo: 'barattoli', bicchiere: 'bicchieri', bustina: 'bustine', bottiglia: 'bottiglie', cubetto: 'cubetti', gambo: 'gambi', tazza: 'tazze', quarto: 'quarti', cucchiaio: 'cucchiai', cucchiaino: 'cucchiaini', confezione: 'confezioni', grammo: 'grammi', chilogrammo: 'chilogrammi', litro: 'litri', milligrammo: 'milligrammi', millilitro: 'millilitri', spicchio: 'spicchi', scatola: 'scatole', pizzico: 'pizzichi', lattina: 'lattine', fetta: 'fette', fettina: 'fettine', pezzo: 'pezzi', panetto: 'panetti', foglio: 'fogli', fogliolina: 'foglioline', foglia: 'foglie', mazzo: 'mazzi', mazzetto: 'mazzetti', vasetto: 'vasetti', filo: 'fili', ciuffo: 'ciuffi', sacco: 'sacchi', scatoletta: 'scatolette', manciata: 'manciate', rametto: 'rametti', rotolo: 'rotoli', bicchierino: 'bicchierini', pugno: 'pugni' //noce: 'noci' }; exports.itaNameToSymbol = { bicchiere: '', bustina: '', cubetto: '', gambo: '', tazza: '', quarto: '', cucchiaio: '', spicchio: '', scatola: '', pizzico: '', lattina: '', fetta: '', pezzo: '', panetto: '', foglia: '', mazzetto: '', manciata: '', vasetto: '', grammo: 'g', cucchiaino: 'cc', chilogrammo: 'kg', litro: 'lt', milligrammo: 'mg', millilitro: 'ml', }; exports.itaPreposition = ['di', 'd\'']; exports.unitsMap = new Map(); exports.unitsMap.set("eng", [exports.engUnits, exports.engPluralUnits, exports.engPreposition, exports.engNameToSymbol]); exports.unitsMap.set("ita", [exports.itaUnits, exports.itaPluralUnits, exports.itaPreposition, exports.itaNameToSymbol]); function extractAllUnits(language) { var unitData = exports.unitsMap.get(language); if (!unitData) return []; var flattenedUnits = new Set(); for (var _i = 0, unitData_1 = unitData; _i < unitData_1.length; _i++) { var data = unitData_1[_i]; if (Array.isArray(data)) { // If it's already an array, add all its elements data.forEach(function (unit) { return flattenedUnits.add(unit); }); } else if (typeof data === "object") { // If it's an object (dictionary), extract all values Object.values(data).forEach(function (value) { if (Array.isArray(value)) { value.forEach(function (unit) { return flattenedUnits.add(unit); }); } else { flattenedUnits.add(value); } }); } } return Array.from(flattenedUnits); } exports.extractAllUnits = extractAllUnits; //# sourceMappingURL=units.js.map