DefinitelyTyped/types/jsdoc-to-markdown/jsdoc-to-markdown-tests.ts
Andrew Casey f32c44b81f
fix(jsdoc-to-markdown): correct module definition and update to v5 (#42732)
* fix(jsdoc-to-markdown): correct module definition and update to v5

- update module definition fixing errors like:
```bash
TSError: ⨯ Unable to compile TypeScript:
index.ts:3:10 - error TS2339: Property 'render' does not exist on type
'typeof import("../node_modules/@types/jsdoc-to-markdown/index")'.

3 jsdoc2md.render({ files: 'src/*.js' }).then(...)
```
After this change the module is exported as regular CommonJS module
- update version to v5
- create backward compatible v4
- rewrite tests to match CommonJS module exports

https://github.com/jsdoc2md/jsdoc-to-markdown/blob/master/docs/API.md#jsdoc-to-markdown

Thanks!

* Fix v4 module definition as per PR comment

- module exports correct also for v4
- tests corrected for v4

/cc @amcasey
2020-03-04 16:13:58 -08:00

36 lines
1.3 KiB
TypeScript

/// <reference types="node" />
import jsdoc2md = require('jsdoc-to-markdown');
import fs = require('fs');
const output = jsdoc2md.renderSync({ files: 'lib/*.js' });
fs.writeFileSync('api.md', output);
const JsdocDataOptions = {
files: 'file.js',
};
const RenderOptions: jsdoc2md.RenderOptions = {
data: [],
plugin: '',
helper: [''],
moduleIndexFormat: 'table',
};
jsdoc2md.render(JsdocDataOptions); // $ExpectType Promise<string>
jsdoc2md.renderSync(RenderOptions); // $ExpectType string
jsdoc2md.getTemplateData(JsdocDataOptions); // $ExpectType Promise<object[]>
jsdoc2md.getTemplateDataSync(JsdocDataOptions); // $ExpectType object[]
jsdoc2md.getJsdocData(JsdocDataOptions); // $ExpectType Promise<object[]>
jsdoc2md.getJsdocDataSync(JsdocDataOptions); // $ExpectType object[]
jsdoc2md.clear(); // $ExpectType Promise<void>
jsdoc2md.getNamepaths(JsdocDataOptions); // $ExpectType Promise<object>
(async () => {
await jsdoc2md.render(JsdocDataOptions); // $ExpectType string
await jsdoc2md.getTemplateData(JsdocDataOptions); // $ExpectType object[]
await jsdoc2md.getJsdocData(JsdocDataOptions); // $ExpectType object[]
await jsdoc2md.clear(); // $ExpectType void
await jsdoc2md.getNamepaths(JsdocDataOptions); // $ExpectType object
})();