diff --git a/lib/util/i18n.js b/lib/util/i18n.js index 5faeea53f..16219650f 100644 --- a/lib/util/i18n.js +++ b/lib/util/i18n.js @@ -1,5 +1,6 @@ import clone from 'clone' import flatten from 'flat' +import memoize from 'lodash.memoize' // deepmerge must be imported via `require`: see https://github.com/TehShrike/deepmerge#include const merge = require('deepmerge') @@ -63,7 +64,7 @@ export function getConfigLocales(configLanguages) { * @param {*} configLanguages The configured languages. * @returns An array of the supported locale ids if 2 or more are configured, null otherwise. */ -export function getLanguageOptions(configLanguages) { +export const getLanguageOptions = memoize((configLanguages) => { const filteredKeys = (configLanguages && Object.keys(configLanguages).filter( @@ -77,7 +78,7 @@ export function getLanguageOptions(configLanguages) { filteredLanguages[key] = configLanguages[key] }) return filteredLanguages -} +}) /** * Loads in all localized strings from @opentripplanner packages.