Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
theme.keycloak.v2.admin.resources.assets.useLocaleSort-ef2c79ac.js.map Maven / Gradle / Ivy
Go to download
The user inferface to administrate the Keycloak server.
{"version":3,"file":"useLocaleSort-ef2c79ac.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"}