UNPKG

instamancer

Version:

Scrape the Instagram API with Puppeteer

274 lines 24.7 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FullApiPost = exports.SinglePost = exports.ShortcodeMedia = exports.EdgeMediaToParentComment = exports.Post = exports.EdgeMediaHoistedComment = exports.EdgeMediaPreviewComment = exports.CommentNode = exports.PostNode = exports.GatingInfo = exports.EdgeMediaToComment = exports.EdgeRelatedProfiles = exports.EdgeMediaToCaption = exports.EdgeMediaToCaptionNode = exports.DisplayResources = exports.Dimensions = exports.PageInfo = exports.ShortcodeMediaOwner = exports.CommentNodeOwner = exports.PostNodeOwner = exports.Location = void 0; // tslint:disable: object-literal-sort-keys const t = __importStar(require("io-ts")); const io_ts_excess_1 = require("io-ts-excess"); exports.Location = t.type({ id: t.string, has_public_page: t.boolean, name: t.string, slug: t.string, address_json: t.union([t.string, t.undefined, t.null]), }); exports.PostNodeOwner = t.type({ id: t.string, }); exports.CommentNodeOwner = t.type({ id: t.string, is_verified: t.boolean, profile_pic_url: t.string, username: t.string, }); exports.ShortcodeMediaOwner = t.type({ id: t.string, is_verified: t.boolean, profile_pic_url: t.string, username: t.string, blocked_by_viewer: t.boolean, followed_by_viewer: t.boolean, full_name: t.string, has_blocked_viewer: t.boolean, is_private: t.boolean, is_unpublished: t.boolean, requested_by_viewer: t.boolean, }); exports.PageInfo = t.type({ has_next_page: t.boolean, end_cursor: t.union([t.string, t.null]), }); exports.Dimensions = t.type({ height: t.number, width: t.number, }); exports.DisplayResources = t.array(t.type({ src: t.string, config_width: t.number, config_height: t.number, })); exports.EdgeMediaToCaptionNode = t.type({ text: t.union([t.string, t.undefined]), shortcode: t.union([t.string, t.undefined]), is_video: t.union([t.boolean, t.undefined]), video_url: t.union([t.string, t.undefined]), display_resources: t.union([exports.DisplayResources, t.undefined]), }); exports.EdgeMediaToCaption = t.type({ edges: t.array(t.type({ node: exports.EdgeMediaToCaptionNode, })), }); exports.EdgeRelatedProfiles = t.type({ edges: t.array(t.type({ node: t.undefined, })), }); const EdgeSidecarToChildren = t.type({ edges: t.array(t.type({ node: t.type({ __typename: t.string, id: t.string, shortcode: t.union([t.string, t.undefined]), dimensions: exports.Dimensions, gating_info: t.union([t.null, t.undefined]), fact_check_information: t.union([t.null, t.undefined]), media_preview: t.union([t.undefined, t.string, t.null]), display_url: t.string, display_resources: exports.DisplayResources, accessibility_caption: t.union([t.string, t.undefined, t.null]), is_video: t.boolean, video_url: t.union([t.string, t.undefined]), tracking_token: t.string, edge_media_to_tagged_user: exports.EdgeMediaToCaption, }), })), }); exports.EdgeMediaToComment = t.type({ count: t.number, }); exports.GatingInfo = t.type({ buttons: t.array(t.string), description: t.string, gating_type: t.string, title: t.string, }); exports.PostNode = t.type({ __typename: t.union([t.string, t.undefined]), comments_disabled: t.boolean, location: t.union([t.null, t.undefined, exports.Location]), id: t.string, edge_media_to_caption: exports.EdgeMediaToCaption, shortcode: t.string, edge_media_to_comment: exports.EdgeMediaToComment, taken_at_timestamp: t.number, media_overlay_info: t.union([t.null, t.undefined]), fact_check_information: t.union([t.null, t.undefined]), fact_check_overall_rating: t.union([t.undefined, t.null]), dimensions: exports.Dimensions, display_url: t.string, edge_liked_by: t.union([exports.EdgeMediaToComment, t.undefined]), edge_media_preview_like: exports.EdgeMediaToComment, owner: exports.PostNodeOwner, thumbnail_src: t.string, thumbnail_resources: t.union([exports.DisplayResources, t.undefined]), is_video: t.boolean, accessibility_caption: t.union([t.string, t.undefined, t.null]), display_resources: t.union([exports.DisplayResources, t.undefined]), should_log_client_event: t.union([t.undefined, t.boolean]), tracking_token: t.union([t.undefined, t.string]), edge_media_to_tagged_user: t.union([t.undefined, exports.EdgeMediaToCaption]), edge_media_to_sponsor_user: t.union([t.undefined, exports.EdgeMediaToCaption]), dash_info: t.union([ t.undefined, t.type({ is_dash_eligible: t.boolean, video_dash_manifest: t.null, number_of_qualities: t.number, }), ]), video_url: t.union([t.undefined, t.string]), video_view_count: t.union([t.undefined, t.number]), gating_info: t.union([t.null, t.undefined]), media_preview: t.union([t.undefined, t.string, t.null]), product_type: t.union([t.undefined, t.string]), viewer_has_liked: t.union([t.undefined, t.boolean]), viewer_has_saved: t.union([t.boolean, t.undefined]), viewer_has_saved_to_collection: t.union([t.boolean, t.undefined]), viewer_in_photo_of_you: t.union([t.boolean, t.undefined]), viewer_can_reshare: t.union([t.boolean, t.undefined]), edge_sidecar_to_children: t.union([EdgeSidecarToChildren, t.undefined]), }); exports.CommentNode = t.type({ id: t.string, text: t.string, created_at: t.number, did_report_as_spam: t.boolean, owner: exports.CommentNodeOwner, viewer_has_liked: t.boolean, edge_liked_by: exports.EdgeMediaToComment, }); exports.EdgeMediaPreviewComment = t.type({ count: t.number, edges: t.array(t.type({ node: exports.CommentNode, })), }); exports.EdgeMediaHoistedComment = t.type({ edges: t.array(t.type({ node: exports.CommentNode, })), }); const EdgeMediaToParentCommentNode = t.intersection([ exports.CommentNode, t.type({ edge_threaded_comments: t.type({ count: t.number, page_info: exports.PageInfo, edges: t.array(t.type({ node: exports.CommentNode, })), }), }), ]); exports.Post = t.type({ node: io_ts_excess_1.excess(exports.PostNode), }); exports.EdgeMediaToParentComment = t.type({ count: t.number, page_info: exports.PageInfo, edges: t.array(t.type({ node: EdgeMediaToParentCommentNode, })), }); exports.ShortcodeMedia = t.type({ __typename: t.string, id: t.string, shortcode: t.string, edge_media_to_comment: t.union([exports.EdgeMediaToComment, t.undefined]), thumbnail_src: t.union([t.undefined, t.string]), dimensions: exports.Dimensions, gating_info: t.union([exports.GatingInfo, t.null, t.undefined]), sensitivity_friction_info: t.union([exports.GatingInfo, t.null, t.undefined]), fact_check_information: t.null, fact_check_overall_rating: t.union([t.undefined, t.null]), media_overlay_info: t.null, media_preview: t.union([t.string, t.null]), display_url: t.string, display_resources: exports.DisplayResources, accessibility_caption: t.union([t.string, t.undefined, t.null]), is_video: t.boolean, should_log_client_event: t.union([t.boolean, t.undefined]), tracking_token: t.string, edge_media_to_tagged_user: exports.EdgeMediaToCaption, edge_media_to_caption: exports.EdgeMediaToCaption, caption_is_edited: t.boolean, has_ranked_comments: t.boolean, edge_media_to_parent_comment: t.union([ exports.EdgeMediaToParentComment, t.undefined, ]), edge_media_to_hoisted_comment: t.union([ exports.EdgeMediaHoistedComment, t.undefined, ]), edge_media_preview_comment: t.union([exports.EdgeMediaPreviewComment, t.undefined]), comments_disabled: t.boolean, commenting_disabled_for_viewer: t.boolean, taken_at_timestamp: t.number, edge_media_preview_like: exports.EdgeMediaPreviewComment, edge_media_to_sponsor_user: exports.EdgeMediaToCaption, location: t.union([t.string, t.null]), viewer_has_liked: t.boolean, viewer_has_saved: t.boolean, viewer_has_saved_to_collection: t.boolean, viewer_in_photo_of_you: t.boolean, viewer_can_reshare: t.boolean, owner: exports.ShortcodeMediaOwner, is_ad: t.boolean, edge_web_media_to_related_media: exports.EdgeMediaToCaption, edge_sidecar_to_children: t.union([EdgeSidecarToChildren, t.undefined]), dash_info: t.union([ t.undefined, t.type({ is_dash_eligible: t.boolean, video_dash_manifest: t.null, number_of_qualities: t.number, }), ]), video_url: t.union([t.undefined, t.string]), video_view_count: t.union([t.undefined, t.number]), encoding_status: t.union([t.undefined, t.string, t.null]), is_published: t.union([t.undefined, t.boolean]), product_type: t.union([t.undefined, t.string]), title: t.union([t.undefined, t.string, t.null]), video_duration: t.union([t.undefined, t.number]), }); exports.SinglePost = t.type({ shortcode_media: io_ts_excess_1.excess(exports.ShortcodeMedia), }); exports.FullApiPost = t.type({ shortcode_media: io_ts_excess_1.excess(t.type({ ...exports.ShortcodeMedia.props, location: t.union([exports.Location, t.null]), })), }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTJDO0FBQzNDLHlDQUEyQjtBQUMzQiwrQ0FBb0M7QUFFdkIsUUFBQSxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDWixlQUFlLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2QsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2QsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ3pELENBQUMsQ0FBQztBQUVVLFFBQUEsYUFBYSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2YsQ0FBQyxDQUFDO0FBRVUsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25DLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNaLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTztJQUN0QixlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ3JCLENBQUMsQ0FBQztBQUVVLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0QyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDWixXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDdEIsZUFBZSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3pCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQixpQkFBaUIsRUFBRSxDQUFDLENBQUMsT0FB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