Convert reviewable models to TypeScript/spina.

Review Request #13530 — Created Feb. 7, 2024 and submitted

Information

Review Board
master

Reviewers

This change converts the *Reviewable models to TypeScript. While I was
in here I also removed some deprecated callbacks-style invocation inside
of the DiffReviewable.

  • Ran js-tests.
  • Smoke tested reviewing file attachments and diffs.
Summary ID
Convert reviewable models to TypeScript/spina.
This change converts the *Reviewable models to TypeScript. While I was in here I also removed some deprecated callbacks-style invocation inside of the DiffReviewable. Testing Done: - Ran js-tests. - Smoke tested reviewing file attachments and diffs. Reviewed at https://reviews.reviewboard.org/r/13530/
c7a3bf9643eb23324ba35e369d6cf71709403b4f
Description From Last Updated

These should all be removed.

chipx86chipx86

Missing docs.

chipx86chipx86

I think we can infer this type by doing: class AbstractReviewable< TAttributes extends AbstractReviewableAttrs = AbstractReviewableAttrs, TCommentBlockType extends AbstractCommentBlock<TCommentBlockAttrs>, TCommentBlockAttrs …

chipx86chipx86

Two blank lines.

chipx86chipx86
maubin
  1. Ship It!
  2. 
      
chipx86
  1. 
      
  2. reviewboard/static/rb/js/reviews/models/diffReviewableModel.ts (Diff revision 1)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    These should all be removed.

  3. I think we can infer this type by doing:

    class AbstractReviewable<
        TAttributes extends AbstractReviewableAttrs = AbstractReviewableAttrs,
        TCommentBlockType extends AbstractCommentBlock<TCommentBlockAttrs>,
        TCommentBlockAttrs
    > extends ... {
        createCommentBlock(attrs: TCommentBlockAttrs) { ... }
    }
    
    1. That doesn't work. I've been banging my head against this for a while. It's on my radar to circle back and try to improve it.

    2. Yeah it doesn't. I tried to bring this into Spina and it didn't work. But there's some stuff in TypeScript 5+ that may make some of this possible. On my to-do list to play with.

  4. 
      
david
chipx86
  1. Ship It!
  2. 
      
david
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-7.x (cdc4055)
Loading...