ACP v2 TypeScript SDK — EXPERIMENTAL DRAFT - v1.3.0
    Preparing search index...

    Variable NesSuggestionExperimental

    NesSuggestion: {
        isEdit(
            value: NesSuggestion,
        ): value is NesEditSuggestion & { kind: "edit" };
        isJump(value: NesSuggestion): value is NesJumpSuggestion & { kind: "jump" };
        isRename(
            value: NesSuggestion,
        ): value is NesRenameSuggestion & { kind: "rename" };
        isSearchAndReplace(
            value: NesSuggestion,
        ): value is NesSearchAndReplaceSuggestion & { kind: "searchAndReplace" };
        isCustom(
            value: NesSuggestion,
        ): value is { kind: string; [key: string]: unknown } & {
            suggestionId: string;
        };
    }

    Validated type guards for NesSuggestion's known variants.

    Each guard validates the variant's payload, not just its discriminant tag: a malformed known variant (right tag, wrong payload) matches no guard — mirroring wire validation, which rejects such values instead of classifying them as custom.

    Guards check the value as given: fields that wire deserialization salvages to a default (e.g. a malformed _meta) are only normalized by parsing, and for ambiguous raw shapes (a known tag combined with another variant's payload) guards are conservative where wire parsing may still accept the value — narrow wire-parsed values when exact parity matters.

    Type Declaration

    • isEdit: function
    • isJump: function
    • isRename: function
    • isSearchAndReplace: function
    • isCustom: function
      • Narrow to a custom or future variant: the kind tag matches no known variant, with a valid payload.

        TypeScript keeps the known variants in the narrowed union (they are structural subtypes of the catch-all), so read vendor payload keys via a widening cast: (value as Record<string, unknown>).someKey.

        Parameters

        • value: NesSuggestion

        Returns value is { kind: string; [key: string]: unknown } & { suggestionId: string }