{
  "type": "Program",
  "start": 0,
  "end": 2218,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 107,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [],
  "leadingComments": [
    {
      "type": "Block",
      "value": "*\n * Validator info object.\n *\n * @typedef {Object} infoObject\n * @property {string} type - The type.\n * @property {boolean} required - If it is required.\n ",
      "start": 0,
      "end": 160,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 3
        }
      },
      "range": [
        0,
        160
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Validator info object.\n *\n * @typedef {Object} rocCommandObject\n * @property {boolean} debug - If debug mode has been enabled.\n * @property {rocConfig} configObject - The final configuration object where everything has been merged.\n * @property {rocMetaConfig} metaObject - The final meta configuration object where everything has been merged.\n * @property {rocConfig} extensionConfig - The configuration object where all extensions has been merged.\n * @property {rocOptions} parsedOptions - The parsed options given to the cli.\n ",
      "start": 162,
      "end": 701,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 3
        }
      },
      "range": [
        162,
        701
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc config object.\n *\n * @typedef {Object} rocConfig\n * @property {rocSettings} settings\n * @property {Object} commands\n * @property {Object} plugins\n * @property {string[]} extensions\n ",
      "start": 703,
      "end": 898,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 3
        }
      },
      "range": [
        703,
        898
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc meta config object.\n *\n * @typedef {Object} rocMetaConfig\n * @property {rocMetaSettings} settings\n * @property {Object} commands\n * @property {Object} plugins\n ",
      "start": 900,
      "end": 1073,
      "loc": {
        "start": {
          "line": 30,
          "column": 0
        },
        "end": {
          "line": 37,
          "column": 3
        }
      },
      "range": [
        900,
        1073
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc parsed options.\n *\n * @typedef {Object} rocOptions\n * @property {Object} options\n * @property {Object} rest\n ",
      "start": 1075,
      "end": 1197,
      "loc": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 45,
          "column": 3
        }
      },
      "range": [
        1075,
        1197
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc map object.\n *\n * @typedef {Object} rocMapObject\n * @property {string} name\n * @property {string} path\n * @property {function} convertor\n * @property {function} validator\n ",
      "start": 1199,
      "end": 1384,
      "loc": {
        "start": {
          "line": 47,
          "column": 0
        },
        "end": {
          "line": 55,
          "column": 3
        }
      },
      "range": [
        1199,
        1384
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc documentation object.\n *\n * @typedef {Object[]} rocDocumentationObject\n ",
      "start": 1386,
      "end": 1471,
      "loc": {
        "start": {
          "line": 57,
          "column": 0
        },
        "end": {
          "line": 61,
          "column": 3
        }
      },
      "range": [
        1386,
        1471
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc table header object.\n *\n * @typedef {Object} rocTableHeader\n ",
      "start": 1473,
      "end": 1547,
      "loc": {
        "start": {
          "line": 63,
          "column": 0
        },
        "end": {
          "line": 67,
          "column": 3
        }
      },
      "range": [
        1473,
        1547
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc table settings object.\n *\n * See default configuration below:\n * ```\n * {\n *     groupTitleWrapper: (name) => name,\n *     cellDivider: '|',\n *     rowWrapper: (input) => `|${input}|`,\n *     cellWrapper: (input) => ` ${input} `,\n *     header: true,\n *     compact: false\n * }\n * ```\n *\n * @typedef {Object} rocTableSettings\n ",
      "start": 1549,
      "end": 1889,
      "loc": {
        "start": {
          "line": 69,
          "column": 0
        },
        "end": {
          "line": 85,
          "column": 3
        }
      },
      "range": [
        1549,
        1889
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc settings object.\n *\n * @typedef {Object} rocSettings\n ",
      "start": 1891,
      "end": 1958,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 3
        }
      },
      "range": [
        1891,
        1958
      ]
    },
    {
      "type": "Block",
      "value": "*\n  * Roc meta settings object.\n  *\n  * @typedef {Object} rocMetaSettings\n  ",
      "start": 1961,
      "end": 2041,
      "loc": {
        "start": {
          "line": 93,
          "column": 1
        },
        "end": {
          "line": 97,
          "column": 4
        }
      },
      "range": [
        1961,
        2041
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc meta settings object.\n *\n * @typedef {Object} rocMetaSettings\n * @property {Object} descriptions\n * @property {Object} groups\n * @property {Object} validations\n ",
      "start": 2043,
      "end": 2217,
      "loc": {
        "start": {
          "line": 99,
          "column": 0
        },
        "end": {
          "line": 106,
          "column": 3
        }
      },
      "range": [
        2043,
        2217
      ]
    }
  ],
  "innerComments": [
    {
      "type": "Block",
      "value": "*\n * Validator info object.\n *\n * @typedef {Object} infoObject\n * @property {string} type - The type.\n * @property {boolean} required - If it is required.\n ",
      "start": 0,
      "end": 160,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 3
        }
      },
      "range": [
        0,
        160
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Validator info object.\n *\n * @typedef {Object} rocCommandObject\n * @property {boolean} debug - If debug mode has been enabled.\n * @property {rocConfig} configObject - The final configuration object where everything has been merged.\n * @property {rocMetaConfig} metaObject - The final meta configuration object where everything has been merged.\n * @property {rocConfig} extensionConfig - The configuration object where all extensions has been merged.\n * @property {rocOptions} parsedOptions - The parsed options given to the cli.\n ",
      "start": 162,
      "end": 701,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 3
        }
      },
      "range": [
        162,
        701
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc config object.\n *\n * @typedef {Object} rocConfig\n * @property {rocSettings} settings\n * @property {Object} commands\n * @property {Object} plugins\n * @property {string[]} extensions\n ",
      "start": 703,
      "end": 898,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 3
        }
      },
      "range": [
        703,
        898
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc meta config object.\n *\n * @typedef {Object} rocMetaConfig\n * @property {rocMetaSettings} settings\n * @property {Object} commands\n * @property {Object} plugins\n ",
      "start": 900,
      "end": 1073,
      "loc": {
        "start": {
          "line": 30,
          "column": 0
        },
        "end": {
          "line": 37,
          "column": 3
        }
      },
      "range": [
        900,
        1073
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc parsed options.\n *\n * @typedef {Object} rocOptions\n * @property {Object} options\n * @property {Object} rest\n ",
      "start": 1075,
      "end": 1197,
      "loc": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 45,
          "column": 3
        }
      },
      "range": [
        1075,
        1197
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc map object.\n *\n * @typedef {Object} rocMapObject\n * @property {string} name\n * @property {string} path\n * @property {function} convertor\n * @property {function} validator\n ",
      "start": 1199,
      "end": 1384,
      "loc": {
        "start": {
          "line": 47,
          "column": 0
        },
        "end": {
          "line": 55,
          "column": 3
        }
      },
      "range": [
        1199,
        1384
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc documentation object.\n *\n * @typedef {Object[]} rocDocumentationObject\n ",
      "start": 1386,
      "end": 1471,
      "loc": {
        "start": {
          "line": 57,
          "column": 0
        },
        "end": {
          "line": 61,
          "column": 3
        }
      },
      "range": [
        1386,
        1471
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc table header object.\n *\n * @typedef {Object} rocTableHeader\n ",
      "start": 1473,
      "end": 1547,
      "loc": {
        "start": {
          "line": 63,
          "column": 0
        },
        "end": {
          "line": 67,
          "column": 3
        }
      },
      "range": [
        1473,
        1547
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc table settings object.\n *\n * See default configuration below:\n * ```\n * {\n *     groupTitleWrapper: (name) => name,\n *     cellDivider: '|',\n *     rowWrapper: (input) => `|${input}|`,\n *     cellWrapper: (input) => ` ${input} `,\n *     header: true,\n *     compact: false\n * }\n * ```\n *\n * @typedef {Object} rocTableSettings\n ",
      "start": 1549,
      "end": 1889,
      "loc": {
        "start": {
          "line": 69,
          "column": 0
        },
        "end": {
          "line": 85,
          "column": 3
        }
      },
      "range": [
        1549,
        1889
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc settings object.\n *\n * @typedef {Object} rocSettings\n ",
      "start": 1891,
      "end": 1958,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 3
        }
      },
      "range": [
        1891,
        1958
      ]
    },
    {
      "type": "Block",
      "value": "*\n  * Roc meta settings object.\n  *\n  * @typedef {Object} rocMetaSettings\n  ",
      "start": 1961,
      "end": 2041,
      "loc": {
        "start": {
          "line": 93,
          "column": 1
        },
        "end": {
          "line": 97,
          "column": 4
        }
      },
      "range": [
        1961,
        2041
      ]
    },
    {
      "type": "Block",
      "value": "*\n * Roc meta settings object.\n *\n * @typedef {Object} rocMetaSettings\n * @property {Object} descriptions\n * @property {Object} groups\n * @property {Object} validations\n ",
      "start": 2043,
      "end": 2217,
      "loc": {
        "start": {
          "line": 99,
          "column": 0
        },
        "end": {
          "line": 106,
          "column": 3
        }
      },
      "range": [
        2043,
        2217
      ]
    }
  ]
}