JSPM

json-to-jsdoc-converter

1.0.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 18
  • Score
    100M100P100Q86507F
  • License MIT

Package Exports

  • json-to-jsdoc-converter

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (json-to-jsdoc-converter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

json-to-jsdoc-converter

Web demo

How to use:

Import dependencies

import { JsonToJsdocConverter } from "json-to-jsdoc-converter";

Initialize converter

const converter = new JsonToJsdocConverter();

Provide some json

 {
  "id": 1,
  "name": "Super Mario",
  "age": null,
  "cars": [
    "honda",
    "bmw"
  ],
  "structure": {
    "logo": ""
  },
  "level1": {
    "alias": "testLevel",
    "level2": {
      "score": 12,
      "item": {},
      "level3": null
    }
  }
}

Pass the json to the convert method

const json = JSON.stringify(jsonMock1);
const jsDoc = converter.convert(json, { typesPrefix: "", typesSuffix: "Type" }); //you can set type name rules by passing optional config

Use the jsDoc output

/**
* @typedef Type
* @property {number} id
* @property {string} name
* @property {any} [age]
* @property {string[]} cars
* @property {StructureType} structure
* @property {Level1Type} level1
*/

/**
* @typedef StructureType
* @property {string} logo
*/

/**
* @typedef Level1Type
* @property {string} alias
* @property {Level1Level2Type} level2
*/

/**
* @typedef Level1Level2Type
* @property {number} score
* @property {object} item
* @property {any} [level3]
*/

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT