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

    Interface ScreenLaunch<Id, Kind, Input, Data, State, E, R, Actions, Items, Top, LaunchInput, BE, BR, SplashId, SplashKind, SplashInput, SplashData, SplashState, SplashE, SplashR, SplashActions, SplashItems, SplashTop>

    What the platform's app process starts with: the first screen a logged-in launch shows, the launch edge's own facts — the navigation source and the ordinal skip — and the launch's burst. The screen is a definition of the platform's screen set, not an id: the entry opens it through the core launch edge (enterRoot) and checks that the runtime really has it.

    The burst is the ordered list of everything the app sends when it launches, written once in the declaration with its concurrency windows (Effect.all over the list, window after window), and carries one firstScreen mark (LaunchBurstMarks). screenInput turns the caller's launch input into the first screen's input, so facts of the launch — the screen's opening — are the declaration's, not the caller's.

    The brand keeps an arbitrary effect out of the declaration: only declareLaunch builds one. The declaration is the API of the platform packages (third-party platforms included): a platform installs its own and the entry reads it; declareLaunch is public for that reason. It is written by inference from declareLaunch(screen, via, …), never through a hand-written type — the parameters below carry the screen's data, actions and services and the burst's, and an annotation that names them by hand erases exactly what OpenApp hands back.

    interface ScreenLaunch<
        Id extends ScreenId,
        Kind extends EnterableScreenKind,
        Input,
        Data extends object,
        State,
        E,
        R,
        Actions extends object,
        Items extends object,
        Top extends PropertyKey,
        LaunchInput,
        BE,
        BR,
        SplashId extends ScreenId = never,
        SplashKind extends EnterableScreenKind = never,
        SplashInput = never,
        SplashData extends object = never,
        SplashState = never,
        SplashE = never,
        SplashR = never,
        SplashActions extends object = never,
        SplashItems extends object = never,
        SplashTop extends PropertyKey = never,
    > {
        "[launchBrand]": true;
        burst: (
            marks: LaunchBurstMarks<
                LaunchInput,
                LaunchFirstScreenFailure<E, Items>,
                LaunchFirstScreenServices<R, Items>,
                LaunchFirstScreenFailure<SplashE, SplashItems>,
                LaunchFirstScreenServices<SplashR, SplashItems>,
            >,
        ) => Effect<unknown, BE, BR>;
        screen: ScreenDefinition<
            Id,
            Kind,
            Input,
            Data,
            State,
            E,
            R,
            Actions,
            Items,
            never,
            Top,
        >;
        screenInput: (input: LaunchInput) => Input;
        splash:
            | LaunchSplash<
                LaunchInput,
                SplashId,
                SplashKind,
                SplashInput,
                SplashData,
                SplashState,
                SplashE,
                SplashR,
                SplashActions,
                SplashItems,
                SplashTop,
            >
            | undefined;
        via: ScreenVia;
    }

    Type Parameters

    • Id extends ScreenId
    • Kind extends EnterableScreenKind
    • Input
    • Data extends object
    • State
    • E
    • R
    • Actions extends object
    • Items extends object
    • Top extends PropertyKey
    • LaunchInput
    • BE
    • BR
    • SplashId extends ScreenId = never
    • SplashKind extends EnterableScreenKind = never
    • SplashInput = never
    • SplashData extends object = never
    • SplashState = never
    • SplashE = never
    • SplashR = never
    • SplashActions extends object = never
    • SplashItems extends object = never
    • SplashTop extends PropertyKey = never
    Index

    Properties

    "[launchBrand]": true
    burst: (
        marks: LaunchBurstMarks<
            LaunchInput,
            LaunchFirstScreenFailure<E, Items>,
            LaunchFirstScreenServices<R, Items>,
            LaunchFirstScreenFailure<SplashE, SplashItems>,
            LaunchFirstScreenServices<SplashR, SplashItems>,
        >,
    ) => Effect<unknown, BE, BR>
    screen: ScreenDefinition<
        Id,
        Kind,
        Input,
        Data,
        State,
        E,
        R,
        Actions,
        Items,
        never,
        Top,
    >
    screenInput: (input: LaunchInput) => Input
    splash:
        | LaunchSplash<
            LaunchInput,
            SplashId,
            SplashKind,
            SplashInput,
            SplashData,
            SplashState,
            SplashE,
            SplashR,
            SplashActions,
            SplashItems,
            SplashTop,
        >
        | undefined

    The splash the launch brings over its first screen; absent when it brings none.