Everything else here is whitespace.
Using this pattern helps with some 3p tools to navigate tests in the monorepo, as they can easily be grouped by the top-level suite title
This now displays the type of the response in the command output. Since all return types from commands are `Promise<T>`, it unwraps `T` and displays only that (since `Promise` is very specific to JS).
- better test organization
- plugin now exports a couple `Promise`-returning functions for programmatic consumption. TypeDoc doesn't use these, but they're helpful to test with
- simplified `omitDefaultReflections()`; moved into `converter/builder` module since it's a post-conversion thing
Most of this "just works", but the additional parameters to a plugin command need special handling. To do that, we have to understand what is a plugin and what is not.
Note that this is incompatible with the "mixin" pattern as found in `BaseDriver` and `FakeDriver`. In other words, a _Plugin_ should not use mixin classes. I would not recommend mixin classes going forward due to its complexity and opacity.
- `BuiltinMethodMapConverter`'s `convert()` will _always_ return a `BuiltinCommands` / removed unused import
- Verbose logging for skipped methods
- Remove useless type aliases from option declarations and add some no-op typechecks (these will be compiled away)
- Add some docstrings to guards and types
- `CallSignatureReflectionWithParams` is now `CallSignatureReflectionWithArity`, and it is specific about having a nonzero arity. Broke out `CallSignatureReflection` from this, since the guard and type didn't fully match up
Instead of only inspecting `ReflectionKind.Method`, we now examine `ReflectionKind.Property`, which can be of type `ReflectionType` pointing to an async function. Example:
```js
async function baz() {}
class Foo {
async bar() {} // ReflectionKind.Method
baz = baz; // ReflectionKind.Property referencing a function
}
```
Also ensures `static` methods aren't picked up; this could happen if a static method shares the same name with a known command method as defined in the builtin routes.
E2E tests are quasi-blocking on merge & release of https://github.com/TypeStrong/typedoc/issues/2130; it is a huge pain to test without this.
- Adds some options to control output
- Rename `CommandsReflection` to `ExtensionReflection` due to poor granular control over the display name
- Rename the custom "kinds"; add kinds for drivers and plugins (which affects display titles)
- Remove namespace from "kinds" for same reason
- Refactors, reformatting
- Rename entry point from `plugin.ts` to `index.ts`
- Update keywords in `package.json` for auto-discovery
- Remove cruft from root `typedoc.json`
- Update `README.md`
- Update peer dependencies; the other plugins must be peer deps or typedoc will be unable to auto-discover them