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

    Type Alias ScreenEdgeTaken<D, Registry, Source>

    ScreenEdgeTaken: D extends ScreenParts<
        infer Id,
        infer Kind,
        infer Data,
        infer Actions,
    >
        ? Kind extends EnterableScreenKind
            ? Id extends ScreenId
                ? Effect.Effect<
                    Kind extends "tab"
                        ? TabEntryReading<Source> extends "pushed"
                            ? AssembledHandle<
                                Id,
                                Kind,
                                Data,
                                Actions,
                                ScreenItemsOf<D>,
                                EdgeOrigin<Kind, ScreenHandle, Source>,
                                "required",
                                true,
                                ScreenTopOf<D>,
                                Registry,
                            >
                            : TabEntryReading<Source> extends "tab-entry"
                                ? ScreenInstance<D>
                                :
                                    | AssembledHandle<
                                        Id,
                                        Kind,
                                        Data,
                                        Actions,
                                        ScreenItemsOf<D>,
                                        EdgeOrigin<Kind, ScreenHandle, Source>,
                                        "required",
                                        true,
                                        ScreenTopOf<D>,
                                        Registry,
                                    >
                                    | ScreenInstance<D>
                        : AssembledHandle<
                            Id,
                            Kind,
                            Data,
                            Actions,
                            ScreenItemsOf<D>,
                            EdgeOrigin<Kind, ScreenHandle, Source>,
                            "required",
                            Kind extends NavigableScreenKind ? true : false,
                            ScreenTopOf<D>,
                            Registry,
                        >,

                        | ScreenEnterTypes<D>[0]
                        | ScreenItemListFailure<ScreenItemsOf<D>>
                        | ScreenDataError
                        | ScreenEdgeInputError
                        | ScreenEnterConcurrentError,

                        | ScreenEnterTypes<D>[1]
                        | ScreenItemListServices<ScreenItemsOf<D>>
                        | ScreenStack
                        | MobileNavigation
                        | ScreenCatalog,
                >
                : never
            : never
        : never

    What taking an edge into the definition D, declared over Registry, returns: its handle, whose origin is what can open the screen (ScreenOpenedFrom) — never the handle the edge was taken from, so the same screen reached along any path has the same type. Its back returns the frame below it, typed as the union of the screens that can open it (for an inner tab, the frame below the screen it replaced).

    A tab keeps its own stack, and an edge into it always lands on the tab's root: the runtime pops what the tab keeps above the root, as the app's tap on the selected tab does (switchToTabDefinition), so the type is exactly the root screen and the caller needs no is guard. A tab has nothing below its root, so back is optional.

    Type Parameters