{"version":3,"sources":["jsdelivr-header.js","/npm/@h4md1/instagram-data-extractor@0.2.0/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,QAAQ,wBAAqB,EAC7B,MAAM,mBACF,0BAAO,CAAoB,GACvB,MAAM,EAAS,CACX,GAAI,IACJ,IAAK,MACL,OAAQ,IACR,IAAK,IACL,MAAO,IACP,KAAM,sCACN,IAAK,IACL,MAAO,OACP,MAAO,aACP,IAAK,uBACL,MAAO,sBACP,MAAO,gNACP,MAAO,iSACP,YAAa,IACb,IAAK,cACL,QAAS,OACT,SAAU,aACV,SAAU,QACV,SAAU,aACV,MAAO,+BACP,oBAAqB,cACrB,yBAA0B,sCAC1B,UAAW,KAAK,UAAU,CACtB,UAAW,EACX,wBAAyB,KACzB,mBAAoB,KACpB,iBAAkB,OAEtB,kBAAmB,OACnB,OAAQ,oBAEZ,OAAO,IAAI,gBAAgB,GAAQ,UACvC,CACA,wBAAa,CAAY,EAAW,GAChC,IAAI,EAAI,EACR,MAAM,EAAa,IAAI,IAAI,2CACrB,QAAiB,MAAM,EAAY,CACrC,YAAa,UACb,QAAS,CACL,aAAc,yJACd,OAAU,MACV,kBAAmB,iBACnB,eAAgB,oCAChB,qBAAsB,sCACtB,qBAAsB,mEACtB,cAAe,yBACf,cAAe,mBACf,WAAY,cACZ,YAAa,SACb,UAAW,IACX,iBAAkB,QAClB,iBAAkB,OAClB,iBAAkB,cAClB,OAAU,WACV,gBAAiB,YAErB,SAAU,+BAA+B,KACzC,KAAM,KAAK,oBAAoB,GAC/B,OAAQ,OACR,KAAM,UACH,IAEP,IAAK,EAAS,GACV,MAAM,IAAI,MAAM,8BAA8B,EAAS,cAE3D,MACM,SADa,EAAS,QACV,KAAK,oBACvB,IAAK,EACD,MAAM,IAAI,MAAM,kBAGpB,MAAO,CACH,aAFgE,QAA9C,EAAK,EAAK,sBAAsB,MAAM,UAAuB,IAAP,OAAgB,EAAS,EAAG,KAAK,OAAS,GAGlH,IAAK,+BAA+B,KACpC,OAAQ,CACJ,SAAU,EAAK,MAAM,SACrB,SAAU,EAAK,MAAM,UACrB,WAAY,EAAK,MAAM,YACvB,cAAe,EAAK,MAAM,gBAC1B,eAAgB,EAAK,MAAM,iBAAiB,OAEhD,OAAiD,QAAxC,EAAK,EAAK,gCAA6C,IAAP,OAAgB,EAAS,EAAG,MAAM,KAAK,IAAS,CACrG,KAAM,EAAK,KAAK,SAAW,QAAU,QACrC,IAAK,EAAK,KAAK,SAAW,EAAK,KAAK,UAAY,EAAK,KAAK,YAC1D,aAAc,EAAK,KAAK,eAAiB,EAAK,KAAK,YACnD,WAAY,EAAK,KAAK,cAClB,EAAK,KAAK,UAAY,CACtB,SAAU,EAAK,KAAK,eACpB,UAAW,EAAK,KAAK,iBACrB,UAAW,EAAK,KAAK,wBAErB,CACJ,CACI,KAAM,EAAK,SAAW,QAAU,QAChC,IAAK,EAAK,SAAW,EAAK,UAAY,EAAK,YAC3C,aAAc,EAAK,cACnB,WAAY,EAAK,cACb,EAAK,UAAY,CACjB,SAAU,EAAK,eACf,UAAW,EAAK,iBAChB,UAAW,EAAK,uBAIxB,EAAK,8BAAgC,CACrC,UAAW,CACP,WAAY,EAAK,6BAA6B,YAC9C,SAAU,EAAK,6BAA6B,UAC5C,gBAAiB,EAAK,6BAA6B,oBACnD,QAAS,EAAK,6BAA6B,WAI3D,EAEJ,QAAQ,mBAAqB","file":"/npm/@h4md1/instagram-data-extractor@0.2.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@h4md1/instagram-data-extractor@0.2.0/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InstagramExtractor = void 0;\nclass InstagramExtractor {\n    static generateRequestBody(shortcode) {\n        const params = {\n            av: \"0\",\n            __d: \"www\",\n            __user: \"0\",\n            __a: \"1\",\n            __req: \"b\",\n            __hs: \"20183.HYP:instagram_web_pkg.2.1...0\",\n            dpr: \"3\",\n            __ccg: \"GOOD\",\n            __rev: \"1021613311\",\n            __s: \"hm5eih:ztapmw:x0losd\",\n            __hsi: \"7489787314313612244\",\n            __dyn: \"7xeUjG1mxu1syUbFp41twpUnwgU7SbzEdF8aUco2qwJw5ux609vCwjE1EE2Cw8G11wBz81s8hwGxu786a3a1YwBgao6C0Mo2swtUd8-U2zxe2GewGw9a361qw8Xxm16wa-0oa2-azo7u3C2u2J0bS1LwTwKG1pg2fwxyo6O1FwlA3a3zhA6bwIxe6V8aUuwm8jwhU3cyVrDyo\",\n            __csr: \"goMJ6MT9Z48KVkIBBvRfqKOkinBtG-FfLaRgG-lZ9Qji9XGexh7VozjHRKq5J6KVqjQdGl2pAFmvK5GWGXyk8h9GA-m6V5yF4UWagnJzazAbZ5osXuFkVeGCHG8GF4l5yp9oOezpo88PAlZ1Pxa5bxGQ7o9VrFbg-8wwxp1G2acxacGVQ00jyoE0ijonyXwfwEnwWwkA2m0dLw3tE1I80hCg8UeU4Ohox0clAhAtsM0iCA9wap4DwhS1fxW0fLhpRB51m13xC3e0h2t2H801HQw1bu02j-\",\n            __comet_req: \"7\",\n            lsd: \"AVrqPT0gJDo\",\n            jazoest: \"2946\",\n            __spin_r: \"1021613311\",\n            __spin_b: \"trunk\",\n            __spin_t: \"1743852001\",\n            __crn: \"comet.igweb.PolarisPostRoute\",\n            fb_api_caller_class: \"RelayModern\",\n            fb_api_req_friendly_name: \"PolarisPostActionLoadPostQueryQuery\",\n            variables: JSON.stringify({\n                shortcode: shortcode,\n                fetch_tagged_user_count: null,\n                hoisted_comment_id: null,\n                hoisted_reply_id: null,\n            }),\n            server_timestamps: \"true\",\n            doc_id: \"8845758582119845\",\n        };\n        return new URLSearchParams(params).toString();\n    }\n    static async extractPost(shortcode, config) {\n        var _a, _b;\n        const requestUrl = new URL(\"https://www.instagram.com/graphql/query\");\n        const response = await fetch(requestUrl, {\n            credentials: \"include\",\n            headers: {\n                \"User-Agent\": \"Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-G973U) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.2 Chrome/87.0.4280.141 Mobile Safari/537.36\",\n                \"Accept\": \"*/*\",\n                \"Accept-Language\": \"en-US,en;q=0.5\",\n                \"Content-Type\": \"application/x-www-form-urlencoded\",\n                \"X-FB-Friendly-Name\": \"PolarisPostActionLoadPostQueryQuery\",\n                \"X-BLOKS-VERSION-ID\": \"0d99de0d13662a50e0958bcb112dd651f70dea02e1859073ab25f8f2a477de96\",\n                \"X-CSRFToken\": \"uy8OpI1kndx4oUHjlHaUfu\",\n                \"X-IG-App-ID\": \"1217981644879628\",\n                \"X-FB-LSD\": \"AVrqPT0gJDo\",\n                \"X-ASBD-ID\": \"359341\",\n                \"Sec-GPC\": \"1\",\n                \"Sec-Fetch-Dest\": \"empty\",\n                \"Sec-Fetch-Mode\": \"cors\",\n                \"Sec-Fetch-Site\": \"same-origin\",\n                \"Pragma\": \"no-cache\",\n                \"Cache-Control\": \"no-cache\",\n            },\n            referrer: `https://www.instagram.com/p/${shortcode}/`,\n            body: this.generateRequestBody(shortcode),\n            method: \"POST\",\n            mode: \"cors\",\n            ...config,\n        });\n        if (!response.ok) {\n            throw new Error(`Failed to fetch post data: ${response.statusText}`);\n        }\n        const data = await response.json();\n        const post = data.data.xdt_shortcode_media;\n        if (!post) {\n            throw new Error('Post not found');\n        }\n        const description = ((_a = post.edge_media_to_caption.edges[0]) === null || _a === void 0 ? void 0 : _a.node.text) || '';\n        return {\n            description,\n            url: `https://www.instagram.com/p/${shortcode}/`,\n            author: {\n                username: post.owner.username,\n                fullName: post.owner.full_name,\n                isVerified: post.owner.is_verified,\n                profilePicUrl: post.owner.profile_pic_url,\n                followersCount: post.owner.edge_followed_by.count,\n            },\n            media: ((_b = post.edge_sidecar_to_children) === null || _b === void 0 ? void 0 : _b.edges.map((edge) => ({\n                type: edge.node.is_video ? 'video' : 'image',\n                url: edge.node.is_video ? edge.node.video_url : edge.node.display_url,\n                thumbnailUrl: edge.node.thumbnail_src || edge.node.display_url, // Fallback for thumbnail\n                dimensions: edge.node.dimensions,\n                ...(edge.node.is_video && {\n                    duration: edge.node.video_duration,\n                    viewCount: edge.node.video_view_count,\n                    playCount: edge.node.video_play_count,\n                })\n            }))) || [\n                {\n                    type: post.is_video ? 'video' : 'image',\n                    url: post.is_video ? post.video_url : post.display_url,\n                    thumbnailUrl: post.thumbnail_src,\n                    dimensions: post.dimensions,\n                    ...(post.is_video && {\n                        duration: post.video_duration,\n                        viewCount: post.video_view_count,\n                        playCount: post.video_play_count,\n                    })\n                }\n            ],\n            ...(post.clips_music_attribution_info && {\n                musicInfo: {\n                    artistName: post.clips_music_attribution_info.artist_name,\n                    songName: post.clips_music_attribution_info.song_name,\n                    isOriginalAudio: post.clips_music_attribution_info.uses_original_audio,\n                    audioId: post.clips_music_attribution_info.audio_id,\n                }\n            })\n        };\n    }\n}\nexports.InstagramExtractor = InstagramExtractor;\n"]}