{"version":3,"sources":["webpack://@lemon8/web-sharing/./shared/atoms/article/article-comment-replies.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/sharer-ab-test.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/sharer-detail.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/root-traffic.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/page-level-traffic.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/feature-flag.ts","webpack://@lemon8/web-sharing/./shared/atoms/article/article-detail.ts","webpack://@lemon8/web-sharing/./shared/atoms/article/article-related-posts.ts","webpack://@lemon8/web-sharing/./shared/atoms/article/article-comments.ts","webpack://@lemon8/web-sharing/./shared/utils/pending-queue.ts","webpack://@lemon8/web-sharing/./shared/atoms/user/user-detail.ts","webpack://@lemon8/web-sharing/./shared/atoms/user/user-posts.ts","webpack://@lemon8/web-sharing/./shared/atoms/user/user-related-user.ts","webpack://@lemon8/web-sharing/./shared/atoms/hashtag/index.ts","webpack://@lemon8/web-sharing/./shared/atoms/index.ts","webpack://@lemon8/web-sharing/./shared/atoms/poi/poi-info.ts","webpack://@lemon8/web-sharing/./shared/atoms/poi/poi-posts.ts","webpack://@lemon8/web-sharing/./shared/utils/node-pending-queue.ts","webpack://@lemon8/web-sharing/./shared/utils/safe-atom-family.ts","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/ab-test.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/crawler.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/i18n-text.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/locale.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/render-config.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/root-traffic.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/user-agent.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/web-user.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/europe.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/language.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/region.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/num-formatter.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/time-ago-formatter.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/time-formatter.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/no-operation.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/unreachable.js"],"names":["$CommentRepliesStore","atom","debugLabel","$CommentReplies","safeAtomFamily","commentId","a","get","items","hasMore","offset","set","input","old","_objectSpread","concat","encodeURIComponent","$CommentRepliesLoadmore","$SharerABTest","versions","parameters","$SharerDetail","$RootTraffic","$OriginRootTraffic","$SharingPageLevelTraffic","$FeatureFlags","$ArticleDetailStore","$ArticleDetail","groupId","data","Unreachable","ERelatedChannel","$ArticleRelatedPostsStore","$ArticleRelatedPosts","Promise","catch","relatedChannel","sessionImprId","maxBehotTime","$ArticleRelatedPostsLoadmore","store","$ArticleCommentsStore","$ArticleComments","$ArticleCommentsLoadmore","comment","PendingQueue","constructor","_tasks","_doInterval","length","console","log","forEach","task","window","setInterval","push","pendingQueue","$UserDetailStore","$UserDetail","userUniqueName","resolve","userDetail","$UserPostStore","$UserPost","userLinkName","$UserPostLoadmore","$UserRelatedUserStore","$UserRelatedUser","$UserRelatedUserLoadmore","$HashtagInfoStore","$HashtagPopularPostStore","$HashtagRecentPostStore","$HashtagInfo","hashtagId","$HashtagPopularPost","$HashtagPopularPostLoadmore","$HashtagRecentPost","$HashtagRecentPostLoadmore","Atoms","$Locale","$ABTest","$RenderConfig","$WebUser","$UserAgent","$I18nText","AtomFamilies","$POIInfo","$POIPosts","$POIInfoStore","poiId","$POIPostStore","$POIPostsLoadmore","NodePendingQueue","nodePendingQueue","initializeAtom","areEqual","family","initializeAtomWrapper","param","remove","atomFamily","Object","exports","value","jotai_1","require","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","defineProperty","__exportStar","p","prototype","hasOwnProperty","call","isSteamingSSR","isMobile","isBot","isiOS","isSafari","isInApp","isMacOS","webId","Set","EURO_COUNTRY_LIST","isEuropeRegion","region","EURO_COUNTRY_SET","has","region_1","Language","en","id","ja","ms","th","vi","fil","Region","jp","my","vn","us","gb","sg","ph","IDCRegion","getRegionIDC","includes","VA","SG","i18n_1","NUM_INTERVAL_MAP","w","formatNum","num","_config","arguments","undefined","val","config","decimal","units","needDiv","type","toFixed","replace","unitDigit","toString","split","oneDecimal","Number","String","upperLimit","upperText","s","tmpl","formatNumByRegion","t","__importDefault","mod","dayjs_1","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_WEEK","EIGHT_DAY","formatTimeAgo","time","now","Date","after","seconds","Math","floor","minutes","hours","days","weeks","timeDayjs","default","year","format","dateToLocalISO","timeStamp","timeZone","off","absoff","abs","toISOString","substr","padStart","NoOperation","reason","Error"],"mappings":"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","file":"868-7a32982086d2f81b9c64.js","sourcesContent":["import { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TComment } from 'shared/models/comment';\n\nexport interface ICommentReplies {\n items: TComment[];\n offset: number;\n hasMore: boolean;\n}\n\ntype TCommentRepliesStore = {\n [key: string]: ICommentReplies;\n};\n\nconst $CommentRepliesStore = atom({} as TCommentRepliesStore);\n$CommentRepliesStore.debugLabel = '$CommentRepliesStore';\n\nexport const $CommentReplies = safeAtomFamily((commentId: string) => {\n const a = atom(\n (get) => {\n return (\n get($CommentRepliesStore)[commentId] || {\n items: [],\n hasMore: true,\n offset: 0,\n }\n );\n },\n (get, set, input: ICommentReplies) => {\n const old = get($CommentRepliesStore);\n set($CommentRepliesStore, {\n ...old,\n [commentId]: input,\n });\n },\n );\n\n a.debugLabel = `$CommentReplies+${encodeURIComponent(commentId)}`;\n\n return a;\n});\n\nexport const $CommentRepliesLoadmore = safeAtomFamily((commentId: string) => {\n const a = atom(null, async (get, set, input: ICommentReplies) => {\n const old = get($CommentReplies(commentId));\n\n set($CommentReplies(commentId), {\n ...input,\n items: [...old.items, ...input.items],\n });\n });\n\n a.debugLabel = `$CommentRepliesLoadmore+${encodeURIComponent(commentId)}`;\n\n return a;\n});\n","import { atom } from 'jotai';\nimport { IABTest } from '@lemon8/web-app-shared/atom';\n\nexport const $SharerABTest = atom({\n versions: '',\n parameters: {},\n});\n\n$SharerABTest.debugLabel = '$SharerABTest';\n","import { atom } from 'jotai';\nimport { TUserDetail } from 'shared/models';\n\nexport const $SharerDetail = atom({} as TUserDetail);\n$SharerDetail.debugLabel = '$SharerDetail';\n","import { IRootTraffic, $RootTraffic as $OriginRootTraffic } from '@lemon8/web-app-shared/atom';\nimport { EPageType } from 'shared/constant/page-type';\nimport { PrimitiveAtom } from 'jotai';\n\nexport interface ISharingRootTraffic extends IRootTraffic {\n enterPageName: EPageType;\n enterPageId: string;\n\n trafficPid: 'sharing_install';\n\n // timestamp - 10bits\n // shareTime: string;\n // sharerUid: string;\n // sharerDid: string;\n\n sharerToken: string;\n\n sharePlatform: string;\n\n isSharingTest: boolean;\n}\n\nexport const $RootTraffic = $OriginRootTraffic as unknown as PrimitiveAtom;\n","import { atom } from 'jotai';\nimport { EPageType } from 'shared/constant/page-type';\n\ninterface ISharingPageTraffic {\n canonicalUrl: string;\n pageType: EPageType;\n}\n\nexport interface IHashtagPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.HASHTAG;\n hashtagId: string;\n}\n\nexport interface IGalleryPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.Gallery;\n groupId: string;\n mediaId: string;\n}\n\nexport interface IVideoPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.VIDEO;\n groupId: string;\n mediaId: string;\n}\n\nexport interface IPOIPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.POI;\n poiId: string;\n}\n\nexport interface IUserPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.USER;\n userLinkName: string;\n userId: string;\n}\n\nexport type TPageLevelTraffic =\n | IHashtagPageTraffic\n | IPOIPageTraffic\n | IGalleryPageTraffic\n | IVideoPageTraffic\n | IUserPageTraffic;\n\nexport const $SharingPageLevelTraffic = atom({} as TPageLevelTraffic);\n$SharingPageLevelTraffic.debugLabel = '$SharingPageLevelTraffic';\n","import { atom } from 'jotai';\n\nexport const $FeatureFlags = atom>({});\n\n$FeatureFlags.debugLabel = '$FeatureFlags';\n","import { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { IArticleUnavailableDetail, TArticleDetail } from 'shared/models/article';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\n\ntype TArticleDetailStore = {\n [key: string]: TArticleDetail | IArticleUnavailableDetail | undefined;\n};\n\nconst $ArticleDetailStore = atom({} as TArticleDetailStore);\n$ArticleDetailStore.debugLabel = '$ArticleDetailStore';\n\nexport const $ArticleDetail = safeAtomFamily((groupId: string) => {\n const a = atom(\n (get) => {\n const data = get($ArticleDetailStore)[groupId];\n if (!data) {\n return Unreachable();\n }\n return data;\n },\n (get, set, input: TArticleDetail | IArticleUnavailableDetail) => {\n const old = get($ArticleDetailStore);\n set($ArticleDetailStore, {\n ...old,\n [groupId]: input,\n });\n },\n );\n\n a.debugLabel = `$ArticleDetail+${encodeURIComponent(groupId)}`;\n\n return a;\n});\n","import { TArticleDetail } from 'shared/models/article';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\n\nexport enum ERelatedChannel {\n FeedForyou = '0',\n Related = '61',\n}\n\nexport interface IArticleRelatedPosts {\n items: TArticleDetail[];\n relatedChannel: ERelatedChannel;\n hasMore: boolean;\n sessionImprId: string;\n maxBehotTime: string;\n}\n\ntype TArticleRelatedPostsStore = { [key: string]: PromiseOrValue | undefined };\n\nconst $ArticleRelatedPostsStore = atom({} as TArticleRelatedPostsStore);\n$ArticleRelatedPostsStore.debugLabel = '$ArticleRelatedPostsStore';\n\nexport const $ArticleRelatedPosts = safeAtomFamily((groupId: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($ArticleRelatedPostsStore)[groupId];\n if (!data) {\n return Unreachable();\n }\n\n if (data instanceof Promise) {\n return data.catch(() => ({\n items: [],\n relatedChannel: ERelatedChannel.Related,\n hasMore: false,\n sessionImprId: '',\n maxBehotTime: '',\n }));\n }\n\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($ArticleRelatedPostsStore);\n set($ArticleRelatedPostsStore, { ...old, [groupId]: input });\n },\n );\n\n a.debugLabel = `$ArticleRelatedPosts+${encodeURIComponent(groupId)}`;\n return a;\n});\n\nexport const $ArticleRelatedPostsLoadmore = safeAtomFamily((groupId: string) => {\n const a = atom(null, async (get, set, input: IArticleRelatedPosts) => {\n const store = get($ArticleRelatedPostsStore);\n const old = await store[groupId];\n\n if (old) {\n set($ArticleRelatedPostsStore, {\n ...store,\n [groupId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$ArticleRelatedPostsLoadmore+${encodeURIComponent(groupId)}`;\n return a;\n});\n","import { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\nimport { IPrimaryComment } from 'shared/models/comment';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\n\nexport interface IArticleComments {\n items: IPrimaryComment[];\n offset: number;\n hasMore: boolean;\n}\n\ntype TArticleCommentsStore = {\n [key: string]: PromiseOrValue | undefined;\n};\n\nconst $ArticleCommentsStore = atom({} as TArticleCommentsStore);\n$ArticleCommentsStore.debugLabel = '$ArticleCommentsStore';\n\nexport const $ArticleComments = safeAtomFamily((groupId: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($ArticleCommentsStore)[groupId];\n if (!data) {\n return Unreachable();\n }\n\n if (data instanceof Promise) {\n return data.catch(() => ({\n items: [],\n offset: 0,\n hasMore: false,\n }));\n }\n\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($ArticleCommentsStore);\n set($ArticleCommentsStore, {\n ...old,\n [groupId]: input,\n });\n },\n );\n\n a.debugLabel = `$ArticleComments+${encodeURIComponent(groupId)}`;\n\n return a;\n});\n\nexport const $ArticleCommentsLoadmore = safeAtomFamily((groupId: string) => {\n const a = atom(null, async (get, set, input: IArticleComments) => {\n const old = get($ArticleCommentsStore);\n const comment = await old[groupId];\n\n if (comment) {\n set($ArticleCommentsStore, {\n ...old,\n [groupId]: {\n ...input,\n items: [...comment.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$ArticleCommentsLoadmore+${encodeURIComponent(groupId)}`;\n\n return a;\n});\n","export class PendingQueue {\n private _tasks: (() => void)[] = [];\n\n constructor() {\n if (typeof window !== 'undefined') {\n window.setInterval(this._doInterval, 16);\n }\n }\n\n public push(task: (...args: unknown[]) => void) {\n if (typeof window !== 'undefined') {\n this._tasks.push(task);\n }\n }\n\n private _doInterval = (): void => {\n if (this._tasks.length) {\n console.log('pending tasks found, total count: %d', this._tasks.length);\n this._tasks.forEach((task) => task());\n this._tasks = [];\n }\n };\n}\n\nexport const pendingQueue = new PendingQueue();\n","import { atom } from 'jotai';\nimport { IUserDetail, IUserUnavailableDetail } from 'shared/models/user';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { pendingQueue } from 'shared/utils/pending-queue';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\n\ntype TUserDetailStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $UserDetailStore = atom({});\n\n/**\n * get user detail data\n *\n * use user-unique-name as key\n */\nexport const $UserDetail = safeAtomFamily((userUniqueName: string) => {\n const a = atom<\n PromiseOrValue,\n [PromiseOrValue],\n void\n >(\n (get) => {\n const data = get($UserDetailStore)[userUniqueName];\n if (!data) {\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw new Promise((resolve) => pendingQueue.push(resolve));\n }\n return data;\n },\n (get, set, userDetail) => {\n const old = get($UserDetailStore);\n set($UserDetailStore, { ...old, [userUniqueName]: userDetail });\n },\n );\n\n a.debugLabel = `$UserDetail+${encodeURIComponent(userUniqueName)}`;\n\n return a;\n});\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TArticleDetail } from 'shared/models/article';\n\nexport interface IUserPosts {\n items: TArticleDetail[];\n hasMore: boolean;\n maxBeHotTime: string;\n}\n\ntype TUserPostStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $UserPostStore = atom({} as TUserPostStore);\n\nexport const $UserPost = safeAtomFamily((userLinkName: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($UserPostStore)[userLinkName];\n if (!data) {\n return Unreachable('no data in $UserPost');\n }\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($UserPostStore);\n set($UserPostStore, { ...old, [userLinkName]: input });\n },\n );\n\n a.debugLabel = `$UserPost+${encodeURIComponent(userLinkName)}`;\n\n return a;\n});\n\nexport const $UserPostLoadmore = safeAtomFamily((userLinkName: string) => {\n const a = atom(null, async (get, set, input) => {\n const store = get($UserPostStore);\n const old = await store[userLinkName];\n\n if (old) {\n set($UserPostStore, {\n ...store,\n [userLinkName]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$UserPostLoadmore+${encodeURIComponent(userLinkName)}`;\n return a;\n});\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { IRelatedUserDetail } from 'shared/models';\n\nexport interface IUserRelatedUser {\n items: IRelatedUserDetail[];\n sessionImprId: string;\n hasMore: boolean;\n}\n\ntype TUserRelatedUserStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $UserRelatedUserStore = atom({} as TUserRelatedUserStore);\n\nexport const $UserRelatedUser = safeAtomFamily((userLinkName: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($UserRelatedUserStore)[userLinkName];\n if (!data) {\n return Unreachable('no data in $UserRelatedUser');\n }\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($UserRelatedUserStore);\n set($UserRelatedUserStore, { ...old, [userLinkName]: input });\n },\n );\n\n a.debugLabel = `$UserRelatedUser+${encodeURIComponent(userLinkName)}`;\n\n return a;\n});\n\nexport const $UserRelatedUserLoadmore = safeAtomFamily((userLinkName: string) => {\n const a = atom(null, async (get, set, input: IUserRelatedUser) => {\n const store = get($UserRelatedUserStore);\n const old = await store[userLinkName];\n\n if (old) {\n set($UserRelatedUserStore, {\n ...store,\n [userLinkName]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$UserRelatedUserLoadmore+${encodeURIComponent(userLinkName)}`;\n\n return a;\n});\n","import { atom, PrimitiveAtom } from 'jotai';\nimport { pendingQueue } from 'shared/utils/pending-queue';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { IHashtagInfo, IHashtagUnavailableInfo } from 'shared/models/hashtag';\nimport { TArticleDetail } from 'shared/models/article';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\n\nexport interface IHashtagPosts {\n items: TArticleDetail[];\n hasMore: boolean;\n sessionImprId: string;\n}\n\ntype HashtagInfoStore = { [key: string]: IHashtagInfo | IHashtagUnavailableInfo | undefined };\ntype HashtagPostsStore = { [key: string]: IHashtagPosts | undefined };\n\nexport const $HashtagInfoStore: PrimitiveAtom = atom({});\nexport const $HashtagPopularPostStore: PrimitiveAtom = atom({});\nexport const $HashtagRecentPostStore: PrimitiveAtom = atom({});\n\nexport const $HashtagInfo = safeAtomFamily((hashtagId: string) => {\n const a = atom(\n (get) => {\n const data = get($HashtagInfoStore)[hashtagId];\n if (!data) {\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw new Promise((resolve) => pendingQueue.push(resolve));\n }\n return data;\n },\n (get, set, input: IHashtagInfo | IHashtagUnavailableInfo) => {\n const old = get($HashtagInfoStore);\n set($HashtagInfoStore, { ...old, [hashtagId]: input });\n },\n );\n a.debugLabel = `$HashtagInfo+${encodeURIComponent(hashtagId)}`;\n return a;\n});\n\nexport const $HashtagPopularPost = safeAtomFamily((hashtagId: string) => {\n const a = atom(\n (get) => {\n const data = get($HashtagPopularPostStore)[hashtagId];\n if (!data) {\n return Unreachable('no data in $HashtagPopularPost');\n }\n return data;\n },\n (get, set, input: IHashtagPosts) => {\n const old = get($HashtagPopularPostStore);\n set($HashtagPopularPostStore, { ...old, [hashtagId]: input });\n },\n );\n a.debugLabel = `$HashtagPopularPost+${encodeURIComponent(hashtagId)}`;\n return a;\n});\n\nexport const $HashtagPopularPostLoadmore = safeAtomFamily((hashtagId: string) => {\n const a = atom(null, async (get, set, input: IHashtagPosts) => {\n const store = get($HashtagPopularPostStore);\n const old = await store[hashtagId];\n\n if (old) {\n set($HashtagPopularPostStore, {\n ...store,\n [hashtagId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$HashtagPopularPostLoadmore+${encodeURIComponent(hashtagId)}`;\n\n return a;\n});\n\nexport const $HashtagRecentPost = safeAtomFamily((hashtagId: string) => {\n const a = atom(\n (get) => {\n const data = get($HashtagRecentPostStore)[hashtagId];\n if (!data) {\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw new Promise((resolve) => pendingQueue.push(resolve));\n }\n return data;\n },\n (get, set, input: IHashtagPosts) => {\n const old = get($HashtagRecentPostStore);\n set($HashtagRecentPostStore, { ...old, [hashtagId]: input });\n },\n );\n\n a.debugLabel = `$HashtagRecentPost+${encodeURIComponent(hashtagId)}`;\n return a;\n});\n\nexport const $HashtagRecentPostLoadmore = safeAtomFamily((hashtagId: string) => {\n const a = atom(null, async (get, set, input: IHashtagPosts) => {\n const store = get($HashtagRecentPostStore);\n const old = await store[hashtagId];\n\n if (old) {\n set($HashtagRecentPostStore, {\n ...store,\n [hashtagId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$HashtagRecentPostLoadmore+${encodeURIComponent(hashtagId)}`;\n\n return a;\n});\n","import { $Locale, $ABTest, $RenderConfig, $WebUser, $UserAgent, $I18nText } from '@lemon8/web-app-shared/atom';\nimport { $ArticleComments, $ArticleDetail, $ArticleRelatedPosts } from 'shared/atoms/article';\nimport {\n $SharerABTest,\n $SharingPageLevelTraffic,\n $RootTraffic,\n $SharerDetail,\n $FeatureFlags,\n} from 'shared/atoms/common';\nimport { $UserDetail, $UserPost, $UserRelatedUser } from 'shared/atoms/user';\nimport { $POIInfo, $POIPosts } from 'shared/atoms/poi';\nimport { $HashtagInfo, $HashtagRecentPost, $HashtagPopularPost } from './hashtag';\n\nexport * from './common';\nexport * from './article';\nexport * from './user';\nexport * from './poi';\nexport * from './hashtag';\n\nexport const Atoms = {\n $Locale,\n $ABTest,\n $RenderConfig,\n $WebUser,\n $UserAgent,\n $I18nText,\n $RootTraffic,\n $SharerABTest,\n $FeatureFlags,\n $SharerDetail,\n $SharingPageLevelTraffic,\n};\n\nexport const AtomFamilies = {\n $ArticleDetail,\n $ArticleComments,\n $ArticleRelatedPosts,\n\n $UserDetail,\n $UserPost,\n $UserRelatedUser,\n\n $POIInfo,\n $POIPosts,\n\n $HashtagInfo,\n $HashtagRecentPost,\n $HashtagPopularPost,\n};\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TPOIInfo } from 'shared/models/poi';\n\ntype TPOIInfoStore = { [key: string]: TPOIInfo | undefined };\n\nexport const $POIInfoStore = atom({} as TPOIInfoStore);\n\nexport const $POIInfo = safeAtomFamily((poiId: string) => {\n const a = atom(\n (get) => {\n const data = get($POIInfoStore)[poiId];\n if (!data) {\n return Unreachable('no data in $POIInfo');\n }\n return data;\n },\n (get, set, input: TPOIInfo) => {\n const old = get($POIInfoStore);\n set($POIInfoStore, { ...old, [poiId]: input });\n },\n );\n\n a.debugLabel = `$POIInfo+${encodeURIComponent(poiId)}`;\n\n return a;\n});\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TArticleDetail } from 'shared/models/article';\n\nexport interface IPOIPosts {\n items: TArticleDetail[];\n hasMore: boolean;\n sessionImprId: string;\n}\n\ntype TPOIPostsStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $POIPostStore = atom({} as TPOIPostsStore);\n\nexport const $POIPosts = safeAtomFamily((poiId: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($POIPostStore)[poiId];\n if (!data) {\n return Unreachable('no data in $POIPosts');\n }\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($POIPostStore);\n set($POIPostStore, { ...old, [poiId]: input });\n },\n );\n\n a.debugLabel = `$POIPosts+${encodeURIComponent(poiId)}`;\n\n return a;\n});\n\nexport const $POIPostsLoadmore = safeAtomFamily((poiId: string) => {\n const a = atom(null, async (get, set, input) => {\n const store = get($POIPostStore);\n const old = await store[poiId];\n\n if (old) {\n set($POIPostStore, {\n ...store,\n [poiId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$POIPostsLoadmore+${encodeURIComponent(poiId)}`;\n return a;\n});\n","export class NodePendingQueue {\n private _tasks: (() => void)[] = [];\n\n constructor() {\n if (typeof window === 'undefined') {\n setInterval(this._doInterval, 500);\n }\n }\n\n public push(task: (...args: unknown[]) => void) {\n if (typeof window === 'undefined') {\n this._tasks.push(task);\n }\n }\n\n private _doInterval = (): void => {\n if (this._tasks.length) {\n console.log('pending tasks found, total count: %d', this._tasks.length);\n this._tasks.forEach((task) => task());\n this._tasks = [];\n }\n };\n}\n\nexport const nodePendingQueue = new NodePendingQueue();\n","import { atomFamily } from 'jotai/utils';\nimport { Atom } from 'jotai/vanilla';\nimport { AtomFamily } from 'jotai/vanilla/utils/atomFamily';\nimport { nodePendingQueue } from 'shared/utils/node-pending-queue';\n\nexport const safeAtomFamily = >(\n initializeAtom: (param: Param) => AtomType,\n areEqual?: (a: Param, b: Param) => boolean,\n): AtomFamily => {\n let family: AtomFamily | null = null;\n\n const initializeAtomWrapper = (param: Param): AtomType => {\n const atom = initializeAtom(param);\n if (typeof window === 'undefined') {\n nodePendingQueue.push(() => {\n family?.remove(param);\n });\n }\n\n return atom;\n };\n\n family = atomFamily(initializeAtomWrapper, areEqual);\n\n return family;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$ABTest = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$ABTest = (0, jotai_1.atom)({\n versions: '',\n parameters: {},\n});\nexports.$ABTest.debugLabel = '$ABTest';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$Crawler = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$Crawler = (0, jotai_1.atom)({});\nexports.$Crawler.debugLabel = '$Crawler';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$I18nText = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$I18nText = (0, jotai_1.atom)({});\nexports.$I18nText.debugLabel = '$I18nText';\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ab-test\"), exports);\n__exportStar(require(\"./crawler\"), exports);\n__exportStar(require(\"./i18n-text\"), exports);\n__exportStar(require(\"./locale\"), exports);\n__exportStar(require(\"./render-config\"), exports);\n__exportStar(require(\"./root-traffic\"), exports);\n__exportStar(require(\"./user-agent\"), exports);\n__exportStar(require(\"./web-user\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$Locale = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$Locale = (0, jotai_1.atom)({});\nexports.$Locale.debugLabel = '$Locale';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$RenderConfig = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$RenderConfig = (0, jotai_1.atom)({\n isSteamingSSR: false,\n});\nexports.$RenderConfig.debugLabel = '$RenderConfig';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$RootTraffic = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$RootTraffic = (0, jotai_1.atom)({});\nexports.$RootTraffic.debugLabel = '$RootTraffic';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$UserAgent = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$UserAgent = (0, jotai_1.atom)({\n isMobile: false,\n isBot: false,\n isiOS: false,\n isSafari: false,\n isInApp: false,\n isMacOS: false,\n});\nexports.$UserAgent.debugLabel = '$UserAgent';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$WebUser = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$WebUser = (0, jotai_1.atom)({\n webId: '',\n});\nexports.$WebUser.debugLabel = '$WebUser';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEuropeRegion = exports.EURO_COUNTRY_SET = exports.EURO_COUNTRY_LIST = void 0;\nexports.EURO_COUNTRY_LIST = [\n 'at',\n 'be',\n 'bg',\n 'hr',\n 'ch',\n 'cy',\n 'cz',\n 'de',\n 'dk',\n 'ee',\n 'el',\n 'fi',\n 'fr',\n 'gb',\n 'gr',\n 'hu',\n 'ie',\n 'it',\n 'lv',\n 'lt',\n 'lu',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'si',\n 'es',\n 'se',\n 'no',\n 'is',\n 'li',\n];\nexports.EURO_COUNTRY_SET = new Set(exports.EURO_COUNTRY_LIST);\nconst isEuropeRegion = (region) => exports.EURO_COUNTRY_SET.has(region);\nexports.isEuropeRegion = isEuropeRegion;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./region\"), exports);\n__exportStar(require(\"./language\"), exports);\n__exportStar(require(\"./europe\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegionHrefLangMap = exports.RegionFallbackLanguageMap = exports.LanguageDisplayNameMap = exports.Language = void 0;\nconst region_1 = require(\"./region\");\nvar Language;\n(function (Language) {\n Language[\"en\"] = \"en\";\n Language[\"id\"] = \"id\";\n Language[\"ja\"] = \"ja\";\n Language[\"ms\"] = \"ms\";\n Language[\"th\"] = \"th\";\n Language[\"vi\"] = \"vi\";\n Language[\"fil\"] = \"fil\";\n})(Language = exports.Language || (exports.Language = {}));\nexports.LanguageDisplayNameMap = {\n en: 'English',\n id: 'Bahasa Indonesia',\n ja: '日本語',\n ms: 'Bahasa Melayu',\n th: 'ไทย',\n vi: 'Tiếng Việt',\n fil: 'Pilipino',\n};\nexports.RegionFallbackLanguageMap = {\n [region_1.Region.jp]: Language.ja,\n [region_1.Region.th]: Language.th,\n [region_1.Region.my]: Language.ms,\n [region_1.Region.id]: Language.id,\n [region_1.Region.vn]: Language.vi,\n [region_1.Region.us]: Language.en,\n [region_1.Region.gb]: Language.en,\n [region_1.Region.sg]: Language.en,\n [region_1.Region.ph]: Language.en,\n};\nexports.RegionHrefLangMap = {\n [region_1.Region.jp]: 'ja-jp',\n [region_1.Region.th]: 'th-th',\n [region_1.Region.my]: 'ms-my',\n [region_1.Region.id]: 'id-id',\n [region_1.Region.vn]: 'vi-vn',\n [region_1.Region.us]: 'en-us',\n [region_1.Region.gb]: 'en-gb',\n [region_1.Region.sg]: 'en-sg',\n [region_1.Region.ph]: 'en-ph',\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRegionIDC = exports.IDCRegion = exports.RegionDisplayMap = exports.Region = void 0;\n/**\n * ISO 639-1 Language Code\n */\nvar Region;\n(function (Region) {\n Region[\"jp\"] = \"jp\";\n Region[\"th\"] = \"th\";\n Region[\"my\"] = \"my\";\n Region[\"id\"] = \"id\";\n Region[\"ph\"] = \"ph\";\n Region[\"vn\"] = \"vn\";\n Region[\"us\"] = \"us\";\n Region[\"gb\"] = \"gb\";\n Region[\"sg\"] = \"sg\";\n})(Region = exports.Region || (exports.Region = {}));\nexports.RegionDisplayMap = {\n [Region.jp]: '日本',\n [Region.th]: 'ไทย',\n [Region.my]: 'Malaysia',\n [Region.id]: 'Indonesia',\n [Region.vn]: 'Việt Nam',\n [Region.us]: 'US',\n [Region.gb]: 'UK',\n [Region.sg]: 'Singapore',\n [Region.ph]: 'Philippines',\n};\nvar IDCRegion;\n(function (IDCRegion) {\n IDCRegion[\"SG\"] = \"sg\";\n IDCRegion[\"VA\"] = \"va\";\n})(IDCRegion = exports.IDCRegion || (exports.IDCRegion = {}));\nconst getRegionIDC = (region) => {\n return [Region.jp, Region.us, Region.gb].includes(region) ? IDCRegion.VA : IDCRegion.SG;\n};\nexports.getRegionIDC = getRegionIDC;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./num-formatter\"), exports);\n__exportStar(require(\"./time-ago-formatter\"), exports);\n__exportStar(require(\"./time-formatter\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatNumByRegion = exports.formatNum = void 0;\nconst i18n_1 = require(\"../../i18n\");\nconst NUM_INTERVAL_MAP = {\n w: [i18n_1.Region.jp],\n k: [i18n_1.Region.id, i18n_1.Region.my, i18n_1.Region.ph, i18n_1.Region.sg, i18n_1.Region.th, i18n_1.Region.vn, i18n_1.Region.gb, i18n_1.Region.us],\n};\nfunction formatNum(num, _config = {}) {\n let val = `${num}`;\n const config = {\n decimal: 1,\n units: ['万', '億'],\n needDiv: true,\n ..._config,\n };\n const { decimal } = config;\n if (config.type === 'KMB') {\n if (num >= 1e10) {\n val = `${(num / 1e9).toFixed(0)}B`;\n }\n else if (num >= 1e9) {\n val = `${(num / 1e9).toFixed(decimal).replace(/\\.0*$/, '')}B`;\n }\n else if (num >= 1e7) {\n val = `${(num / 1e6).toFixed(0)}M`;\n }\n else if (num >= 1e6) {\n val = `${(num / 1e6).toFixed(decimal).replace(/\\.0*$/, '')}M`;\n }\n else if (num >= 1e4) {\n val = `${(num / 1e3).toFixed(0)}K`;\n }\n else if (num >= 1e3) {\n val = `${(num / 1e3).toFixed(decimal).replace(/\\.0*$/, '')}K`;\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.type === 'KM') {\n if (num >= 10e6) {\n const unitDigit = (num / 1e6).toString().split('.')[0];\n const oneDecimal = ((num - Number(unitDigit) * 1e6) / 1e5).toString().split('.')[0];\n if (Number(oneDecimal) >= 1) {\n val = `${String(unitDigit)}.${String(oneDecimal)}${config.units[0]}`;\n }\n else {\n val = `${String(unitDigit)}${config.units[1]}`;\n }\n }\n else if (num >= 1e4) {\n const unitDigit = (num / 1e3).toString().split('.')[0];\n const oneDecimal = ((num - Number(unitDigit) * 1e3) / 1e2).toString().split('.')[0];\n if (Number(oneDecimal) >= 1) {\n val = `${String(unitDigit)}.${String(oneDecimal)}${config.units[0]}`;\n }\n else {\n val = `${String(unitDigit)}${config.units[0]}`;\n }\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.type === 'WY') {\n if (num >= 1e10) {\n val = ~~(num / 1e8) + config.units[1];\n }\n else if (num >= 1e8) {\n val = (num / 1e8).toFixed(decimal).replace(/\\.0*$/, '') + config.units[1];\n }\n else if (num >= 1e6) {\n val = ~~(num / 1e4) + config.units[0];\n }\n else if (num >= 1e4) {\n val = (num / 1e4).toFixed(decimal).replace(/\\.0*$/, '') + config.units[0];\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.type === 'W') {\n if (num >= 1e4) {\n const unitDigit = (num / 1e4).toString().split('.')[0];\n const oneDecimal = ((num - Number(unitDigit) * 1e4) / 1e3).toString().split('.')[0];\n if (Number(oneDecimal) >= 1) {\n val = `${String(unitDigit)}.${String(oneDecimal)}${config.units[0]}`;\n }\n else {\n val = `${String(unitDigit)}${config.units[0]}`;\n }\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.upperLimit && num >= config.upperLimit) {\n val = config.upperText;\n }\n if (config.needDiv) {\n val = val.replace(/\\d+/, function (s) {\n return s.replace(/(\\d)(?=(\\d{3})+$)/g, '$1,');\n });\n }\n if (config.tmpl) {\n return config.tmpl.replace('%s', val);\n }\n return val;\n}\nexports.formatNum = formatNum;\nfunction formatNumByRegion(num, region, t) {\n if (NUM_INTERVAL_MAP.w.includes(region)) {\n const type = 'W';\n const units = [t('common_ten_thousand')];\n return formatNum(num, { type, units, needDiv: false });\n }\n if (NUM_INTERVAL_MAP.k.includes(region)) {\n const type = 'KM';\n const units = [t('common_thousand'), t('common_million')];\n return formatNum(num, { type, units, needDiv: false });\n }\n return '';\n}\nexports.formatNumByRegion = formatNumByRegion;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatTimeAgo = void 0;\nconst dayjs_1 = __importDefault(require(\"dayjs\"));\nconst ONE_SECOND = 1000;\nconst ONE_MINUTE = 60 * ONE_SECOND;\nconst ONE_HOUR = 60 * ONE_MINUTE;\nconst ONE_DAY = 24 * ONE_HOUR;\nconst ONE_WEEK = 7 * ONE_DAY;\nconst EIGHT_DAY = 8 * ONE_DAY;\n/**\n * time: seconds\n */\nconst formatTimeAgo = (time, t) => {\n const now = Date.now();\n const after = now - time * 1000;\n if (after < ONE_MINUTE) {\n const seconds = Math.floor(after / ONE_SECOND);\n return t('seconds_ago_plural', { num: seconds }).replace('%d', `${seconds}`);\n }\n if (after < ONE_HOUR) {\n const minutes = Math.floor(after / ONE_MINUTE);\n return t('minutes_ago_plural', { num: minutes }).replace('%d', `${minutes}`);\n }\n if (after < ONE_DAY) {\n const hours = Math.floor(after / ONE_HOUR);\n return t('hours_ago_plural', { num: hours }).replace('%d', `${hours}`);\n }\n if (after < ONE_WEEK) {\n const days = Math.floor(after / ONE_DAY);\n return t('days_ago_plural', { num: days }).replace('%d', `${days}`);\n }\n if (after < EIGHT_DAY) {\n const weeks = Math.floor(after / ONE_WEEK);\n return t('weeks_ago_plural', { num: weeks }).replace('%d', `${weeks}`);\n }\n const timeDayjs = (0, dayjs_1.default)(time * 1000);\n if ((0, dayjs_1.default)(now).year() === timeDayjs.year()) {\n return timeDayjs.format('M/D');\n }\n return timeDayjs.format('YYYY/M/D');\n};\nexports.formatTimeAgo = formatTimeAgo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dateToLocalISO = void 0;\nconst dateToLocalISO = function (timeStamp, timeZone) {\n // off为当地时区相对UTC的偏移量,日本为9,中国为8\n const off = -timeZone * 60;\n const absoff = Math.abs(off);\n return `${new Date(timeStamp * 1000 - off * 60 * 1000).toISOString().substr(0, 23) +\n (off > 0 ? '-' : '+') +\n (absoff / 60).toFixed(0).padStart(2, '0')}:${(absoff % 60).toString().padStart(2, '0')}`;\n};\nexports.dateToLocalISO = dateToLocalISO;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./unreachable\"), exports);\n__exportStar(require(\"./no-operation\"), exports);\n__exportStar(require(\"./format\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoOperation = void 0;\nconst NoOperation = () => void 0;\nexports.NoOperation = NoOperation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Unreachable = void 0;\nconst Unreachable = (reason = 'unreachable code here') => {\n throw new Error(reason);\n};\nexports.Unreachable = Unreachable;\n"],"sourceRoot":""}