igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Interface ScreenCatalogEntry<X, R>

    One screen as the engine holds it among the others of its screen set, typed by the screen's own failures X and services R: what an edge (which knows its target by id) and a retrace need of a definition.

    interface ScreenCatalogEntry<X, R> {
        encodeInput: (
            input: unknown,
        ) => Effect<ScreenEncodedInput, ScreenEdgeInputError>;
        enter: (
            args: {
                input: ScreenEncodedInput;
                origin: ScreenHandle | undefined;
                reach: ScreenEdgeReach | undefined;
                via: ScreenVia;
            },
        ) => Effect<
            ScreenFrameHandle,
            ScreenTrailDecodeError
            | ScreenRetraceStepError<X>,
            ScreenEnterServices<R, never>,
        >;
        findItem: (
            host: ScreenHandle,
            item: ScreenItemLocation,
        ) => Effect<
            ScreenHandle
            | undefined,
            ScreenRetraceError | ScreenRetraceStepError<X>,
            R,
        >;
        id:
            | "LoginHomepage"
            | "LoginHomeCds"
            | "LandingScreen"
            | "LoginTwoFactorEntrypoint"
            | "LoginTwoFactorMethodPicker"
            | "LoginTwoFactorEnterTotpCode"
            | "AccountRecoverySearchCds"
            | "AccountRecoverySearch"
            | "AccountRecoveryAuthenticationConfirmation"
            | "AccountRecoveryEmailCode"
            | "RegistrationPhoneNumber"
            | "RegistrationConfirmationCode"
            | "RegistrationPassword"
            | "RegistrationBirthday"
            | "RegistrationName"
            | "RegistrationUsername"
            | "RegistrationTermsOfService"
            | "SaveCredentials"
            | "AccountRecoverySuccessLocationPermission"
            | "FeedTimeline"
            | "PostOpenedFromLink"
            | "ReelsViewer"
            | "MediaComments"
            | "RepostNoteEditor"
            | "Explore"
            | "SearchInput"
            | "SearchResultsTopTab"
            | "SearchResultsAccountsTab"
            | "UserProfile"
            | "ProfileMediaTab"
            | "MyProfile"
            | "MyProfileMediaTab"
            | "EditProfile"
            | "EditProfileBio"
            | "EditProfileUsername"
            | "EditProfileLinks"
            | "EditProfileAddLink"
            | "ProfilePostsFeed"
            | "FeedTimelineFollowing"
            | "UserProfileReelsTab"
            | "DirectInbox"
            | "DirectRecipientPicker"
            | "DirectThread"
            | "DirectForwardingSheet"
            | "DirectMediaPickerPhotos"
            | "DirectStickerTabTray"
            | "DirectGifTray"
            | "DirectStickerPickerGrid"
            | "DirectImagineLoading"
            | "DirectImagineCreation"
            | "DirectDoodleEditor"
            | "DirectCustomizeChat"
            | "DirectThreadThemePicker"
            | "DirectThreadDetails"
            | "DirectThreadSharedMedia"
            | "DirectThreadNicknames"
            | "DirectThreadNicknameChange"
            | "DirectGroupNameAndPhotoEditor"
            | "DirectShareSheet"
            | "StoriesViewer"
            | "PostingGalleryPicker"
            | "PostingPostEdit"
            | "PostingNewPost"
            | "PostingCamera"
            | "PostingCameraGallery"
            | "PostingReelEditor"
            | "PostingNewReel"
            | "PostingPostVideoCameraGallery"
            | "PostingPostVideoCamera"
            | "PostingReelCamera"
            | "PostingStoryCameraHost"
            | "PostingStoryCameraGallery"
            | "PostingPostVideoNewReel"
            | "PostingStoryPhotoEditor"
            | "PostingStoryVideoEditor"
            | "PostingStoryStickerTray"
            | "PostingStoryMusicStickerEditor"
            | "PostingStoryShareSheet"
            | "PostingStoryAlsoShareTo"
            | "PostingStoryDoneCamera"
            | "PostingStoryMusicSearchHost"
            | "PostingMusicBrowser"
            | "PostingMusicSearchResults"
            | "PostingReelMusicOverlayDetail"
            | "PostingReelMusicEditor"
            | "ChallengeSelectVerifyMethod"
            | "ChallengeVerifyCode"
            | "ChallengeSubmitPhone"
            | "ChallengeSetNewPassword"
            | "ChallengeAddBirthday"
            | "ChallengeLoginReview"
            | "ChallengeAccountTemporarilyLocked"
            | "ChallengeEscalationInformation"
            | "ChallengeReviewContactPointChange"
            | "ChallengeScrapingWarning"
            | "ChallengeWebRecaptcha"
            | "ChallengeWebSetNewPassword"
            | "ChallengeTextCaptcha"
            | "ChallengeRecaptcha"
            | "ChallengeSetContactPoint"
            | "ChallengeContactPointCode"
            | "ChallengeAuthenticityWizard"
            | "ChallengeAwaitingReview"
            | "ChallengeThanksForProvidingInfo"
            | "ChallengeAccountSuspended";
        kind: EnterableScreenKind;
        releasedItemLists: Readonly<Record<string, string>>;
        restorePosition: (
            handle: ScreenHandle,
            position: Json,
        ) => Effect<void, ScreenRetraceError | ScreenRetraceStepError<X>, R>;
        sameInput: (
            a: ScreenEncodedInput,
            b: ScreenEncodedInput,
        ) => Effect<boolean, ScreenTrailDecodeError>;
        take: (
            args: {
                input: unknown;
                origin: ScreenHandle | undefined;
                reach: ScreenEdgeReach;
                via: ScreenVia;
            },
        ) => Effect<
            ScreenFrameHandle,
            X
            | ScreenEdgeInputError,
            ScreenEnterServices<R, never>,
        >;
    }

    Type Parameters

    • X
    • R
    Index

    Properties

    encodeInput: (
        input: unknown,
    ) => Effect<ScreenEncodedInput, ScreenEdgeInputError>

    Checks an edge step's input against the screen's input schema and encodes it.

    enter: (
        args: {
            input: ScreenEncodedInput;
            origin: ScreenHandle | undefined;
            reach: ScreenEdgeReach | undefined;
            via: ScreenVia;
        },
    ) => Effect<
        ScreenFrameHandle,
        ScreenTrailDecodeError
        | ScreenRetraceStepError<X>,
        ScreenEnterServices<R, never>,
    >

    A retrace: decodes the stored input and opens the screen (its enter burst runs and emits navigation).

    findItem: (
        host: ScreenHandle,
        item: ScreenItemLocation,
    ) => Effect<
        ScreenHandle
        | undefined,
        ScreenRetraceError | ScreenRetraceStepError<X>,
        R,
    >

    A retrace's lookup of an item a trail names, on a fresh handle of the screen (see ScreenDefinition.findItem).

    id:
        | "LoginHomepage"
        | "LoginHomeCds"
        | "LandingScreen"
        | "LoginTwoFactorEntrypoint"
        | "LoginTwoFactorMethodPicker"
        | "LoginTwoFactorEnterTotpCode"
        | "AccountRecoverySearchCds"
        | "AccountRecoverySearch"
        | "AccountRecoveryAuthenticationConfirmation"
        | "AccountRecoveryEmailCode"
        | "RegistrationPhoneNumber"
        | "RegistrationConfirmationCode"
        | "RegistrationPassword"
        | "RegistrationBirthday"
        | "RegistrationName"
        | "RegistrationUsername"
        | "RegistrationTermsOfService"
        | "SaveCredentials"
        | "AccountRecoverySuccessLocationPermission"
        | "FeedTimeline"
        | "PostOpenedFromLink"
        | "ReelsViewer"
        | "MediaComments"
        | "RepostNoteEditor"
        | "Explore"
        | "SearchInput"
        | "SearchResultsTopTab"
        | "SearchResultsAccountsTab"
        | "UserProfile"
        | "ProfileMediaTab"
        | "MyProfile"
        | "MyProfileMediaTab"
        | "EditProfile"
        | "EditProfileBio"
        | "EditProfileUsername"
        | "EditProfileLinks"
        | "EditProfileAddLink"
        | "ProfilePostsFeed"
        | "FeedTimelineFollowing"
        | "UserProfileReelsTab"
        | "DirectInbox"
        | "DirectRecipientPicker"
        | "DirectThread"
        | "DirectForwardingSheet"
        | "DirectMediaPickerPhotos"
        | "DirectStickerTabTray"
        | "DirectGifTray"
        | "DirectStickerPickerGrid"
        | "DirectImagineLoading"
        | "DirectImagineCreation"
        | "DirectDoodleEditor"
        | "DirectCustomizeChat"
        | "DirectThreadThemePicker"
        | "DirectThreadDetails"
        | "DirectThreadSharedMedia"
        | "DirectThreadNicknames"
        | "DirectThreadNicknameChange"
        | "DirectGroupNameAndPhotoEditor"
        | "DirectShareSheet"
        | "StoriesViewer"
        | "PostingGalleryPicker"
        | "PostingPostEdit"
        | "PostingNewPost"
        | "PostingCamera"
        | "PostingCameraGallery"
        | "PostingReelEditor"
        | "PostingNewReel"
        | "PostingPostVideoCameraGallery"
        | "PostingPostVideoCamera"
        | "PostingReelCamera"
        | "PostingStoryCameraHost"
        | "PostingStoryCameraGallery"
        | "PostingPostVideoNewReel"
        | "PostingStoryPhotoEditor"
        | "PostingStoryVideoEditor"
        | "PostingStoryStickerTray"
        | "PostingStoryMusicStickerEditor"
        | "PostingStoryShareSheet"
        | "PostingStoryAlsoShareTo"
        | "PostingStoryDoneCamera"
        | "PostingStoryMusicSearchHost"
        | "PostingMusicBrowser"
        | "PostingMusicSearchResults"
        | "PostingReelMusicOverlayDetail"
        | "PostingReelMusicEditor"
        | "ChallengeSelectVerifyMethod"
        | "ChallengeVerifyCode"
        | "ChallengeSubmitPhone"
        | "ChallengeSetNewPassword"
        | "ChallengeAddBirthday"
        | "ChallengeLoginReview"
        | "ChallengeAccountTemporarilyLocked"
        | "ChallengeEscalationInformation"
        | "ChallengeReviewContactPointChange"
        | "ChallengeScrapingWarning"
        | "ChallengeWebRecaptcha"
        | "ChallengeWebSetNewPassword"
        | "ChallengeTextCaptcha"
        | "ChallengeRecaptcha"
        | "ChallengeSetContactPoint"
        | "ChallengeContactPointCode"
        | "ChallengeAuthenticityWizard"
        | "ChallengeAwaitingReview"
        | "ChallengeThanksForProvidingInfo"
        | "ChallengeAccountSuspended"
    releasedItemLists: Readonly<Record<string, string>>

    How a released trail format named the screen's item lists, mapped to today's names (see ScreenDefinition.releasedItemLists).

    restorePosition: (
        handle: ScreenHandle,
        position: Json,
    ) => Effect<void, ScreenRetraceError | ScreenRetraceStepError<X>, R>

    A retrace's return of a fresh frame to a stored position (see ScreenDefinition.restorePosition).

    sameInput: (
        a: ScreenEncodedInput,
        b: ScreenEncodedInput,
    ) => Effect<boolean, ScreenTrailDecodeError>

    Whether two encoded inputs of the screen are the same input (by the input schema's equivalence).

    take: (
        args: {
            input: unknown;
            origin: ScreenHandle | undefined;
            reach: ScreenEdgeReach;
            via: ScreenVia;
        },
    ) => Effect<
        ScreenFrameHandle,
        X
        | ScreenEdgeInputError,
        ScreenEnterServices<R, never>,
    >

    An edge: checks the step's input against the screen's schema and opens the screen.