{"version":3,"sources":["webpack://_N_E/./lib/fake-webid.ts","webpack://_N_E/./lib/fetch-feed.ts","webpack://_N_E/./components/toastModal.tsx","webpack://_N_E/./pages-components/home/QRcode.tsx","webpack://_N_E/./pages-components/home/article-leaderboard.tsx","webpack://_N_E/./pages-components/home/common/header.tsx","webpack://_N_E/./components/feed-ad.tsx","webpack://_N_E/./components/feed.tsx","webpack://_N_E/./pages-components/home/feed.tsx","webpack://_N_E/./pages-components/home/ad/label.tsx","webpack://_N_E/(webpack)/buildin/module.js","webpack://_N_E/./node_modules/core-js/internals/create-html.js","webpack://_N_E/./components/links/article-link.tsx","webpack://_N_E/./node_modules/core-js/modules/es.string.link.js","webpack://_N_E/./components/statement.tsx","webpack://_N_E/./pages-components/home/friendship-link.tsx","webpack://_N_E/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://_N_E/./node_modules/core-js/internals/string-html-forced.js"],"names":["getFakeWebid","id","storage","sessionStorage","getItem","err","min","max","Number","MAX_SAFE_INTEGER","Math","floor","random","getInt64","setItem","params","req","extraParams","category","cityName","window","localStorage","city","city_name","selected_city_name","defaultParams","impression_info","JSON","stringify","page_id","sub_tab","product_name","car_series_id","concern_id","aid","refer","channel","device_platform","web_id","motor_feed_extra_params","source","url","getUrl","serializeObject","fetch","then","result","data","Error","Modal","getContainer","props","container","document","createElement","body","appendChild","e","maskClosable","target","currentTarget","onClose","close","this","visible","className","children","title","closable","footer","width","height","clientX","clientY","price","type","dest","undefined","timeout","in","onEntered","onExited","unmountOnExit","onClick","handleMaskClick","classNames","style","src","getComponent","PureComponent","DeclareText","show","onHide","alt","memo","ArticleBoard","article","fromPage","useState","showModal","setShowModal","useEffect","sendTeaCommEvent","list_type","item_type","key_name","leftContent","rightContent","href","as","getLinkHref","icon","marginTop","Array","isArray","slice","map","item","index","key","gid_str","gid","group_id","classnames","count","QRcode","Header","FeedAd","page","info","time","label","cover","get","web_url","customStat","useMemo","rank","String","eventIds","send","click","useAdStat","ref","handleClick","open","borderRadius","formatTime","Feed","subCategory","feedAd","contentType","list","updateList","loading","setLoading","fetchFeed","tt_from","sub_category","renderIdx","loadMoreHandler","lastFeedItem","length","max_behot_time","concat","end","findAd","find","adItem","fix_position","id_str","unique_id_str","duration","video_duration","cursor","content","abstract_content","HomeFeed","tabData","useRef","current","setCurrent","useFeedAd","param","titles","navDomRef","IntersectionObserver","intersectionRatio","classList","add","remove","threshold","observe","text","stopPropagation","obj_text","element","scrollingElement","documentElement","offsetTop","scrollTop","active","renderTitles","from","content_type","Label","module","exports","webpackPolyfill","deprecate","paths","Object","defineProperty","enumerable","l","i","requireObjectCoercible","quot","string","tag","attribute","value","S","p1","replace","ArticleLink","$","createHTML","proto","forced","forcedStringHTMLMethod","link","Statement","year","Date","getFullYear","rel","dpFeedback","start","FriendshipLink","friendshipLinkData","friendshipLink","name","stat","fails","METHOD_NAME","test","toLowerCase","split"],"mappings":"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","file":"static/chunks/1e616dae65cf978ae3b0d97d14adc5357b4e6076.164c8e61b4250e82cd8e.js","sourcesContent":["export default function getFakeWebid(): string {\n let id = ''\n try {\n const storage = sessionStorage.getItem('fakeWebid')\n if (storage) {\n id = storage\n }\n } catch (err) {}\n if (!id) {\n id = getInt64()\n }\n try {\n sessionStorage.setItem('fakeWebid', id)\n } catch (err) {}\n return id\n}\n\nfunction getInt64(): string {\n const min = 0\n const max = Number.MAX_SAFE_INTEGER || 9007199254740991\n return `${Math.floor(Math.random() * (max - min + 1) + min)}`\n}\n","// feed流接口\n\nimport fetch from 'lib/decorated-fetch'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\nimport getUrl from './url'\nimport getFakeWebid from 'lib/fake-webid'\n\ninterface IParams {\n // 下拉刷新时需要改变\n tt_from: 'enter_auto' | 'load_more' | ''\n // 频道\n category: string\n // 子频道\n sub_category?: string\n /* 车系id */\n concern_id?: number\n // 数量\n count?: number\n // 加载更多时最后一条数据的behot_time.\n max_behot_time?: number\n min_behot_time?: number\n}\n\n/**\n * feed流单个数据\n */\nexport interface IFeedData {\n type: number\n unique_id_str: string\n info: {\n abstract_content: string\n source: string\n title: string\n group_id: string\n video_id?: string\n video_duration: number\n image_list: [\n {\n url: string\n width: number\n height: number\n url_list: { url: string }[]\n }\n ]\n read_count: number\n comment_count: number\n article_type: number\n behot_time: number\n display_time: number\n user_info: {\n user_id: number\n name: string\n verified_content: string\n avatar_url: string\n user_verified: boolean\n }\n cursor: number\n share_url: string\n video_detail_info: {\n detail_video_large_image: {\n url: string\n }\n }\n }\n}\n\n/**\n * feed流返回数据\n */\nexport interface IFeedResult {\n tips: {\n display_info: string\n }\n data: IFeedData[]\n}\n\nexport default (params: IParams, req?: any): Promise => {\n const { category } = params\n let extraParams = {}\n if (category === 'motor_local') {\n const cityName = window.localStorage.getItem('cityName') || ''\n extraParams = {\n city: cityName,\n city_name: cityName,\n selected_city_name: cityName,\n }\n }\n\n const defaultParams = {\n impression_info: JSON.stringify({\n page_id: 'page_car_series',\n sub_tab: params.category,\n product_name: 'web',\n car_series_id: params.concern_id,\n }),\n aid: '1839',\n refer: 1,\n channel: 'web',\n device_platform: 'web',\n // iid: Cookies('tt_webid', {}),\n web_id: getFakeWebid(),\n motor_feed_extra_params: '{\"new_feed\": true, \"feed_type\": 1}',\n source: 'pc',\n }\n // console.log(params)\n const url = getUrl(\n `/motor/stream_entrance/get_feed/v47/?${serializeObject(\n params\n )}&${serializeObject({ ...defaultParams, ...extraParams })}`,\n 'automobile.apigateway.proxy'\n )\n return fetch(url, { req }).then((result: Partial | null) => {\n if (!result || !result.data) {\n throw new Error(`Get Feed Error ${JSON.stringify(result)}`)\n }\n // if (params.category === 'video') {\n // result.data = result.data.filter(item => item.info.video_id)\n // }\n return result as IFeedResult\n })\n}\n","import React, { PureComponent } from 'react'\nimport classNames from 'classnames'\nimport { Fade } from './animation'\nimport Portal from './portal'\n\nexport interface IModalProps {\n /** 样式类名 */\n className?: string\n title?: React.ReactNode\n children: React.ReactNode\n maskClosable: boolean\n /** 关闭后回调 */\n onClose?: (e: React.MouseEvent) => void\n /** 是否可见 */\n visible: boolean\n /** 获取挂载容器 */\n getContainer?: () => HTMLElement\n /** 底部配置 */\n footer?: React.ReactNode\n /** 是否展示关闭按钮 */\n closable: boolean\n /** 关闭函数 */\n close: () => void\n /** 内容宽度 */\n width?: number | string\n /** 内容高度 */\n height?: number | string\n clientX: number\n clientY: number\n type?: number\n price?: string\n}\n\nexport default class Modal extends PureComponent {\n static defaultProps: Partial = {\n closable: false,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n close: () => {},\n maskClosable: true,\n visible: false,\n }\n\n getContainer = () => {\n const { getContainer } = this.props\n if (getContainer) {\n return getContainer()\n }\n const container = document.createElement('div')\n document.body.appendChild(container)\n return container\n }\n\n handleMaskClick = (e: React.MouseEvent) => {\n const { maskClosable } = this.props\n if (maskClosable && e.target === e.currentTarget) {\n this.onClose(e)\n }\n }\n\n onClose = (e: React.MouseEvent) => {\n const { onClose, close } = this.props\n onClose && onClose(e)\n close()\n }\n\n onEntered = () => {\n // const clientWidthBefore = document.body.clientWidth\n // document.body.style.overflow = 'hidden'\n // const clientWidthAfter = document.body.clientWidth\n // const scrollBarWidth = clientWidthAfter - clientWidthBefore\n // document.body.style.paddingRight = `${scrollBarWidth}px`\n }\n\n onExited = () => {\n // document.body.style.overflow = ''\n // document.body.style.paddingRight = '0'\n }\n\n getComponent() {\n const {\n visible,\n className,\n children,\n title,\n closable,\n footer,\n width,\n height,\n clientX,\n clientY,\n onClose,\n price,\n type,\n } = this.props\n\n const dest: any = {}\n if (width !== undefined) {\n dest.width = width\n }\n if (height !== undefined) {\n dest.height = height\n }\n\n return (\n \n \n
\n {\n onClose && onClose(e)\n }}\n >\n \n \n \n
\n {!!title && (\n
\n
{title}
\n {type === 1 ? (\n
1元
\n ) : (\n
{price}
\n )}\n {closable && (\n \n )}\n
\n )}\n
{children}
\n {!!footer &&
{footer}
}\n \n \n \n \n )\n }\n\n render() {\n return (\n {this.getComponent()}\n )\n }\n}\n","import React, { memo } from 'react'\nimport Modal from 'Components/toastModal'\n\nexport interface IDeclareTextProps {\n show: boolean\n onHide: () => void\n clientX: number\n clientY: number\n type?: number\n price?: string\n}\nfunction DeclareText({\n show,\n onHide,\n clientX,\n clientY,\n type = 1,\n price,\n}: IDeclareTextProps) {\n return (\n <>\n \n
\n
\n \n
\n
\n \n \n \n )\n}\n\nexport default memo(DeclareText)\n","import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\nimport ArticleLink from 'Components/links/article-link'\nimport 'lib/swiper.less'\nimport Header from 'Pages/home/common/header'\nimport getLinkHref from 'lib/get-link-href'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport QRcode from './QRcode'\ninterface IProps {\n article: ArticleData[]\n fromPage?: string\n}\n\nexport interface ArticleData {\n gid: number\n gid_str: string\n title: string\n count: number\n type: number\n}\n\nexport default function ArticleBoard({\n article = [],\n fromPage = 'home',\n}: IProps) {\n const [showModal, setShowModal] = useState(false)\n const [clientX, setClientX] = useState(0)\n const [clientY, setClientY] = useState(0)\n useEffect(() => {\n sendTeaCommEvent('web_client_show', {\n list_type: 1,\n item_type: 1,\n key_name: 'home_hot_article_card',\n })\n }, [])\n\n return (\n <>\n
\n {\n sendTeaCommEvent('click_new_series_rank_list_more')\n }}\n />\n
    \n {Array.isArray(article) &&\n article.slice(0, 10).map((item, index) => {\n return (\n
  • \n {\n if (fromPage === 'feed') {\n sendTeaCommEvent('click_news_top_article', {\n group_id: item?.gid_str || 'undefined',\n })\n }\n sendTeaCommEvent('click_home_top_article', {\n group_id: item.gid_str,\n })\n }}\n className=\"line-1\"\n >\n \n {index + 1}\n {index < 3 ? null : '.'}\n \n \n {item.title}\n \n \n {item.count}万次阅读\n
  • \n )\n })}\n
