{"ast":null,"code":"import * as jsonData from './data/refFreq.json';\nconst shuffleArray = array => {\n  for (let i = array.length - 1; i > 0; i--) {\n    const j = Math.floor(Math.random() * (i + 1));\n    [array[i], array[j]] = [array[j], array[i]];\n  }\n  return array;\n};\nconst getResFreq = async (selectedVowels, gender, region, shuffleOrder) => {\n  try {\n    const frequencies = {};\n    const vowelsToCheck = shuffleOrder ? shuffleArray(selectedVowels) : selectedVowels;\n    for (const word of vowelsToCheck) {\n      const wordEntry = jsonData[gender].find(entry => entry.Word === word);\n      if (wordEntry && 'f2Formant' in wordEntry && region in wordEntry.f2Formant) {\n        const f2Formant = wordEntry.f2Formant;\n        frequencies[word] = f2Formant[region];\n      } else {\n        frequencies[word] = undefined;\n      }\n    }\n    return frequencies;\n  } catch (error) {\n    console.error('Error fetching or parsing JSON file:', error);\n    return {};\n  }\n};\nexport default getResFreq;","map":{"version":3,"names":["jsonData","shuffleArray","array","i","length","j","Math","floor","random","getResFreq","selectedVowels","gender","region","shuffleOrder","frequencies","vowelsToCheck","word","wordEntry","find","entry","Word","f2Formant","undefined","error","console"],"sources":["/var/www/gavt/src/gavt/getRefFreq.ts"],"sourcesContent":["import * as jsonData from './data/refFreq.json';\n\ninterface F2Formant {\n    [key: string]: number;\n    New_England: number;\n    Mid_Atlantic: number;\n    North: number;\n    Midland: number;\n    South: number;\n    West: number;\n}\n\nconst shuffleArray = <T>(array: T[]): T[] => {\n    for (let i = array.length - 1; i > 0; i--) {\n      const j = Math.floor(Math.random() * (i + 1));\n      [array[i], array[j]] = [array[j], array[i]];\n    }\n    return array;\n};\n\nconst getResFreq = async (\n    selectedVowels: string[], \n    gender: 'man' | 'woman', \n    region: string,\n    shuffleOrder: boolean\n): Promise<{ [word: string]: number | undefined }> => {\n    try {\n        const frequencies: { [word: string]: number | undefined } = {};\n\n        const vowelsToCheck = shuffleOrder ? shuffleArray(selectedVowels) : selectedVowels;\n\n        for (const word of vowelsToCheck) {\n            const wordEntry = jsonData[gender].find((entry: any) => entry.Word === word);\n\n            if (wordEntry && 'f2Formant' in wordEntry && region in wordEntry.f2Formant) {\n                const f2Formant: F2Formant = wordEntry.f2Formant;\n                frequencies[word] = f2Formant[region];\n            } else {\n                frequencies[word] = undefined;\n            }\n        }\n        return frequencies;\n    } catch (error) {\n        console.error('Error fetching or parsing JSON file:', error);\n        return {};\n    }\n};\n\nexport default getResFreq;"],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,qBAAqB;AAY/C,MAAMC,YAAY,GAAOC,KAAU,IAAU;EACzC,KAAK,IAAIC,CAAC,GAAGD,KAAK,CAACE,MAAM,GAAG,CAAC,EAAED,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;IACzC,MAAME,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,IAAIL,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAACD,KAAK,CAACC,CAAC,CAAC,EAAED,KAAK,CAACG,CAAC,CAAC,CAAC,GAAG,CAACH,KAAK,CAACG,CAAC,CAAC,EAAEH,KAAK,CAACC,CAAC,CAAC,CAAC;EAC7C;EACA,OAAOD,KAAK;AAChB,CAAC;AAED,MAAMO,UAAU,GAAG,MAAAA,CACfC,cAAwB,EACxBC,MAAuB,EACvBC,MAAc,EACdC,YAAqB,KAC6B;EAClD,IAAI;IACA,MAAMC,WAAmD,GAAG,CAAC,CAAC;IAE9D,MAAMC,aAAa,GAAGF,YAAY,GAAGZ,YAAY,CAACS,cAAc,CAAC,GAAGA,cAAc;IAElF,KAAK,MAAMM,IAAI,IAAID,aAAa,EAAE;MAC9B,MAAME,SAAS,GAAGjB,QAAQ,CAACW,MAAM,CAAC,CAACO,IAAI,CAAEC,KAAU,IAAKA,KAAK,CAACC,IAAI,KAAKJ,IAAI,CAAC;MAE5E,IAAIC,SAAS,IAAI,WAAW,IAAIA,SAAS,IAAIL,MAAM,IAAIK,SAAS,CAACI,SAAS,EAAE;QACxE,MAAMA,SAAoB,GAAGJ,SAAS,CAACI,SAAS;QAChDP,WAAW,CAACE,IAAI,CAAC,GAAGK,SAAS,CAACT,MAAM,CAAC;MACzC,CAAC,MAAM;QACHE,WAAW,CAACE,IAAI,CAAC,GAAGM,SAAS;MACjC;IACJ;IACA,OAAOR,WAAW;EACtB,CAAC,CAAC,OAAOS,KAAK,EAAE;IACZC,OAAO,CAACD,KAAK,CAAC,sCAAsC,EAAEA,KAAK,CAAC;IAC5D,OAAO,CAAC,CAAC;EACb;AACJ,CAAC;AAED,eAAed,UAAU","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}