MitocGroup/run-jst

View on GitHub
docs/api/ast/source/component/coverage/abstract-driver.js.json

Summary

Maintainability
Test Coverage
{
  "type": "File",
  "start": 0,
  "end": 1067,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 62,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 1067,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 62,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "Identifier",
        "start": 59,
        "end": 1034,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 59,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 65,
          "end": 79,
          "loc": {
            "start": {
              "line": 6,
              "column": 6
            },
            "end": {
              "line": 6,
              "column": 20
            },
            "identifierName": "AbstractDriver"
          },
          "name": "AbstractDriver",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 80,
          "end": 1034,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 59,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ClassMethod",
              "start": 151,
              "end": 366,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 2
                },
                "end": {
                  "line": 21,
                  "column": 3
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 151,
                "end": 155,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 2
                  },
                  "end": {
                    "line": 12,
                    "column": 6
                  },
                  "identifierName": "read"
                },
                "name": "read",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 156,
                  "end": 160,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 7
                    },
                    "end": {
                      "line": 12,
                      "column": 11
                    },
                    "identifierName": "name"
                  },
                  "name": "name"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 162,
                "end": 366,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 13
                  },
                  "end": {
                    "line": 21,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 168,
                    "end": 362,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 4
                      },
                      "end": {
                        "line": 20,
                        "column": 9
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 175,
                      "end": 361,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 11
                        },
                        "end": {
                          "line": 20,
                          "column": 8
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 175,
                        "end": 203,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 11
                          },
                          "end": {
                            "line": 14,
                            "column": 11
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 175,
                          "end": 191,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 11
                            },
                            "end": {
                              "line": 13,
                              "column": 27
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 175,
                            "end": 185,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 11
                              },
                              "end": {
                                "line": 13,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 175,
                              "end": 179,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 11
                                },
                                "end": {
                                  "line": 13,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 180,
                              "end": 185,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 16
                                },
                                "end": {
                                  "line": 13,
                                  "column": 21
                                },
                                "identifierName": "_read"
                              },
                              "name": "_read"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 186,
                              "end": 190,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 22
                                },
                                "end": {
                                  "line": 13,
                                  "column": 26
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 199,
                          "end": 203,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 7
                            },
                            "end": {
                              "line": 14,
                              "column": 11
                            },
                            "identifierName": "then"
                          },
                          "name": "then"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 204,
                          "end": 360,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 12
                            },
                            "end": {
                              "line": 20,
                              "column": 7
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 204,
                              "end": 211,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 12
                                },
                                "end": {
                                  "line": 14,
                                  "column": 19
                                },
                                "identifierName": "content"
                              },
                              "name": "content"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 215,
                            "end": 360,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 23
                              },
                              "end": {
                                "line": 20,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 225,
                                "end": 290,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 9
                                  }
                                },
                                "test": {
                                  "type": "UnaryExpression",
                                  "start": 229,
                                  "end": 237,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 20
                                    }
                                  },
                                  "operator": "!",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 230,
                                    "end": 237,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 20
                                      },
                                      "identifierName": "content"
                                    },
                                    "name": "content"
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 239,
                                  "end": 290,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "start": 251,
                                      "end": 280,
                                      "loc": {
                                        "start": {
                                          "line": 16,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 16,
                                          "column": 39
                                        }
                                      },
                                      "argument": {
                                        "type": "CallExpression",
                                        "start": 258,
                                        "end": 279,
                                        "loc": {
                                          "start": {
                                            "line": 16,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 16,
                                            "column": 38
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 258,
                                          "end": 273,
                                          "loc": {
                                            "start": {
                                              "line": 16,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 16,
                                              "column": 32
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 258,
                                            "end": 265,
                                            "loc": {
                                              "start": {
                                                "line": 16,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 16,
                                                "column": 24
                                              },
                                              "identifierName": "Promise"
                                            },
                                            "name": "Promise"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 266,
                                            "end": 273,
                                            "loc": {
                                              "start": {
                                                "line": 16,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 16,
                                                "column": 32
                                              },
                                              "identifierName": "resolve"
                                            },
                                            "name": "resolve"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NullLiteral",
                                            "start": 274,
                                            "end": 278,
                                            "loc": {
                                              "start": {
                                                "line": 16,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 16,
                                                "column": 37
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 308,
                                "end": 352,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 52
                                  }
                                },
                                "argument": {
                                  "type": "CallExpression",
                                  "start": 315,
                                  "end": 351,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 51
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 315,
                                    "end": 330,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 315,
                                      "end": 322,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 22
                                        },
                                        "identifierName": "Promise"
                                      },
                                      "name": "Promise"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 323,
                                      "end": 330,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 30
                                        },
                                        "identifierName": "resolve"
                                      },
                                      "name": "resolve"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 331,
                                      "end": 350,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 50
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 331,
                                        "end": 341,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 331,
                                          "end": 335,
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 35
                                            },
                                            "identifierName": "JSON"
                                          },
                                          "name": "JSON"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 336,
                                          "end": 341,
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 41
                                            },
                                            "identifierName": "parse"
                                          },
                                          "name": "parse"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 342,
                                          "end": 349,
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 49
                                            },
                                            "identifierName": "content"
                                          },
                                          "name": "content"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n   * @param {string} name\n   *\n   * @returns {Promise}\n   ",
                  "start": 84,
                  "end": 148,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 2
                    },
                    "end": {
                      "line": 11,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n   * @param {string} name\n   * @param {*} coverage\n   *\n   * @returns {Promise}\n   ",
                  "start": 372,
                  "end": 461,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 2
                    },
                    "end": {
                      "line": 28,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 464,
              "end": 547,
              "loc": {
                "start": {
                  "line": 29,
                  "column": 2
                },
                "end": {
                  "line": 31,
                  "column": 3
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 464,
                "end": 469,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 2
                  },
                  "end": {
                    "line": 29,
                    "column": 7
                  },
                  "identifierName": "write"
                },
                "name": "write",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 470,
                  "end": 474,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 8
                    },
                    "end": {
                      "line": 29,
                      "column": 12
                    },
                    "identifierName": "name"
                  },
                  "name": "name"
                },
                {
                  "type": "Identifier",
                  "start": 476,
                  "end": 484,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 14
                    },
                    "end": {
                      "line": 29,
                      "column": 22
                    },
                    "identifierName": "coverage"
                  },
                  "name": "coverage"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 486,
                "end": 547,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 24
                  },
                  "end": {
                    "line": 31,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 492,
                    "end": 543,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 4
                      },
                      "end": {
                        "line": 30,
                        "column": 55
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 499,
                      "end": 542,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 11
                        },
                        "end": {
                          "line": 30,
                          "column": 54
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 499,
                        "end": 510,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 11
                          },
                          "end": {
                            "line": 30,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 499,
                          "end": 503,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 11
                            },
                            "end": {
                              "line": 30,
                              "column": 15
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 504,
                          "end": 510,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 16
                            },
                            "end": {
                              "line": 30,
                              "column": 22
                            },
                            "identifierName": "_write"
                          },
                          "name": "_write"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 511,
                          "end": 515,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 23
                            },
                            "end": {
                              "line": 30,
                              "column": 27
                            },
                            "identifierName": "name"
                          },
                          "name": "name"
                        },
                        {
                          "type": "CallExpression",
                          "start": 517,
                          "end": 541,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 29
                            },
                            "end": {
                              "line": 30,
                              "column": 53
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 517,
                            "end": 531,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 29
                              },
                              "end": {
                                "line": 30,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 517,
                              "end": 521,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 29
                                },
                                "end": {
                                  "line": 30,
                                  "column": 33
                                },
                                "identifierName": "JSON"
                              },
                              "name": "JSON"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 522,
                              "end": 531,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 34
                                },
                                "end": {
                                  "line": 30,
                                  "column": 43
                                },
                                "identifierName": "stringify"
                              },
                              "name": "stringify"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 532,
                              "end": 540,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 44
                                },
                                "end": {
                                  "line": 30,
                                  "column": 52
                                },
                                "identifierName": "coverage"
                              },
                              "name": "coverage"
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n   * @param {string} name\n   * @param {*} coverage\n   *\n   * @returns {Promise}\n   ",
                  "start": 372,
                  "end": 461,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 2
                    },
                    "end": {
                      "line": 28,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n   * @param {string} name\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                  "start": 551,
                  "end": 635,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 2
                    },
                    "end": {
                      "line": 39,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 638,
              "end": 764,
              "loc": {
                "start": {
                  "line": 40,
                  "column": 2
                },
                "end": {
                  "line": 44,
                  "column": 3
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 638,
                "end": 643,
                "loc": {
                  "start": {
                    "line": 40,
                    "column": 2
                  },
                  "end": {
                    "line": 40,
                    "column": 7
                  },
                  "identifierName": "_read"
                },
                "name": "_read",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 644,
                  "end": 648,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 8
                    },
                    "end": {
                      "line": 40,
                      "column": 12
                    },
                    "identifierName": "name"
                  },
                  "name": "name"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 650,
                "end": 764,
                "loc": {
                  "start": {
                    "line": 40,
                    "column": 14
                  },
                  "end": {
                    "line": 44,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 656,
                    "end": 760,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 4
                      },
                      "end": {
                        "line": 43,
                        "column": 7
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 663,
                      "end": 759,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 11
                        },
                        "end": {
                          "line": 43,
                          "column": 6
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 663,
                        "end": 677,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 11
                          },
                          "end": {
                            "line": 41,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 663,
                          "end": 670,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 11
                            },
                            "end": {
                              "line": 41,
                              "column": 18
                            },
                            "identifierName": "Promise"
                          },
                          "name": "Promise"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 671,
                          "end": 677,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 19
                            },
                            "end": {
                              "line": 41,
                              "column": 25
                            },
                            "identifierName": "reject"
                          },
                          "name": "reject"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "NewExpression",
                          "start": 678,
                          "end": 758,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 26
                            },
                            "end": {
                              "line": 43,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 682,
                            "end": 687,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 30
                              },
                              "end": {
                                "line": 41,
                                "column": 35
                              },
                              "identifierName": "Error"
                            },
                            "name": "Error"
                          },
                          "arguments": [
                            {
                              "type": "TemplateLiteral",
                              "start": 695,
                              "end": 752,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 6
                                },
                                "end": {
                                  "line": 42,
                                  "column": 63
                                }
                              },
                              "expressions": [
                                {
                                  "type": "MemberExpression",
                                  "start": 699,
                                  "end": 720,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 699,
                                    "end": 715,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 699,
                                      "end": 703,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 704,
                                      "end": 715,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 26
                                        },
                                        "identifierName": "constructor"
                                      },
                                      "name": "constructor"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 716,
                                    "end": 720,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 31
                                      },
                                      "identifierName": "name"
                                    },
                                    "name": "name"
                                  },
                                  "computed": false
                                }
                              ],
                              "quasis": [
                                {
                                  "type": "TemplateElement",
                                  "start": 696,
                                  "end": 696,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 7
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 7
                                    }
                                  },
                                  "value": {
                                    "raw": "",
                                    "cooked": ""
                                  },
                                  "tail": false
                                },
                                {
                                  "type": "TemplateElement",
                                  "start": 722,
                                  "end": 751,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 62
                                    }
                                  },
                                  "value": {
                                    "raw": "._read(name) not implemented!",
                                    "cooked": "._read(name) not implemented!"
                                  },
                                  "tail": true
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n   * @param {string} name\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                  "start": 551,
                  "end": 635,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 2
                    },
                    "end": {
                      "line": 39,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n   * @param {string} name\n   * @param {string} content\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                  "start": 770,
                  "end": 883,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 2
                    },
                    "end": {
                      "line": 53,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 886,
              "end": 1032,
              "loc": {
                "start": {
                  "line": 54,
                  "column": 2
                },
                "end": {
                  "line": 58,
                  "column": 3
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 886,
                "end": 892,
                "loc": {
                  "start": {
                    "line": 54,
                    "column": 2
                  },
                  "end": {
                    "line": 54,
                    "column": 8
                  },
                  "identifierName": "_write"
                },
                "name": "_write",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 893,
                  "end": 897,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 9
                    },
                    "end": {
                      "line": 54,
                      "column": 13
                    },
                    "identifierName": "name"
                  },
                  "name": "name"
                },
                {
                  "type": "Identifier",
                  "start": 899,
                  "end": 906,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 15
                    },
                    "end": {
                      "line": 54,
                      "column": 22
                    },
                    "identifierName": "content"
                  },
                  "name": "content"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 908,
                "end": 1032,
                "loc": {
                  "start": {
                    "line": 54,
                    "column": 24
                  },
                  "end": {
                    "line": 58,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 914,
                    "end": 1028,
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 4
                      },
                      "end": {
                        "line": 57,
                        "column": 7
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 921,
                      "end": 1027,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 11
                        },
                        "end": {
                          "line": 57,
                          "column": 6
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 921,
                        "end": 935,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 11
                          },
                          "end": {
                            "line": 55,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 921,
                          "end": 928,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 11
                            },
                            "end": {
                              "line": 55,
                              "column": 18
                            },
                            "identifierName": "Promise"
                          },
                          "name": "Promise"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 929,
                          "end": 935,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 19
                            },
                            "end": {
                              "line": 55,
                              "column": 25
                            },
                            "identifierName": "reject"
                          },
                          "name": "reject"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "NewExpression",
                          "start": 936,
                          "end": 1026,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 26
                            },
                            "end": {
                              "line": 57,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 940,
                            "end": 945,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 30
                              },
                              "end": {
                                "line": 55,
                                "column": 35
                              },
                              "identifierName": "Error"
                            },
                            "name": "Error"
                          },
                          "arguments": [
                            {
                              "type": "TemplateLiteral",
                              "start": 953,
                              "end": 1020,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 6
                                },
                                "end": {
                                  "line": 56,
                                  "column": 73
                                }
                              },
                              "expressions": [
                                {
                                  "type": "MemberExpression",
                                  "start": 957,
                                  "end": 978,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 957,
                                    "end": 973,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 957,
                                      "end": 961,
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 962,
                                      "end": 973,
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 26
                                        },
                                        "identifierName": "constructor"
                                      },
                                      "name": "constructor"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 974,
                                    "end": 978,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 31
                                      },
                                      "identifierName": "name"
                                    },
                                    "name": "name"
                                  },
                                  "computed": false
                                }
                              ],
                              "quasis": [
                                {
                                  "type": "TemplateElement",
                                  "start": 954,
                                  "end": 954,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 7
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 7
                                    }
                                  },
                                  "value": {
                                    "raw": "",
                                    "cooked": ""
                                  },
                                  "tail": false
                                },
                                {
                                  "type": "TemplateElement",
                                  "start": 980,
                                  "end": 1019,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 72
                                    }
                                  },
                                  "value": {
                                    "raw": "._write(name, content) not implemented!",
                                    "cooked": "._write(name, content) not implemented!"
                                  },
                                  "tail": true
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n   * @param {string} name\n   * @param {string} content\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                  "start": 770,
                  "end": 883,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 2
                    },
                    "end": {
                      "line": 53,
                      "column": 5
                    }
                  }
                }
              ]
            }
          ]
        },
        "leadingComments": [],
        "name": "_",
        "trailingComments": []
      },
      {
        "type": "Identifier",
        "start": 1036,
        "end": 1066,
        "loc": {
          "start": {
            "line": 61,
            "column": 0
          },
          "end": {
            "line": 61,
            "column": 30
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 1051,
          "end": 1065,
          "loc": {
            "start": {
              "line": 61,
              "column": 15
            },
            "end": {
              "line": 61,
              "column": 29
            },
            "identifierName": "AbstractDriver"
          },
          "name": "AbstractDriver"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 1036,
        "end": 1066,
        "loc": {
          "start": {
            "line": 61,
            "column": 0
          },
          "end": {
            "line": 61,
            "column": 30
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 59,
          "end": 1034,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 59,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 65,
            "end": 79,
            "loc": {
              "start": {
                "line": 6,
                "column": 6
              },
              "end": {
                "line": 6,
                "column": 20
              },
              "identifierName": "AbstractDriver"
            },
            "name": "AbstractDriver",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 80,
            "end": 1034,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 59,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 151,
                "end": 366,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 2
                  },
                  "end": {
                    "line": 21,
                    "column": 3
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 151,
                  "end": 155,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 2
                    },
                    "end": {
                      "line": 12,
                      "column": 6
                    },
                    "identifierName": "read"
                  },
                  "name": "read",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 156,
                    "end": 160,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 7
                      },
                      "end": {
                        "line": 12,
                        "column": 11
                      },
                      "identifierName": "name"
                    },
                    "name": "name"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 162,
                  "end": 366,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 13
                    },
                    "end": {
                      "line": 21,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 168,
                      "end": 362,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 9
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 175,
                        "end": 361,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 11
                          },
                          "end": {
                            "line": 20,
                            "column": 8
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 175,
                          "end": 203,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 11
                            },
                            "end": {
                              "line": 14,
                              "column": 11
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 175,
                            "end": 191,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 11
                              },
                              "end": {
                                "line": 13,
                                "column": 27
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 175,
                              "end": 185,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 11
                                },
                                "end": {
                                  "line": 13,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 175,
                                "end": 179,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 180,
                                "end": 185,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 21
                                  },
                                  "identifierName": "_read"
                                },
                                "name": "_read"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 186,
                                "end": 190,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 26
                                  },
                                  "identifierName": "name"
                                },
                                "name": "name"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 199,
                            "end": 203,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 7
                              },
                              "end": {
                                "line": 14,
                                "column": 11
                              },
                              "identifierName": "then"
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 204,
                            "end": 360,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 12
                              },
                              "end": {
                                "line": 20,
                                "column": 7
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 204,
                                "end": 211,
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 19
                                  },
                                  "identifierName": "content"
                                },
                                "name": "content"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 215,
                              "end": 360,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 20,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 225,
                                  "end": 290,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 9
                                    }
                                  },
                                  "test": {
                                    "type": "UnaryExpression",
                                    "start": 229,
                                    "end": 237,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 20
                                      }
                                    },
                                    "operator": "!",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Identifier",
                                      "start": 230,
                                      "end": 237,
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 20
                                        },
                                        "identifierName": "content"
                                      },
                                      "name": "content"
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 239,
                                    "end": 290,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ReturnStatement",
                                        "start": 251,
                                        "end": 280,
                                        "loc": {
                                          "start": {
                                            "line": 16,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 16,
                                            "column": 39
                                          }
                                        },
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 258,
                                          "end": 279,
                                          "loc": {
                                            "start": {
                                              "line": 16,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 16,
                                              "column": 38
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 258,
                                            "end": 273,
                                            "loc": {
                                              "start": {
                                                "line": 16,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 16,
                                                "column": 32
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 258,
                                              "end": 265,
                                              "loc": {
                                                "start": {
                                                  "line": 16,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 16,
                                                  "column": 24
                                                },
                                                "identifierName": "Promise"
                                              },
                                              "name": "Promise"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 266,
                                              "end": 273,
                                              "loc": {
                                                "start": {
                                                  "line": 16,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 16,
                                                  "column": 32
                                                },
                                                "identifierName": "resolve"
                                              },
                                              "name": "resolve"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "NullLiteral",
                                              "start": 274,
                                              "end": 278,
                                              "loc": {
                                                "start": {
                                                  "line": 16,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 16,
                                                  "column": 37
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 308,
                                  "end": 352,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 52
                                    }
                                  },
                                  "argument": {
                                    "type": "CallExpression",
                                    "start": 315,
                                    "end": 351,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 51
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 315,
                                      "end": 330,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 315,
                                        "end": 322,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 22
                                          },
                                          "identifierName": "Promise"
                                        },
                                        "name": "Promise"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 323,
                                        "end": 330,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 30
                                          },
                                          "identifierName": "resolve"
                                        },
                                        "name": "resolve"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "CallExpression",
                                        "start": 331,
                                        "end": 350,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 50
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 331,
                                          "end": 341,
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 331,
                                            "end": 335,
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 35
                                              },
                                              "identifierName": "JSON"
                                            },
                                            "name": "JSON"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 336,
                                            "end": 341,
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 41
                                              },
                                              "identifierName": "parse"
                                            },
                                            "name": "parse"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 342,
                                            "end": 349,
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 49
                                              },
                                              "identifierName": "content"
                                            },
                                            "name": "content"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * @param {string} name\n   *\n   * @returns {Promise}\n   ",
                    "start": 84,
                    "end": 148,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 2
                      },
                      "end": {
                        "line": 11,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * @param {string} name\n   * @param {*} coverage\n   *\n   * @returns {Promise}\n   ",
                    "start": 372,
                    "end": 461,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 2
                      },
                      "end": {
                        "line": 28,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 464,
                "end": 547,
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 2
                  },
                  "end": {
                    "line": 31,
                    "column": 3
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 464,
                  "end": 469,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 2
                    },
                    "end": {
                      "line": 29,
                      "column": 7
                    },
                    "identifierName": "write"
                  },
                  "name": "write",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 470,
                    "end": 474,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 8
                      },
                      "end": {
                        "line": 29,
                        "column": 12
                      },
                      "identifierName": "name"
                    },
                    "name": "name"
                  },
                  {
                    "type": "Identifier",
                    "start": 476,
                    "end": 484,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 14
                      },
                      "end": {
                        "line": 29,
                        "column": 22
                      },
                      "identifierName": "coverage"
                    },
                    "name": "coverage"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 486,
                  "end": 547,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 24
                    },
                    "end": {
                      "line": 31,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 492,
                      "end": 543,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 55
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 499,
                        "end": 542,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 11
                          },
                          "end": {
                            "line": 30,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 499,
                          "end": 510,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 11
                            },
                            "end": {
                              "line": 30,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 499,
                            "end": 503,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 11
                              },
                              "end": {
                                "line": 30,
                                "column": 15
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 504,
                            "end": 510,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 16
                              },
                              "end": {
                                "line": 30,
                                "column": 22
                              },
                              "identifierName": "_write"
                            },
                            "name": "_write"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 511,
                            "end": 515,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 23
                              },
                              "end": {
                                "line": 30,
                                "column": 27
                              },
                              "identifierName": "name"
                            },
                            "name": "name"
                          },
                          {
                            "type": "CallExpression",
                            "start": 517,
                            "end": 541,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 29
                              },
                              "end": {
                                "line": 30,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 517,
                              "end": 531,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 29
                                },
                                "end": {
                                  "line": 30,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 517,
                                "end": 521,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 33
                                  },
                                  "identifierName": "JSON"
                                },
                                "name": "JSON"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 522,
                                "end": 531,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 43
                                  },
                                  "identifierName": "stringify"
                                },
                                "name": "stringify"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 532,
                                "end": 540,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 52
                                  },
                                  "identifierName": "coverage"
                                },
                                "name": "coverage"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * @param {string} name\n   * @param {*} coverage\n   *\n   * @returns {Promise}\n   ",
                    "start": 372,
                    "end": 461,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 2
                      },
                      "end": {
                        "line": 28,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * @param {string} name\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                    "start": 551,
                    "end": 635,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 39,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 638,
                "end": 764,
                "loc": {
                  "start": {
                    "line": 40,
                    "column": 2
                  },
                  "end": {
                    "line": 44,
                    "column": 3
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 638,
                  "end": 643,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 2
                    },
                    "end": {
                      "line": 40,
                      "column": 7
                    },
                    "identifierName": "_read"
                  },
                  "name": "_read",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 644,
                    "end": 648,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 8
                      },
                      "end": {
                        "line": 40,
                        "column": 12
                      },
                      "identifierName": "name"
                    },
                    "name": "name"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 650,
                  "end": 764,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 14
                    },
                    "end": {
                      "line": 44,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 656,
                      "end": 760,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 4
                        },
                        "end": {
                          "line": 43,
                          "column": 7
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 663,
                        "end": 759,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 11
                          },
                          "end": {
                            "line": 43,
                            "column": 6
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 663,
                          "end": 677,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 11
                            },
                            "end": {
                              "line": 41,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 663,
                            "end": 670,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 11
                              },
                              "end": {
                                "line": 41,
                                "column": 18
                              },
                              "identifierName": "Promise"
                            },
                            "name": "Promise"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 671,
                            "end": 677,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 19
                              },
                              "end": {
                                "line": 41,
                                "column": 25
                              },
                              "identifierName": "reject"
                            },
                            "name": "reject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NewExpression",
                            "start": 678,
                            "end": 758,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 26
                              },
                              "end": {
                                "line": 43,
                                "column": 5
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 682,
                              "end": 687,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 30
                                },
                                "end": {
                                  "line": 41,
                                  "column": 35
                                },
                                "identifierName": "Error"
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "TemplateLiteral",
                                "start": 695,
                                "end": 752,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 63
                                  }
                                },
                                "expressions": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 699,
                                    "end": 720,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 699,
                                      "end": 715,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 699,
                                        "end": 703,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 14
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 704,
                                        "end": 715,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 26
                                          },
                                          "identifierName": "constructor"
                                        },
                                        "name": "constructor"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 716,
                                      "end": 720,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 31
                                        },
                                        "identifierName": "name"
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                ],
                                "quasis": [
                                  {
                                    "type": "TemplateElement",
                                    "start": 696,
                                    "end": 696,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 7
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 7
                                      }
                                    },
                                    "value": {
                                      "raw": "",
                                      "cooked": ""
                                    },
                                    "tail": false
                                  },
                                  {
                                    "type": "TemplateElement",
                                    "start": 722,
                                    "end": 751,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 62
                                      }
                                    },
                                    "value": {
                                      "raw": "._read(name) not implemented!",
                                      "cooked": "._read(name) not implemented!"
                                    },
                                    "tail": true
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * @param {string} name\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                    "start": 551,
                    "end": 635,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 39,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * @param {string} name\n   * @param {string} content\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                    "start": 770,
                    "end": 883,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 2
                      },
                      "end": {
                        "line": 53,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 886,
                "end": 1032,
                "loc": {
                  "start": {
                    "line": 54,
                    "column": 2
                  },
                  "end": {
                    "line": 58,
                    "column": 3
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 886,
                  "end": 892,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 2
                    },
                    "end": {
                      "line": 54,
                      "column": 8
                    },
                    "identifierName": "_write"
                  },
                  "name": "_write",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 893,
                    "end": 897,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 9
                      },
                      "end": {
                        "line": 54,
                        "column": 13
                      },
                      "identifierName": "name"
                    },
                    "name": "name"
                  },
                  {
                    "type": "Identifier",
                    "start": 899,
                    "end": 906,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 15
                      },
                      "end": {
                        "line": 54,
                        "column": 22
                      },
                      "identifierName": "content"
                    },
                    "name": "content"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 908,
                  "end": 1032,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 24
                    },
                    "end": {
                      "line": 58,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 914,
                      "end": 1028,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 4
                        },
                        "end": {
                          "line": 57,
                          "column": 7
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 921,
                        "end": 1027,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 11
                          },
                          "end": {
                            "line": 57,
                            "column": 6
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 921,
                          "end": 935,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 11
                            },
                            "end": {
                              "line": 55,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 921,
                            "end": 928,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 11
                              },
                              "end": {
                                "line": 55,
                                "column": 18
                              },
                              "identifierName": "Promise"
                            },
                            "name": "Promise"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 929,
                            "end": 935,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 19
                              },
                              "end": {
                                "line": 55,
                                "column": 25
                              },
                              "identifierName": "reject"
                            },
                            "name": "reject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NewExpression",
                            "start": 936,
                            "end": 1026,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 26
                              },
                              "end": {
                                "line": 57,
                                "column": 5
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 940,
                              "end": 945,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 30
                                },
                                "end": {
                                  "line": 55,
                                  "column": 35
                                },
                                "identifierName": "Error"
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "TemplateLiteral",
                                "start": 953,
                                "end": 1020,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 73
                                  }
                                },
                                "expressions": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 957,
                                    "end": 978,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 957,
                                      "end": 973,
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 957,
                                        "end": 961,
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 14
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 962,
                                        "end": 973,
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 26
                                          },
                                          "identifierName": "constructor"
                                        },
                                        "name": "constructor"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 974,
                                      "end": 978,
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 31
                                        },
                                        "identifierName": "name"
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                ],
                                "quasis": [
                                  {
                                    "type": "TemplateElement",
                                    "start": 954,
                                    "end": 954,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 7
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 7
                                      }
                                    },
                                    "value": {
                                      "raw": "",
                                      "cooked": ""
                                    },
                                    "tail": false
                                  },
                                  {
                                    "type": "TemplateElement",
                                    "start": 980,
                                    "end": 1019,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 72
                                      }
                                    },
                                    "value": {
                                      "raw": "._write(name, content) not implemented!",
                                      "cooked": "._write(name, content) not implemented!"
                                    },
                                    "tail": true
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * @param {string} name\n   * @param {string} content\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
                    "start": 770,
                    "end": 883,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 2
                      },
                      "end": {
                        "line": 53,
                        "column": 5
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Abstract coverage storage driver\n ",
              "start": 15,
              "end": 58,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 0
                },
                "end": {
                  "line": 5,
                  "column": 3
                }
              }
            }
          ],
          "__PseudoExport__": false,
          "trailingComments": []
        },
        "leadingComments": null
      }
    ],
    "directives": [
      {
        "type": "Directive",
        "start": 0,
        "end": 13,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 13
          }
        },
        "value": {
          "type": "DirectiveLiteral",
          "start": 0,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "value": "use strict",
          "extra": {
            "raw": "'use strict'",
            "rawValue": "use strict"
          },
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Abstract coverage storage driver\n ",
            "start": 15,
            "end": 58,
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 3
              }
            }
          }
        ]
      }
    ]
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * Abstract coverage storage driver\n ",
      "start": 15,
      "end": 58,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   *\n   * @returns {Promise}\n   ",
      "start": 84,
      "end": 148,
      "loc": {
        "start": {
          "line": 7,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   * @param {*} coverage\n   *\n   * @returns {Promise}\n   ",
      "start": 372,
      "end": 461,
      "loc": {
        "start": {
          "line": 23,
          "column": 2
        },
        "end": {
          "line": 28,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
      "start": 551,
      "end": 635,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 39,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   * @param {string} content\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
      "start": 770,
      "end": 883,
      "loc": {
        "start": {
          "line": 46,
          "column": 2
        },
        "end": {
          "line": 53,
          "column": 5
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "use strict",
      "start": 0,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Abstract coverage storage driver\n ",
      "start": 15,
      "end": 58,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 59,
      "end": 64,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDriver",
      "start": 65,
      "end": 79,
      "loc": {
        "start": {
          "line": 6,
          "column": 6
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 80,
      "end": 81,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 22
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   *\n   * @returns {Promise}\n   ",
      "start": 84,
      "end": 148,
      "loc": {
        "start": {
          "line": 7,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "read",
      "start": 151,
      "end": 155,
      "loc": {
        "start": {
          "line": 12,
          "column": 2
        },
        "end": {
          "line": 12,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 155,
      "end": 156,
      "loc": {
        "start": {
          "line": 12,
          "column": 6
        },
        "end": {
          "line": 12,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 156,
      "end": 160,
      "loc": {
        "start": {
          "line": 12,
          "column": 7
        },
        "end": {
          "line": 12,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 160,
      "end": 161,
      "loc": {
        "start": {
          "line": 12,
          "column": 11
        },
        "end": {
          "line": 12,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 162,
      "end": 163,
      "loc": {
        "start": {
          "line": 12,
          "column": 13
        },
        "end": {
          "line": 12,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 168,
      "end": 174,
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 13,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 175,
      "end": 179,
      "loc": {
        "start": {
          "line": 13,
          "column": 11
        },
        "end": {
          "line": 13,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 179,
      "end": 180,
      "loc": {
        "start": {
          "line": 13,
          "column": 15
        },
        "end": {
          "line": 13,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_read",
      "start": 180,
      "end": 185,
      "loc": {
        "start": {
          "line": 13,
          "column": 16
        },
        "end": {
          "line": 13,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 185,
      "end": 186,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 186,
      "end": 190,
      "loc": {
        "start": {
          "line": 13,
          "column": 22
        },
        "end": {
          "line": 13,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 190,
      "end": 191,
      "loc": {
        "start": {
          "line": 13,
          "column": 26
        },
        "end": {
          "line": 13,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 198,
      "end": 199,
      "loc": {
        "start": {
          "line": 14,
          "column": 6
        },
        "end": {
          "line": 14,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "then",
      "start": 199,
      "end": 203,
      "loc": {
        "start": {
          "line": 14,
          "column": 7
        },
        "end": {
          "line": 14,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 203,
      "end": 204,
      "loc": {
        "start": {
          "line": 14,
          "column": 11
        },
        "end": {
          "line": 14,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "content",
      "start": 204,
      "end": 211,
      "loc": {
        "start": {
          "line": 14,
          "column": 12
        },
        "end": {
          "line": 14,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 212,
      "end": 214,
      "loc": {
        "start": {
          "line": 14,
          "column": 20
        },
        "end": {
          "line": 14,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 215,
      "end": 216,
      "loc": {
        "start": {
          "line": 14,
          "column": 23
        },
        "end": {
          "line": 14,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 225,
      "end": 227,
      "loc": {
        "start": {
          "line": 15,
          "column": 8
        },
        "end": {
          "line": 15,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 228,
      "end": 229,
      "loc": {
        "start": {
          "line": 15,
          "column": 11
        },
        "end": {
          "line": 15,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 229,
      "end": 230,
      "loc": {
        "start": {
          "line": 15,
          "column": 12
        },
        "end": {
          "line": 15,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "content",
      "start": 230,
      "end": 237,
      "loc": {
        "start": {
          "line": 15,
          "column": 13
        },
        "end": {
          "line": 15,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 237,
      "end": 238,
      "loc": {
        "start": {
          "line": 15,
          "column": 20
        },
        "end": {
          "line": 15,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 239,
      "end": 240,
      "loc": {
        "start": {
          "line": 15,
          "column": 22
        },
        "end": {
          "line": 15,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 251,
      "end": 257,
      "loc": {
        "start": {
          "line": 16,
          "column": 10
        },
        "end": {
          "line": 16,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 258,
      "end": 265,
      "loc": {
        "start": {
          "line": 16,
          "column": 17
        },
        "end": {
          "line": 16,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 265,
      "end": 266,
      "loc": {
        "start": {
          "line": 16,
          "column": 24
        },
        "end": {
          "line": 16,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 266,
      "end": 273,
      "loc": {
        "start": {
          "line": 16,
          "column": 25
        },
        "end": {
          "line": 16,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 273,
      "end": 274,
      "loc": {
        "start": {
          "line": 16,
          "column": 32
        },
        "end": {
          "line": 16,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 274,
      "end": 278,
      "loc": {
        "start": {
          "line": 16,
          "column": 33
        },
        "end": {
          "line": 16,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 278,
      "end": 279,
      "loc": {
        "start": {
          "line": 16,
          "column": 37
        },
        "end": {
          "line": 16,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 279,
      "end": 280,
      "loc": {
        "start": {
          "line": 16,
          "column": 38
        },
        "end": {
          "line": 16,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 289,
      "end": 290,
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 308,
      "end": 314,
      "loc": {
        "start": {
          "line": 19,
          "column": 8
        },
        "end": {
          "line": 19,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 315,
      "end": 322,
      "loc": {
        "start": {
          "line": 19,
          "column": 15
        },
        "end": {
          "line": 19,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 322,
      "end": 323,
      "loc": {
        "start": {
          "line": 19,
          "column": 22
        },
        "end": {
          "line": 19,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 323,
      "end": 330,
      "loc": {
        "start": {
          "line": 19,
          "column": 23
        },
        "end": {
          "line": 19,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 330,
      "end": 331,
      "loc": {
        "start": {
          "line": 19,
          "column": 30
        },
        "end": {
          "line": 19,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "JSON",
      "start": 331,
      "end": 335,
      "loc": {
        "start": {
          "line": 19,
          "column": 31
        },
        "end": {
          "line": 19,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 335,
      "end": 336,
      "loc": {
        "start": {
          "line": 19,
          "column": 35
        },
        "end": {
          "line": 19,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parse",
      "start": 336,
      "end": 341,
      "loc": {
        "start": {
          "line": 19,
          "column": 36
        },
        "end": {
          "line": 19,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 341,
      "end": 342,
      "loc": {
        "start": {
          "line": 19,
          "column": 41
        },
        "end": {
          "line": 19,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "content",
      "start": 342,
      "end": 349,
      "loc": {
        "start": {
          "line": 19,
          "column": 42
        },
        "end": {
          "line": 19,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 349,
      "end": 350,
      "loc": {
        "start": {
          "line": 19,
          "column": 49
        },
        "end": {
          "line": 19,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 350,
      "end": 351,
      "loc": {
        "start": {
          "line": 19,
          "column": 50
        },
        "end": {
          "line": 19,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 351,
      "end": 352,
      "loc": {
        "start": {
          "line": 19,
          "column": 51
        },
        "end": {
          "line": 19,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 359,
      "end": 360,
      "loc": {
        "start": {
          "line": 20,
          "column": 6
        },
        "end": {
          "line": 20,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 360,
      "end": 361,
      "loc": {
        "start": {
          "line": 20,
          "column": 7
        },
        "end": {
          "line": 20,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 361,
      "end": 362,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 365,
      "end": 366,
      "loc": {
        "start": {
          "line": 21,
          "column": 2
        },
        "end": {
          "line": 21,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   * @param {*} coverage\n   *\n   * @returns {Promise}\n   ",
      "start": 372,
      "end": 461,
      "loc": {
        "start": {
          "line": 23,
          "column": 2
        },
        "end": {
          "line": 28,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "write",
      "start": 464,
      "end": 469,
      "loc": {
        "start": {
          "line": 29,
          "column": 2
        },
        "end": {
          "line": 29,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 469,
      "end": 470,
      "loc": {
        "start": {
          "line": 29,
          "column": 7
        },
        "end": {
          "line": 29,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 470,
      "end": 474,
      "loc": {
        "start": {
          "line": 29,
          "column": 8
        },
        "end": {
          "line": 29,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 474,
      "end": 475,
      "loc": {
        "start": {
          "line": 29,
          "column": 12
        },
        "end": {
          "line": 29,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "coverage",
      "start": 476,
      "end": 484,
      "loc": {
        "start": {
          "line": 29,
          "column": 14
        },
        "end": {
          "line": 29,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 484,
      "end": 485,
      "loc": {
        "start": {
          "line": 29,
          "column": 22
        },
        "end": {
          "line": 29,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 486,
      "end": 487,
      "loc": {
        "start": {
          "line": 29,
          "column": 24
        },
        "end": {
          "line": 29,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 492,
      "end": 498,
      "loc": {
        "start": {
          "line": 30,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 499,
      "end": 503,
      "loc": {
        "start": {
          "line": 30,
          "column": 11
        },
        "end": {
          "line": 30,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 503,
      "end": 504,
      "loc": {
        "start": {
          "line": 30,
          "column": 15
        },
        "end": {
          "line": 30,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_write",
      "start": 504,
      "end": 510,
      "loc": {
        "start": {
          "line": 30,
          "column": 16
        },
        "end": {
          "line": 30,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 510,
      "end": 511,
      "loc": {
        "start": {
          "line": 30,
          "column": 22
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 511,
      "end": 515,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 515,
      "end": 516,
      "loc": {
        "start": {
          "line": 30,
          "column": 27
        },
        "end": {
          "line": 30,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "JSON",
      "start": 517,
      "end": 521,
      "loc": {
        "start": {
          "line": 30,
          "column": 29
        },
        "end": {
          "line": 30,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 521,
      "end": 522,
      "loc": {
        "start": {
          "line": 30,
          "column": 33
        },
        "end": {
          "line": 30,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stringify",
      "start": 522,
      "end": 531,
      "loc": {
        "start": {
          "line": 30,
          "column": 34
        },
        "end": {
          "line": 30,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 531,
      "end": 532,
      "loc": {
        "start": {
          "line": 30,
          "column": 43
        },
        "end": {
          "line": 30,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "coverage",
      "start": 532,
      "end": 540,
      "loc": {
        "start": {
          "line": 30,
          "column": 44
        },
        "end": {
          "line": 30,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 540,
      "end": 541,
      "loc": {
        "start": {
          "line": 30,
          "column": 52
        },
        "end": {
          "line": 30,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 541,
      "end": 542,
      "loc": {
        "start": {
          "line": 30,
          "column": 53
        },
        "end": {
          "line": 30,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 542,
      "end": 543,
      "loc": {
        "start": {
          "line": 30,
          "column": 54
        },
        "end": {
          "line": 30,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 546,
      "end": 547,
      "loc": {
        "start": {
          "line": 31,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
      "start": 551,
      "end": 635,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 39,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_read",
      "start": 638,
      "end": 643,
      "loc": {
        "start": {
          "line": 40,
          "column": 2
        },
        "end": {
          "line": 40,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 643,
      "end": 644,
      "loc": {
        "start": {
          "line": 40,
          "column": 7
        },
        "end": {
          "line": 40,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 644,
      "end": 648,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 648,
      "end": 649,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 650,
      "end": 651,
      "loc": {
        "start": {
          "line": 40,
          "column": 14
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 656,
      "end": 662,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 663,
      "end": 670,
      "loc": {
        "start": {
          "line": 41,
          "column": 11
        },
        "end": {
          "line": 41,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 670,
      "end": 671,
      "loc": {
        "start": {
          "line": 41,
          "column": 18
        },
        "end": {
          "line": 41,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 671,
      "end": 677,
      "loc": {
        "start": {
          "line": 41,
          "column": 19
        },
        "end": {
          "line": 41,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 677,
      "end": 678,
      "loc": {
        "start": {
          "line": 41,
          "column": 25
        },
        "end": {
          "line": 41,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 678,
      "end": 681,
      "loc": {
        "start": {
          "line": 41,
          "column": 26
        },
        "end": {
          "line": 41,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 682,
      "end": 687,
      "loc": {
        "start": {
          "line": 41,
          "column": 30
        },
        "end": {
          "line": 41,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 687,
      "end": 688,
      "loc": {
        "start": {
          "line": 41,
          "column": 35
        },
        "end": {
          "line": 41,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 695,
      "end": 696,
      "loc": {
        "start": {
          "line": 42,
          "column": 6
        },
        "end": {
          "line": 42,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 696,
      "end": 696,
      "loc": {
        "start": {
          "line": 42,
          "column": 7
        },
        "end": {
          "line": 42,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 696,
      "end": 698,
      "loc": {
        "start": {
          "line": 42,
          "column": 7
        },
        "end": {
          "line": 42,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 699,
      "end": 703,
      "loc": {
        "start": {
          "line": 42,
          "column": 10
        },
        "end": {
          "line": 42,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 703,
      "end": 704,
      "loc": {
        "start": {
          "line": 42,
          "column": 14
        },
        "end": {
          "line": 42,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 704,
      "end": 715,
      "loc": {
        "start": {
          "line": 42,
          "column": 15
        },
        "end": {
          "line": 42,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 715,
      "end": 716,
      "loc": {
        "start": {
          "line": 42,
          "column": 26
        },
        "end": {
          "line": 42,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 716,
      "end": 720,
      "loc": {
        "start": {
          "line": 42,
          "column": 27
        },
        "end": {
          "line": 42,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 721,
      "end": 722,
      "loc": {
        "start": {
          "line": 42,
          "column": 32
        },
        "end": {
          "line": 42,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "._read(name) not implemented!",
      "start": 722,
      "end": 751,
      "loc": {
        "start": {
          "line": 42,
          "column": 33
        },
        "end": {
          "line": 42,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 751,
      "end": 752,
      "loc": {
        "start": {
          "line": 42,
          "column": 62
        },
        "end": {
          "line": 42,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 757,
      "end": 758,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 758,
      "end": 759,
      "loc": {
        "start": {
          "line": 43,
          "column": 5
        },
        "end": {
          "line": 43,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 759,
      "end": 760,
      "loc": {
        "start": {
          "line": 43,
          "column": 6
        },
        "end": {
          "line": 43,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 763,
      "end": 764,
      "loc": {
        "start": {
          "line": 44,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * @param {string} name\n   * @param {string} content\n   * \n   * @returns {Promise}\n   *\n   * @private\n   ",
      "start": 770,
      "end": 883,
      "loc": {
        "start": {
          "line": 46,
          "column": 2
        },
        "end": {
          "line": 53,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_write",
      "start": 886,
      "end": 892,
      "loc": {
        "start": {
          "line": 54,
          "column": 2
        },
        "end": {
          "line": 54,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 892,
      "end": 893,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 893,
      "end": 897,
      "loc": {
        "start": {
          "line": 54,
          "column": 9
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 897,
      "end": 898,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "content",
      "start": 899,
      "end": 906,
      "loc": {
        "start": {
          "line": 54,
          "column": 15
        },
        "end": {
          "line": 54,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 906,
      "end": 907,
      "loc": {
        "start": {
          "line": 54,
          "column": 22
        },
        "end": {
          "line": 54,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 908,
      "end": 909,
      "loc": {
        "start": {
          "line": 54,
          "column": 24
        },
        "end": {
          "line": 54,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 914,
      "end": 920,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 921,
      "end": 928,
      "loc": {
        "start": {
          "line": 55,
          "column": 11
        },
        "end": {
          "line": 55,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 928,
      "end": 929,
      "loc": {
        "start": {
          "line": 55,
          "column": 18
        },
        "end": {
          "line": 55,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 929,
      "end": 935,
      "loc": {
        "start": {
          "line": 55,
          "column": 19
        },
        "end": {
          "line": 55,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 935,
      "end": 936,
      "loc": {
        "start": {
          "line": 55,
          "column": 25
        },
        "end": {
          "line": 55,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 936,
      "end": 939,
      "loc": {
        "start": {
          "line": 55,
          "column": 26
        },
        "end": {
          "line": 55,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 940,
      "end": 945,
      "loc": {
        "start": {
          "line": 55,
          "column": 30
        },
        "end": {
          "line": 55,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 945,
      "end": 946,
      "loc": {
        "start": {
          "line": 55,
          "column": 35
        },
        "end": {
          "line": 55,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 953,
      "end": 954,
      "loc": {
        "start": {
          "line": 56,
          "column": 6
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 954,
      "end": 954,
      "loc": {
        "start": {
          "line": 56,
          "column": 7
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 954,
      "end": 956,
      "loc": {
        "start": {
          "line": 56,
          "column": 7
        },
        "end": {
          "line": 56,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 957,
      "end": 961,
      "loc": {
        "start": {
          "line": 56,
          "column": 10
        },
        "end": {
          "line": 56,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 961,
      "end": 962,
      "loc": {
        "start": {
          "line": 56,
          "column": 14
        },
        "end": {
          "line": 56,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 962,
      "end": 973,
      "loc": {
        "start": {
          "line": 56,
          "column": 15
        },
        "end": {
          "line": 56,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 973,
      "end": 974,
      "loc": {
        "start": {
          "line": 56,
          "column": 26
        },
        "end": {
          "line": 56,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 974,
      "end": 978,
      "loc": {
        "start": {
          "line": 56,
          "column": 27
        },
        "end": {
          "line": 56,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 979,
      "end": 980,
      "loc": {
        "start": {
          "line": 56,
          "column": 32
        },
        "end": {
          "line": 56,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "._write(name, content) not implemented!",
      "start": 980,
      "end": 1019,
      "loc": {
        "start": {
          "line": 56,
          "column": 33
        },
        "end": {
          "line": 56,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1019,
      "end": 1020,
      "loc": {
        "start": {
          "line": 56,
          "column": 72
        },
        "end": {
          "line": 56,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1025,
      "end": 1026,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 57,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1026,
      "end": 1027,
      "loc": {
        "start": {
          "line": 57,
          "column": 5
        },
        "end": {
          "line": 57,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1027,
      "end": 1028,
      "loc": {
        "start": {
          "line": 57,
          "column": 6
        },
        "end": {
          "line": 57,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1031,
      "end": 1032,
      "loc": {
        "start": {
          "line": 58,
          "column": 2
        },
        "end": {
          "line": 58,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1033,
      "end": 1034,
      "loc": {
        "start": {
          "line": 59,
          "column": 0
        },
        "end": {
          "line": 59,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 1036,
      "end": 1042,
      "loc": {
        "start": {
          "line": 61,
          "column": 0
        },
        "end": {
          "line": 61,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 1043,
      "end": 1050,
      "loc": {
        "start": {
          "line": 61,
          "column": 7
        },
        "end": {
          "line": 61,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AbstractDriver",
      "start": 1051,
      "end": 1065,
      "loc": {
        "start": {
          "line": 61,
          "column": 15
        },
        "end": {
          "line": 61,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1065,
      "end": 1066,
      "loc": {
        "start": {
          "line": 61,
          "column": 29
        },
        "end": {
          "line": 61,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1067,
      "end": 1067,
      "loc": {
        "start": {
          "line": 62,
          "column": 0
        },
        "end": {
          "line": 62,
          "column": 0
        }
      }
    }
  ]
}