{
  "ping": {
    "desc": "Test the reachability of the api.",
    "params": [
      {
        "name": "pong",
        "type": "string",
        "optional": true,
        "default": "pong",
        "desc": "Pong message to return"
      }
    ],
    "returns": {
      "type": "string",
      "desc": "Pong message"
    }
  },
  "dirname": {
    "desc": "Resolve directory name",
    "params": [
      {
        "name": "filename",
        "type": "string",
        "optional": false,
        "desc": "Filename to resolve"
      }
    ],
    "returns": {
      "type": "Promise",
      "desc": ""
    }
  },
  "basename": {
    "desc": "Get base name",
    "params": [
      {
        "name": "filename",
        "type": "string",
        "optional": false,
        "desc": "Filename to resolve"
      },
      {
        "name": "extname",
        "type": "string",
        "optional": true,
        "desc": "Extension name to strip off."
      }
    ],
    "returns": {
      "type": "Promise",
      "desc": ""
    }
  },
  "relative": {
    "desc": "Resolve relative path",
    "params": [
      {
        "name": "from",
        "type": "string",
        "optional": false,
        "desc": "Relative filename from"
      },
      {
        "name": "to",
        "type": "string",
        "optional": false,
        "desc": "Relative filename to"
      }
    ],
    "returns": {
      "type": "Promise.<string>",
      "desc": ""
    }
  },
  "absolute": {
    "desc": "Resolve to absolute path",
    "params": [
      {
        "name": "pathnames",
        "type": "...string",
        "optional": false,
        "desc": ""
      }
    ],
    "returns": {
      "type": "Promise.<string>",
      "desc": ""
    }
  },
  "resolve": {
    "desc": "Resolve a file path",
    "params": [
      {
        "name": "filenames",
        "type": "...string",
        "optional": false,
        "desc": "Filenames to resolve"
      }
    ],
    "returns": {
      "type": "Promise.<string>",
      "desc": ""
    }
  }
}