Audit function overrides for complete definitions – db.watch() and client.watch()

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.0.0
    • Affects Version/s: 4.0.0
    • Component/s: Shell
    • 1
    • None
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      The original ticket in NODE-2934 addressed this for coll.watch(), but not db.watch() or mongoClient.watch().

      In Typescript when listing the function overrides you have to enumerate all possible usages, seperate from the actual function signature. For example:

      watch(): ChangeStream;
      watch(pipeline?: Document[]): ChangeStream;
      watch(pipeline?: Document[], options?: ChangeStreamOptions): ChangeStream {/* ... */}
      

      Since there is no override that accepts options, options is not exposed as a parameter to the user of this function. This is also a case where no override is necessary. We should scan through our usage of overrides and make sure we have used it correctly and completely.

      Helpful regex: \1 references the first capture group!

      ^\s*(\w+)\(.*\).+;\n\s+\1

              Assignee:
              Neal Beeken
              Reporter:
              Anna Henningsen
              Daria Pardue
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: