{"version":3,"file":"utils.mjs","names":[],"sources":["../../src/pagesRouter/utils.ts"],"sourcesContent":["import { FallbackLng, FallbackLngObjList } from 'i18next'\nimport { useLayoutEffect, useEffect } from 'react'\n\nexport const getFallbackForLng = (\n  lng: string,\n  fallbackLng: false | FallbackLng\n): string[] => {\n  if (typeof fallbackLng === 'string') {\n    return [fallbackLng]\n  }\n\n  if (Array.isArray(fallbackLng)) {\n    return fallbackLng\n  }\n\n  if (typeof fallbackLng === 'object') {\n    const fallbackList = (fallbackLng as FallbackLngObjList)[lng]\n    const fallbackDefault = (fallbackLng as FallbackLngObjList)\n      .default\n    return [...(fallbackList ?? []), ...(fallbackDefault ?? [])]\n  }\n\n  if (typeof fallbackLng === 'function') {\n    return getFallbackForLng(lng, fallbackLng(lng))\n  }\n\n  return []\n}\n\nexport const unique = (list: string[]) =>\n  Array.from(new Set<string>(list))\n\n/**\n * This hook behaves like `useLayoutEffect` on the client,\n * and `useEffect` on the server(no effect).\n *\n * Since using `useLayoutEffect` on the server cause warning messages in nextjs,\n * this hook is workaround for that.\n */\nexport const useIsomorphicLayoutEffect =\n  typeof window !== 'undefined' ? useLayoutEffect : useEffect\n"],"mappings":";;AAGA,MAAa,qBACX,KACA,gBACa;AACb,KAAI,OAAO,gBAAgB,SACzB,QAAO,CAAC,YAAY;AAGtB,KAAI,MAAM,QAAQ,YAAY,CAC5B,QAAO;AAGT,KAAI,OAAO,gBAAgB,UAAU;EACnC,MAAM,eAAgB,YAAmC;EACzD,MAAM,kBAAmB,YACtB;AACH,SAAO,CAAC,GAAI,gBAAgB,EAAE,EAAG,GAAI,mBAAmB,EAAE,CAAE;;AAG9D,KAAI,OAAO,gBAAgB,WACzB,QAAO,kBAAkB,KAAK,YAAY,IAAI,CAAC;AAGjD,QAAO,EAAE;;AAGX,MAAa,UAAU,SACrB,MAAM,KAAK,IAAI,IAAY,KAAK,CAAC;;;;;;;;AASnC,MAAa,4BACX,OAAO,WAAW,cAAc,kBAAkB"}