instamancer
Version:
Scrape the Instagram API with Puppeteer
274 lines • 24.7 kB
JavaScript
"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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