All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.useLocaleSort-6d6b4eec.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"useLocaleSort-6d6b4eec.js","sources":["../../src/utils/useLocaleSort.ts"],"sourcesContent":["import { useWhoAmI } from \"../context/whoami/WhoAmI\";\n\nexport type ValueMapperFn = (item: T) => string | undefined;\n\nexport default function useLocaleSort() {\n  const { whoAmI } = useWhoAmI();\n\n  return function localeSort(items: T[], mapperFn: ValueMapperFn): T[] {\n    const locale = whoAmI.getLocale();\n\n    return [...items].sort((a, b) => {\n      const valA = mapperFn(a);\n      const valB = mapperFn(b);\n\n      if (valA === undefined || valB === undefined) {\n        return 0;\n      }\n\n      return valA.localeCompare(valB, locale);\n    });\n  };\n}\n\n// TODO: This might be built into TypeScript into future.\n// See: https://github.com/microsoft/TypeScript/issues/48992\ntype KeysMatching = {\n  [K in keyof T]: T[K] extends V ? K : never;\n}[keyof T];\n\nexport const mapByKey =\n  <\n    T extends { [_ in K]?: string },\n    K extends KeysMatching,\n  >(\n    key: K,\n  ) =>\n  (item: T) =>\n    item[key];\n"],"names":["useLocaleSort","whoAmI","useWhoAmI","items","mapperFn","locale","a","b","valA","valB","mapByKey","key","item"],"mappings":"yCAIA,SAAwBA,GAAgB,CAChC,KAAA,CAAE,OAAAC,GAAWC,IAEZ,OAAA,SAAuBC,EAAYC,EAAiC,CACnE,MAAAC,EAASJ,EAAO,YAEtB,MAAO,CAAC,GAAGE,CAAK,EAAE,KAAK,CAACG,EAAGC,IAAM,CACzB,MAAAC,EAAOJ,EAASE,CAAC,EACjBG,EAAOL,EAASG,CAAC,EAEnB,OAAAC,IAAS,QAAaC,IAAS,OAC1B,EAGFD,EAAK,cAAcC,EAAMJ,CAAM,CAAA,CACvC,CAAA,CAEL,CAQO,MAAMK,EAKTC,GAEDC,GACCA,EAAKD,CAAG"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy