{"ast":null,"code":"import Platform from \"react-native-web/dist/exports/Platform\";\nimport createMultiStyleIconSet from \"./createMultiStyleIconSet\";\nexport var FA5Style = {\n  regular: 'regular',\n  light: 'light',\n  solid: 'solid',\n  brand: 'brand'\n};\nexport function createFA5iconSet(glyphMap) {\n  var metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var fonts = arguments.length > 2 ? arguments[2] : undefined;\n  var pro = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n  var metadataKeys = Object.keys(metadata);\n  var fontFamily = \"FontAwesome5\" + (pro ? 'Pro' : 'Free');\n\n  function fallbackFamily(glyph) {\n    for (var i = 0; i < metadataKeys.length; i += 1) {\n      var family = metadataKeys[i];\n\n      if (metadata[family].indexOf(glyph) !== -1) {\n        return family === 'brands' ? 'brand' : family;\n      }\n    }\n\n    return 'regular';\n  }\n\n  function glyphValidator(glyph, style) {\n    var family = style === 'brand' ? 'brands' : style;\n    if (metadataKeys.indexOf(family) === -1) return false;\n    return metadata[family].indexOf(glyph) !== -1;\n  }\n\n  function createFontAwesomeStyle(styleName, fontWeight) {\n    var family = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : fontFamily;\n    var fontFile = fonts[styleName];\n    return {\n      fontFamily: family + \"-\" + styleName,\n      fontFile: fontFile,\n      fontStyle: Platform.select({\n        ios: {\n          fontWeight: fontWeight\n        },\n        default: {}\n      }),\n      glyphMap: glyphMap\n    };\n  }\n\n  var brandIcons = createFontAwesomeStyle('Brand', '400');\n  var lightIcons = createFontAwesomeStyle('Light', '100');\n  var regularIcons = createFontAwesomeStyle('Regular', '400');\n  var solidIcons = createFontAwesomeStyle('Solid', '700');\n  var Icon = createMultiStyleIconSet({\n    brand: brandIcons,\n    light: lightIcons,\n    regular: regularIcons,\n    solid: solidIcons\n  }, {\n    defaultStyle: 'regular',\n    fallbackFamily: fallbackFamily,\n    glyphValidator: glyphValidator\n  });\n  return Icon;\n}","map":{"version":3,"sources":["../src/createIconSetFromFontAwesome5.ts"],"names":[],"mappings":";AACA,OAAO,uBAAP;AAEA,OAAO,IAAM,QAAQ,GAAG;AACtB,EAAA,OAAO,EAAE,SADa;AAEtB,EAAA,KAAK,EAAE,OAFe;AAGtB,EAAA,KAAK,EAAE,OAHe;AAItB,EAAA,KAAK,EAAE;AAJe,CAAjB;AAOP,OAAM,SAAU,gBAAV,CAA2B,QAA3B,EAAsE;AAAA,MAAjC,QAAiC,uEAAtB,EAAsB;AAAA,MAAlB,KAAkB;AAAA,MAAX,GAAW,uEAAL,KAAK;AAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,QAAZ,CAArB;AACA,MAAM,UAAU,qBAAkB,GAAG,GAAG,KAAH,GAAW,MAAhC,CAAhB;;AAEA,WAAS,cAAT,CAAwB,KAAxB,EAA6B;AAC3B,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,CAAC,MAAjC,EAAyC,CAAC,IAAI,CAA9C,EAAiD;AAC/C,UAAM,MAAM,GAAG,YAAY,CAAC,CAAD,CAA3B;;AACA,UAAI,QAAQ,CAAC,MAAD,CAAR,CAAiB,OAAjB,CAAyB,KAAzB,MAAoC,CAAC,CAAzC,EAA4C;AAC1C,eAAO,MAAM,KAAK,QAAX,GAAsB,OAAtB,GAAgC,MAAvC;AACD;AACF;;AAED,WAAO,SAAP;AACD;;AAED,WAAS,cAAT,CAAwB,KAAxB,EAA+B,KAA/B,EAAoC;AAClC,QAAM,MAAM,GAAG,KAAK,KAAK,OAAV,GAAoB,QAApB,GAA+B,KAA9C;AACA,QAAI,YAAY,CAAC,OAAb,CAAqB,MAArB,MAAiC,CAAC,CAAtC,EAAyC,OAAO,KAAP;AACzC,WAAO,QAAQ,CAAC,MAAD,CAAR,CAAiB,OAAjB,CAAyB,KAAzB,MAAoC,CAAC,CAA5C;AACD;;AAED,WAAS,sBAAT,CAAgC,SAAhC,EAA2C,UAA3C,EAA0E;AAAA,QAAnB,MAAmB,uEAAV,UAAU;AACxE,QAAI,QAAQ,GAAG,KAAK,CAAC,SAAD,CAApB;AAEA,WAAO;AACL,MAAA,UAAU,EAAK,MAAL,SAAe,SADpB;AAEL,MAAA,QAAQ,EAAR,QAFK;AAGL,MAAA,SAAS,EAAE,QAAQ,CAAC,MAAT,CAAgB;AACzB,QAAA,GAAG,EAAE;AACH,UAAA,UAAU,EAAV;AADG,SADoB;AAIzB,QAAA,OAAO,EAAE;AAJgB,OAAhB,CAHN;AASL,MAAA,QAAQ,EAAR;AATK,KAAP;AAWD;;AAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAD,EAAU,KAAV,CAAzC;AACA,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAD,EAAU,KAAV,CAAzC;AACA,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAD,EAAY,KAAZ,CAA3C;AACA,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAD,EAAU,KAAV,CAAzC;AACA,MAAM,IAAI,GAAG,uBAAuB,CAClC;AACE,IAAA,KAAK,EAAE,UADT;AAEE,IAAA,KAAK,EAAE,UAFT;AAGE,IAAA,OAAO,EAAE,YAHX;AAIE,IAAA,KAAK,EAAE;AAJT,GADkC,EAOlC;AACE,IAAA,YAAY,EAAE,SADhB;AAEE,IAAA,cAAc,EAAd,cAFF;AAGE,IAAA,cAAc,EAAd;AAHF,GAPkC,CAApC;AAcA,SAAO,IAAP;AACD","sourcesContent":["import { Platform } from 'react-native';\nimport createMultiStyleIconSet from './createMultiStyleIconSet';\n\nexport const FA5Style = {\n  regular: 'regular',\n  light: 'light',\n  solid: 'solid',\n  brand: 'brand',\n};\n\nexport function createFA5iconSet(glyphMap, metadata = {}, fonts, pro = false) {\n  const metadataKeys = Object.keys(metadata);\n  const fontFamily = `FontAwesome5${pro ? 'Pro' : 'Free'}`;\n\n  function fallbackFamily(glyph) {\n    for (let i = 0; i < metadataKeys.length; i += 1) {\n      const family = metadataKeys[i];\n      if (metadata[family].indexOf(glyph) !== -1) {\n        return family === 'brands' ? 'brand' : family;\n      }\n    }\n\n    return 'regular';\n  }\n\n  function glyphValidator(glyph, style) {\n    const family = style === 'brand' ? 'brands' : style;\n    if (metadataKeys.indexOf(family) === -1) return false;\n    return metadata[family].indexOf(glyph) !== -1;\n  }\n\n  function createFontAwesomeStyle(styleName, fontWeight, family = fontFamily) {\n    let fontFile = fonts[styleName];\n\n    return {\n      fontFamily: `${family}-${styleName}`,\n      fontFile,\n      fontStyle: Platform.select({\n        ios: {\n          fontWeight,\n        },\n        default: {},\n      }),\n      glyphMap,\n    };\n  }\n\n  const brandIcons = createFontAwesomeStyle('Brand', '400');\n  const lightIcons = createFontAwesomeStyle('Light', '100');\n  const regularIcons = createFontAwesomeStyle('Regular', '400');\n  const solidIcons = createFontAwesomeStyle('Solid', '700');\n  const Icon = createMultiStyleIconSet(\n    {\n      brand: brandIcons,\n      light: lightIcons,\n      regular: regularIcons,\n      solid: solidIcons,\n    },\n    {\n      defaultStyle: 'regular',\n      fallbackFamily,\n      glyphValidator,\n    },\n  );\n\n  return Icon;\n}"],"sourceRoot":""},"metadata":{},"sourceType":"module"}