\n\n {\n setShowModal(!showModal)\n }}\n />\n
\n \n \n )\n}\n","import React from 'react'\nimport Link from 'next/link'\n\nimport getLinkHref from 'lib/get-link-href'\n\ninterface IProps {\n /* icon图片路径 */\n icon?: string\n /* 左边的文本内容 */\n leftContent: string\n /* 右边的文本内容 */\n rightContent: string\n /* link前端路径 */\n href?: string\n /* link后端路径 */\n as?: string\n onClick?(): void\n}\n\nexport default function Header({\n icon,\n leftContent,\n rightContent,\n href,\n as,\n onClick,\n}: IProps) {\n // background: url(${require(`static/${icon}_ic@3x.png`)}) no-repeat\n // center / 36px 36px;\n return (\n
\n {leftContent === '热门排行榜' ? (\n

{leftContent}

\n ) : (\n {leftContent}\n )}\n {href && as ? (\n \n \n {\n onClick && onClick()\n }}\n >\n {rightContent}\n \n \n \n \n ) : (\n {rightContent}\n )}\n \n
\n )\n}\n","/* feed流/相关推荐的文章 */\nimport React, { useEffect, useMemo } from 'react'\nimport Link from 'next/link'\nimport get from 'lodash/get'\n\nimport formatTime from 'lib/format-time'\nimport getLinkHref from 'lib/get-link-href'\nimport { useAdStat } from 'Components/ad/'\n\nimport Image from 'Components/image'\n\nimport { IFeedAdData } from 'Components/hooks'\n\ninterface IProps {\n category: string\n page: string\n info: IFeedAdData\n index: number\n gid: string | undefined\n contentType?: string\n}\n\nexport default function FeedAd({ page, info, index }: IProps) {\n const { title, source, time, label } = info\n\n const cover = get(info, 'image_list[0].url', '')\n const href = info.web_url\n const as: string = getLinkHref(info.web_url)\n const customStat = useMemo(\n () => ({\n rank: String(index - 1),\n }),\n [index]\n )\n\n // 区分资讯页固定位广告和首页固定位广告的埋点信息\n const eventIds =\n page === 'feed'\n ? {\n send: 'ad_send_article_feed_cell',\n show: 'ad_show_article_feed_cell',\n click: 'ad_click_article_feed_cell',\n }\n : {\n send: 'ad_send_feed_cell',\n show: 'ad_show_feed_cell',\n click: 'ad_click_feed_cell',\n }\n const { ref, handleClick } = useAdStat(eventIds, info, customStat)\n return (\n {\n handleClick()\n window.open(href, '_blank')\n }}\n ref={ref}\n >\n \n \n \n \n \n \n )\n}\n","/* 渲染feed流 */\n\nimport React, { useState, useEffect, useRef } from 'react'\nimport ScrollLoader from 'Components/scroll-loader'\nimport get from 'lodash/get'\n\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport fetchFeed, { IFeedData } from 'lib/fetch-feed'\n\nimport Loading from 'Components/loading'\nimport Article from 'Components/article'\nimport FeedAd from 'Components/feed-ad'\nimport { IFeedAdData } from './hooks'\n\ninterface IProps {\n category: string\n subCategory?: string\n /**\n * 来自哪个页面,目前取值\n * * home 首页\n * * article 文章页\n * * series_home 车系详情\n */\n page: 'home' | 'article' | 'series_home' | 'feed'\n concern_id?: number\n onClick?: (\n group_id: string | number,\n content_type: number,\n index?: number\n ) => void\n feedAd?: IFeedAdData[]\n gid?: string\n contentType?: string\n from?: string\n}\n\nfunction Feed({\n category,\n subCategory = '',\n concern_id,\n onClick,\n feedAd,\n gid,\n page,\n contentType,\n}: IProps) {\n const [list, updateList] = useState([])\n // 是否在加载中\n const [loading, setLoading] = useState(false)\n\n useEffect(() => {\n setLoading(true)\n updateList([])\n fetchFeed({\n tt_from: 'enter_auto',\n concern_id,\n category,\n sub_category: subCategory,\n }).then(data => {\n setLoading(false)\n updateList(get(data, 'data'))\n })\n }, [category, concern_id, subCategory])\n\n /* 懒加载 */\n function loadMoreHandler() {\n let lastFeedItem: IFeedData | null = null\n if (list.length > 0) {\n lastFeedItem = list[list.length - 1]\n }\n setLoading(true)\n fetchFeed({\n tt_from: 'load_more',\n sub_category: subCategory,\n category,\n count: 20,\n concern_id,\n max_behot_time: get(lastFeedItem, 'info.behot_time', undefined),\n }).then(data => {\n setLoading(false)\n sendTeaCommEvent('loadmore_home_news')\n updateList(list.concat(get(data, 'data')))\n })\n }\n\n let renderIdx = 0\n\n return (\n <>\n \n {list && list.length\n ? list.map((item: IFeedData, index) => {\n // 过滤非图文视频(不准确) // TODO: 确认这里过滤掉的类型具体有哪些\n // https://ee.byted.org/madeira/browse/service_rpc/idl/blob/master/motor/cell.thrift/\n if (item.type < 2000 || item.type >= 2300) {\n return null\n }\n renderIdx++\n if (feedAd && feedAd.length) {\n const findAd = feedAd.find(adItem => {\n return adItem.fix_position === renderIdx\n })\n if (findAd) {\n return (\n \n )\n }\n }\n const info = get(item, 'info', {}) as IFeedData['info']\n return (\n \n )\n })\n : null}\n \n {loading ? : null}\n \n )\n}\nexport default Feed\n","/* 渲染feed流 */\n\nimport React, { useState, useRef, useEffect } from 'react'\nimport classnames from 'classnames'\n\nimport Feed from 'Components/feed'\nimport { useFeedAd } from 'Components/hooks'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\n\nexport interface TabData {\n text: string\n param: string\n}\n\nfunction HomeFeed({\n fromPage = 'home',\n tabData = [],\n}: {\n fromPage?: string\n tabData?: TabData[]\n}) {\n const container = useRef(null)\n /* 当前所在文章的栏目 */\n const [current, setCurrent] = useState('motor_car')\n const feedAd = useFeedAd(current, fromPage) || []\n\n useEffect(() => {\n if (tabData.length > 0) {\n setCurrent(tabData?.[0]?.param || 'motor_car')\n }\n }, [tabData])\n\n /* 渲染feed流都有哪些文章栏目 */\n function renderTitles() {\n let titles: { text: string; category: string }[]\n const navDomRef = useRef(null)\n\n useEffect(() => {\n if (navDomRef.current !== null && fromPage === 'feed') {\n const observer = new IntersectionObserver(\n ([e]) => {\n if (e.intersectionRatio < 1) {\n e.target.classList.add('stuck')\n } else if (e.intersectionRatio === 1) {\n e.target.classList.remove('stuck')\n }\n },\n { threshold: [1] }\n )\n observer.observe(navDomRef.current)\n }\n }, [navDomRef.current])\n if (fromPage === 'feed') {\n titles = tabData.map(e => ({ text: e.text, category: e.param }))\n } else {\n titles = [\n { text: '推荐', category: 'motor_car' },\n { text: '新车', category: 'motor_car_new_arrival' },\n { text: '用车', category: 'motor_car_use' },\n { text: '导购', category: 'motor_car_new_guide' },\n { text: 'SUV', category: 'motor_car_suv' },\n { text: '自驾游', category: 'motor_car_travel' },\n { text: '新能源', category: 'motor_car_new_energy' },\n { text: '提车作业', category: 'motor_car_trail_diary' },\n { text: '试驾评测', category: 'motor_car_evaluating' },\n ]\n }\n\n return (\n \n {titles.map(\n (item: { text: string; category: string }, index: number) => (\n ) => {\n e.stopPropagation()\n setCurrent(item.category)\n if (fromPage !== 'feed') {\n sendTeaCommEvent('click_home_news_tab', {\n sub_tab: item.text,\n })\n } else {\n sendTeaCommEvent('click_news_top_tab', {\n rank: index,\n obj_text: titles[index].text,\n })\n }\n\n const element =\n document.scrollingElement || document.documentElement\n if (element && container.current) {\n const top = container.current.offsetTop\n if (top <= element.scrollTop) {\n element.scrollTop = container.current.offsetTop\n }\n }\n }}\n >\n {item.text}\n \n )\n )}\n \n \n )\n }\n\n return (\n
\n {renderTitles()}\n {\n if (fromPage === 'feed') {\n sendTeaCommEvent('click_news_feed_item', {\n rank,\n group_id,\n content_type,\n })\n }\n }}\n />\n
\n )\n}\nexport default HomeFeed\n","import React from 'react'\nexport default function Label({\n text = '广告',\n className,\n}: {\ntext: string\nclassName?: string\n}) {\n return (\n \n {text}\n \n \n )\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","import * as React from 'react'\nimport Link from 'next/link'\n\ninterface IProps {\n gid: string\n className?: string\n isVideo?: boolean\n children: React.ReactNode\n onClick?(gid: string): void\n}\n\nexport default function ArticleLink(props: IProps) {\n const { gid, children, className, onClick } = props\n // if (isVideo) {\n // return (\n // \n // {children}\n // \n // )\n // }\n return (\n <>\n \n {\n onClick && onClick(gid)\n }}\n target=\"_blank\"\n >\n {children}\n \n \n \n \n )\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","/* 声明文件 */\nimport React from 'react'\n\nexport default function Statement() {\n const year = new Date().getFullYear()\n return (\n
\n

© {year} 懂车帝 www.dongchedi.com

\n

\n \n 京公网安备 11010802026035号\n \n

\n

\n \n 京ICP备17027026号-3\n \n

\n

\n \n 增值电信业务经营许可证(京B2-20180202)\n \n

\n

\n \n 广播电视节目制作经营许可证\n \n

\n

网络文化经营许可证-京网文(2019)4715-493号

\n

公司名称:北京空间变换科技有限公司

\n

\n \n 中央网信办违法和不良信息举报中心\n \n

\n

违法和不良信息举报电话:400-140-2108

\n

\n \n 懂车帝用户协议\n {' '}\n |{' '}\n \n 懂车帝隐私政策\n {' '}\n |{' '}\n \n 营业执照\n \n

\n

\n \n 侵权投诉\n {' '}\n |{' '}\n {\n if ('dpFeedback' in window) {\n window.dpFeedback.start()\n }\n }}\n >\n 我要反馈\n \n

\n \n
\n )\n}\n","import React from 'react'\n\ninterface IFriendshipLink {\n friendshipLinkData: IFriendshipLinkData[]\n}\n\nexport interface IFriendshipLinkData {\n name: string\n link: string\n}\n\nfunction FriendshipLink({ friendshipLinkData }: IFriendshipLink) {\n if (!friendshipLinkData || !friendshipLinkData.length) return null\n return (\n
\n
友情链接
\n
\n {friendshipLinkData.map((friendshipLink: IFriendshipLinkData) => {\n return (\n \n {friendshipLink.name}\n \n )\n })}\n
\n \n
\n )\n}\n\nexport default FriendshipLink\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.github.io/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n"],"sourceRoot":""}