Generate document block(JsDoc,EsDoc,TsDoc) from signature
npm install lehreLehre is document block generator.
Generate JsDoc style document from source code.
``console`
yarn add -D lehre
`console`
cat src/app.ts | lehre --stdin
Specify directory and ignore patterns.
`console`
lehre --target-dir=./src --ignore-patterns="spec.ts"
Specify file.
`console`
lehre --target-file=./src/app.ts
Use babel parser(default parser is TypeScript compiler api and recommend to use)
`console`
lehre --target-file=./src/app.ts --parser=babel
`console
$ ./lehre --help
Usage: lehre [options]
Options:
-v, --version output the version number
-t, --target-file [path] Path to target file.
-d, --target-dir [path] Path to target directory.
--stdin Force reading input from STDIN
--write Edit files in-place
--template-path [path] Custom formatter path
--ignores [path] Ignore directory names
--ignore-patterns [patterns] Ignore patterns
--parser [target] Parser (default: "ts")
--style [style] Output style(string | json) (default: "string")
--nest Enable to generate inner document(only
parser=ts available)
--scriptTarget [target] [ES3 | ES5 | ES2015 | ES2016 | ES2017 | ES2018
| ES2019 | ESNext] (default: "ESNext")
--scriptKind [kind] [JS | JSX | TS | TSX] (default: "TS")
--formatter [formatter] Document formatter(jsdoc | esdoc | tsdoc)
(default: "jsdoc")
-h, --help display help for command
`
You can choose document block formatter from JsDoc, ESDoc, TSDoc and your custom formatter.
`console`
cat src/app.ts | lehre --stdin
`console`
cat src/app.ts | lehre --stdin --formatter=esdoc
`console`
cat src/app.ts | lehre --stdin --formatter=tsdoc
`console`
cat src/app/ts | lehre --stdin --template-path=./examples/template.js
You can create your own cutom document block formatter.
Return string value and it insert above to signature automatically.
examples/template.js is sample formatter.
#### generateClassDoc
`typescript`
generateClassDoc: (
name: string,
type: string,
start: { line: number, charactor: number },
end: { line: number, charactor: number },
methods: [
name: string,
type: string,
start: { line: number, charactor: number },
end: { line: number, charactor: number },
params: ParamProps[
name: string,
type: string,
default: string,
alias: string,
],
returnType: string,
],
heritageClauses: [{ type: string, value: string }],
) => string
#### generateInterfaceDoc
`typescript`
generateInterfaceDoc: ({
name: string,
type: string,
start: { line: number, charactor: number },
end: { line: number, charactor: number },
methods: [
name: string,
type: string,
start: { line: number, charactor: number },
end: { line: number, charactor: number },
params: ParamProps[
name: string,
type: string,
default: string,
alias: string,
],
returnType: string,
],
heritageClauses: [{ type: string, value: string }],
}) => string
#### generatePropertyDoc
`typescript`
generatePropertyDoc: ({
name: string,
type: string,
start: { line: number, charactor: number },
end: { line: number, charactor: number },
params: ParamProps[
name: string,
type: string,
default: string,
alias: string,
],
returnType: string,
}) => string
#### generateFunctionDoc
`typescript``
generateFunctionDoc: ({
name: string,
type: string,
start: { line: number, charactor: number },
end: { line: number, charactor: number },
params: ParamProps[
name: string,
type: string,
default: string,
alias: string,
],
returnType: string,
}) => string
MIT