Skip to content

dalirnet/doctypes

Repository files navigation

DocTypes

JSDoc generator for JavaScript, TypeScript using AI.

demo


Sample

  • Class
/**
 * Exporting the class User, which extends the class UserAbstract
 * and implements the interface PersonInterface.
 *
 * @class
 * @name User
 * @kind class
 * @extends UserAbstract
 * @implements PersonInterface
 * @exports
 */
export class User extends UserAbstract implements PersonInterface {}
  • Function
/**
 * Exporting a function called `createUserId` that takes a parameter called `nonce`
 * that is a number and returns a value of type `Id`.
 *
 * @function
 * @name createUserId
 * @kind function
 * @param {number} nonce?
 * @returns {Id}
 * @exports
 */
export function createUserId(nonce: number = 0): Id {}
  • Variable
/**
 * Generating a random number between the `MAX` and `MIN` variables.
 *
 * @constant
 * @name perfix
 * @kind variable
 * @memberof createUserId
 * @type {number}
 */
const perfix: number = Math.floor(Math.random() * (MAX - MIN)) + MIN;
  • Interface
/**
 * Exporting the interface.
 *
 * @interface
 * @name PersonInterface
 * @kind interface
 * @exports
 */
export interface PersonInterface {}
  • Type
/**
 * It's a type alias.
 *
 * @typedef
 * @name Id
 * @kind variable
 * @exports
 */
export type Id = string | number;

Shortcut keys

  • linux shift+ctrl+/
  • windows shift+ctrl+/
  • mac shift+cmd+/

Configuration

Name Type
doctypes.mintlifyUserId
The custom Mintlify userId, See Mintlify for more details.
String
Default "4aeafe05-c396-4389-8d77-52e585e41932"
doctypes.mintlifyContext
Type of Mintlify context full of page or single line.
Enum Full , Single
Default Full
doctypes.descriptionWrap
When the description generation type is set to Auto, the description will be split into lines based on this value.
Number
Default 120
doctypes.description
Type of description generation.
Enum Auto , Manual , Off
Default Auto
doctypes.class
Type of @class tag generation.
Enum Auto , Off
Default Auto
doctypes.abstract
Type of @abstract tag generation.
Enum Auto , Off
Default Auto
doctypes.interface
Type of @interface tag generation.
Enum Auto , Off
Default Auto
doctypes.typedef
Type of @typedef tag generation.
Enum Auto , Off
Default Auto
doctypes.enum
Type of @enum tag generation.
Enum Auto , Off
Default Auto
doctypes.async
Type of @async tag generation.
Enum Auto , Off
Default Auto
doctypes.function
Type of @function tag generation.
Enum Auto , Off
Default Auto
doctypes.variable
Type of @variable tag generation.
Enum Auto , Off
Default Auto
doctypes.name
Type of @name tag generation.
Enum Auto , Off
Default Auto
doctypes.kind
Type of @kind tag generation.
Enum Auto , Off
Default Auto
doctypes.memberof
Type of @memberof tag generation.
Enum Auto , Off
Default Auto
doctypes.public
Type of @public tag generation.
Enum Auto , Off
Default Auto
doctypes.private
Type of @private tag generation.
Enum Auto , Off
Default Auto
doctypes.protected
Type of @protected tag generation.
Enum Auto , Off
Default Auto
doctypes.readonly
Type of @readonly tag generation.
Enum Auto , Off
Default Auto
doctypes.instance
Type of @instance tag generation.
Enum Auto , Off
Default Auto
doctypes.type
Type of @type tag generation.
Enum Auto , Off
Default Auto
doctypes.param
Type of @param tag generation.
Enum Auto , Off
Default Auto
doctypes.returns
Type of @returns tag generation.
Enum Auto , Off
Default Auto
doctypes.extends
Type of @extends tag generation.
Enum Auto , Off
Default Auto
doctypes.implements
Type of @implements tag generation.
Enum Auto , Off
Default Auto
doctypes.exports
Type of @exports tag generation.
Enum Auto , Off
Default Auto

Supported filetypes

  • .js
  • .ts

Test

  • type.spec.ts
    • ✔ type Id
    • ✔ type Name
    • ✔ type Age
  • interface.spec.ts
    • ✔ interface PersonInterface
    • ✔ id: Id
    • ✔ name?: Name
  • abstract.spec.ts
    • ✔ abstract class UserAbstract
    • ✔ constructor()
    • ✔ abstract getAge()
    • ✔ abstract setAge(age: Age)
    • ✔ get isOld()
  • class.spec.ts
    • ✔ class User extends UserAbstract implements PersonInterface
    • ✔ public readonly id: Id
    • ✔ public name?: Name
    • ✔ protected _age?: Age
    • ✔ constructor(id: Id, name?: Name)
    • ✔ set nickname(name: Name)
    • ✔ public getNickname: ()
    • ✔ public setAge(age: Age)
    • ✔ public getAge()
    • ✔ class Employee extends User
    • ✔ readonly role?: string
    • ✔ static department: string
    • ✔ public static createEmployee(id: Id) (54ms)
    • ✔ export default Employee
  • variable.spec.ts
    • ✔ const MIN: 1111
    • ✔ const MAX: 999
  • function.spec.ts
    • ✔ function createUserId(nonce: number = 0)
    • ✔ const perfix: number
    • ✔ function validateUserName<In extends string, Out = boolean>(username: In)
  • index.spec.ts
    • ✔ const userId: Id
    • ✔ const john: User
    • ✔ john.getAge()

Note

Description values are generated by Mintlify AI.