{
  "type": "File",
  "start": 0,
  "end": 2959,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 88,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2959,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 88,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ExportDefaultDeclaration",
        "start": 29,
        "end": 2959,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 88,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 44,
          "end": 2959,
          "loc": {
            "start": {
              "line": 4,
              "column": 15
            },
            "end": {
              "line": 88,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 50,
            "end": 57,
            "loc": {
              "start": {
                "line": 4,
                "column": 21
              },
              "end": {
                "line": 4,
                "column": 28
              },
              "identifierName": "Fetcher"
            },
            "name": "Fetcher",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 58,
            "end": 2959,
            "loc": {
              "start": {
                "line": 4,
                "column": 29
              },
              "end": {
                "line": 88,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 219,
                "end": 409,
                "loc": {
                  "start": {
                    "line": 9,
                    "column": 4
                  },
                  "end": {
                    "line": 19,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 219,
                  "end": 230,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 4
                    },
                    "end": {
                      "line": 9,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 231,
                    "end": 235,
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 16
                      },
                      "end": {
                        "line": 9,
                        "column": 20
                      },
                      "identifierName": "http"
                    },
                    "name": "http"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 237,
                    "end": 253,
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 22
                      },
                      "end": {
                        "line": 9,
                        "column": 38
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 237,
                      "end": 246,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 22
                        },
                        "end": {
                          "line": 9,
                          "column": 31
                        },
                        "identifierName": "territory"
                      },
                      "name": "territory"
                    },
                    "right": {
                      "type": "StringLiteral",
                      "start": 249,
                      "end": 253,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 34
                        },
                        "end": {
                          "line": 9,
                          "column": 38
                        }
                      },
                      "extra": {
                        "rawValue": "TW",
                        "raw": "'TW'"
                      },
                      "value": "TW"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 255,
                  "end": 409,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 40
                    },
                    "end": {
                      "line": 19,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 308,
                      "end": 324,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 308,
                        "end": 324,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 308,
                          "end": 317,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 308,
                            "end": 312,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 313,
                            "end": 317,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 13
                              },
                              "end": {
                                "line": 13,
                                "column": 17
                              },
                              "identifierName": "http"
                            },
                            "name": "http"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 320,
                          "end": 324,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 20
                            },
                            "end": {
                              "line": 13,
                              "column": 24
                            },
                            "identifierName": "http"
                          },
                          "name": "http",
                          "leadingComments": null,
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @ignore\n         ",
                          "start": 265,
                          "end": 299,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @ignore\n         ",
                          "start": 334,
                          "end": 368,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 377,
                      "end": 403,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 377,
                        "end": 403,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 377,
                          "end": 391,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 377,
                            "end": 381,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 382,
                            "end": 391,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 13
                              },
                              "end": {
                                "line": 18,
                                "column": 22
                              },
                              "identifierName": "territory"
                            },
                            "name": "territory"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 394,
                          "end": 403,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 25
                            },
                            "end": {
                              "line": 18,
                              "column": 34
                            },
                            "identifierName": "territory"
                          },
                          "name": "territory"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @ignore\n         ",
                          "start": 334,
                          "end": 368,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 11
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*      \n     * @param {Http} http \n     * @param {string} [territory = 'TW'] - ['TW', 'HK', 'SG', 'MY', 'JP'] The territory for the fetcher.\n     ",
                    "start": 64,
                    "end": 214,
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 4
                      },
                      "end": {
                        "line": 8,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Gets an object's nested property by path.\n     * @ignore\n     ",
                    "start": 415,
                    "end": 490,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 24,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 495,
                "end": 975,
                "loc": {
                  "start": {
                    "line": 25,
                    "column": 4
                  },
                  "end": {
                    "line": 38,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 495,
                  "end": 512,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 4
                    },
                    "end": {
                      "line": 25,
                      "column": 21
                    },
                    "identifierName": "getPropertyByPath"
                  },
                  "name": "getPropertyByPath",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 513,
                    "end": 519,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 22
                      },
                      "end": {
                        "line": 25,
                        "column": 28
                      },
                      "identifierName": "object"
                    },
                    "name": "object"
                  },
                  {
                    "type": "Identifier",
                    "start": 521,
                    "end": 525,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 30
                      },
                      "end": {
                        "line": 25,
                        "column": 34
                      },
                      "identifierName": "path"
                    },
                    "name": "path"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 527,
                  "end": 975,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 36
                    },
                    "end": {
                      "line": 38,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 537,
                      "end": 578,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 537,
                        "end": 577,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 537,
                          "end": 541,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 12
                            },
                            "identifierName": "path"
                          },
                          "name": "path"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 544,
                          "end": 577,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 15
                            },
                            "end": {
                              "line": 26,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 544,
                            "end": 556,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 15
                              },
                              "end": {
                                "line": 26,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 544,
                              "end": 548,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 15
                                },
                                "end": {
                                  "line": 26,
                                  "column": 19
                                },
                                "identifierName": "path"
                              },
                              "name": "path"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 549,
                              "end": 556,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 20
                                },
                                "end": {
                                  "line": 26,
                                  "column": 27
                                },
                                "identifierName": "replace"
                              },
                              "name": "replace"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "RegExpLiteral",
                              "start": 557,
                              "end": 569,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 28
                                },
                                "end": {
                                  "line": 26,
                                  "column": 40
                                }
                              },
                              "extra": {
                                "raw": "/\\[(\\w+)\\]/g"
                              },
                              "pattern": "\\[(\\w+)\\]",
                              "flags": "g"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 571,
                              "end": 576,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 42
                                },
                                "end": {
                                  "line": 26,
                                  "column": 47
                                }
                              },
                              "extra": {
                                "rawValue": ".$1",
                                "raw": "'.$1'"
                              },
                              "value": ".$1"
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " convert indexes to properties",
                          "start": 579,
                          "end": 611,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 50
                            },
                            "end": {
                              "line": 26,
                              "column": 82
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 620,
                      "end": 651,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 620,
                        "end": 650,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 620,
                          "end": 624,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 12
                            },
                            "identifierName": "path"
                          },
                          "name": "path",
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 627,
                          "end": 650,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 15
                            },
                            "end": {
                              "line": 27,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 627,
                            "end": 639,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 15
                              },
                              "end": {
                                "line": 27,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 627,
                              "end": 631,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 15
                                },
                                "end": {
                                  "line": 27,
                                  "column": 19
                                },
                                "identifierName": "path"
                              },
                              "name": "path"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 632,
                              "end": 639,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 20
                                },
                                "end": {
                                  "line": 27,
                                  "column": 27
                                },
                                "identifierName": "replace"
                              },
                              "name": "replace"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "RegExpLiteral",
                              "start": 640,
                              "end": 645,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 28
                                },
                                "end": {
                                  "line": 27,
                                  "column": 33
                                }
                              },
                              "extra": {
                                "raw": "/^\\./"
                              },
                              "pattern": "^\\.",
                              "flags": ""
                            },
                            {
                              "type": "StringLiteral",
                              "start": 647,
                              "end": 649,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 35
                                },
                                "end": {
                                  "line": 27,
                                  "column": 37
                                }
                              },
                              "extra": {
                                "rawValue": "",
                                "raw": "''"
                              },
                              "value": ""
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " convert indexes to properties",
                          "start": 579,
                          "end": 611,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 50
                            },
                            "end": {
                              "line": 26,
                              "column": 82
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " strip a leading dot",
                          "start": 662,
                          "end": 684,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 50
                            },
                            "end": {
                              "line": 27,
                              "column": 72
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 693,
                      "end": 720,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 8
                        },
                        "end": {
                          "line": 28,
                          "column": 35
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 697,
                          "end": 719,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 12
                            },
                            "end": {
                              "line": 28,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 697,
                            "end": 701,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 12
                              },
                              "end": {
                                "line": 28,
                                "column": 16
                              },
                              "identifierName": "keys"
                            },
                            "name": "keys",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 704,
                            "end": 719,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 19
                              },
                              "end": {
                                "line": 28,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 704,
                              "end": 714,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 19
                                },
                                "end": {
                                  "line": 28,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 704,
                                "end": 708,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 23
                                  },
                                  "identifierName": "path"
                                },
                                "name": "path"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 709,
                                "end": 714,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 29
                                  },
                                  "identifierName": "split"
                                },
                                "name": "split"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 715,
                                "end": 718,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 33
                                  }
                                },
                                "extra": {
                                  "rawValue": ".",
                                  "raw": "'.'"
                                },
                                "value": "."
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " strip a leading dot",
                          "start": 662,
                          "end": 684,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 50
                            },
                            "end": {
                              "line": 27,
                              "column": 72
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 729,
                      "end": 946,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 734,
                        "end": 760,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 13
                          },
                          "end": {
                            "line": 29,
                            "column": 39
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 738,
                            "end": 743,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 17
                              },
                              "end": {
                                "line": 29,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 738,
                              "end": 739,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 17
                                },
                                "end": {
                                  "line": 29,
                                  "column": 18
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 742,
                              "end": 743,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 21
                                },
                                "end": {
                                  "line": 29,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 745,
                            "end": 760,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 24
                              },
                              "end": {
                                "line": 29,
                                "column": 39
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 745,
                              "end": 746,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 24
                                },
                                "end": {
                                  "line": 29,
                                  "column": 25
                                },
                                "identifierName": "n"
                              },
                              "name": "n"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 749,
                              "end": 760,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 28
                                },
                                "end": {
                                  "line": 29,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 749,
                                "end": 753,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 32
                                  },
                                  "identifierName": "keys"
                                },
                                "name": "keys"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 754,
                                "end": 760,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 39
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 762,
                        "end": 767,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 41
                          },
                          "end": {
                            "line": 29,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 762,
                          "end": 763,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 41
                            },
                            "end": {
                              "line": 29,
                              "column": 42
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "Identifier",
                          "start": 766,
                          "end": 767,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 45
                            },
                            "end": {
                              "line": 29,
                              "column": 46
                            },
                            "identifierName": "n"
                          },
                          "name": "n"
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 769,
                        "end": 772,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 48
                          },
                          "end": {
                            "line": 29,
                            "column": 51
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 771,
                          "end": 772,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 50
                            },
                            "end": {
                              "line": 29,
                              "column": 51
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 774,
                        "end": 946,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 53
                          },
                          "end": {
                            "line": 36,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 788,
                            "end": 806,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 12
                              },
                              "end": {
                                "line": 30,
                                "column": 30
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 792,
                                "end": 805,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 29
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 792,
                                  "end": 795,
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 19
                                    },
                                    "identifierName": "key"
                                  },
                                  "name": "key"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 798,
                                  "end": 805,
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 798,
                                    "end": 802,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 26
                                      },
                                      "identifierName": "keys"
                                    },
                                    "name": "keys"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 803,
                                    "end": 804,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 28
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 819,
                            "end": 936,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 12
                              },
                              "end": {
                                "line": 35,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 823,
                              "end": 836,
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 16
                                },
                                "end": {
                                  "line": 31,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 823,
                                "end": 826,
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 19
                                  },
                                  "identifierName": "key"
                                },
                                "name": "key"
                              },
                              "operator": "in",
                              "right": {
                                "type": "Identifier",
                                "start": 830,
                                "end": 836,
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 29
                                  },
                                  "identifierName": "object"
                                },
                                "name": "object"
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 838,
                              "end": 891,
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 31
                                },
                                "end": {
                                  "line": 33,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 856,
                                  "end": 877,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 856,
                                    "end": 876,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 856,
                                      "end": 862,
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 22
                                        },
                                        "identifierName": "object"
                                      },
                                      "name": "object"
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 865,
                                      "end": 876,
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 36
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 865,
                                        "end": 871,
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 31
                                          },
                                          "identifierName": "object"
                                        },
                                        "name": "object"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 872,
                                        "end": 875,
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 35
                                          },
                                          "identifierName": "key"
                                        },
                                        "name": "key"
                                      },
                                      "computed": true
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 897,
                              "end": 936,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 19
                                },
                                "end": {
                                  "line": 35,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 915,
                                  "end": 922,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 23
                                    }
                                  },
                                  "argument": null
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 955,
                      "end": 969,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 962,
                        "end": 968,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 15
                          },
                          "end": {
                            "line": 37,
                            "column": 21
                          },
                          "identifierName": "object"
                        },
                        "name": "object"
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Gets an object's nested property by path.\n     * @ignore\n     ",
                    "start": 415,
                    "end": 490,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 24,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Fetches next page of various paged APIs. \n     * \n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Promise}\n     * @example \n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      api.albumFetcher.fetchNextPage(response))\n     * })\n     ",
                    "start": 981,
                    "end": 1595,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 52,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1600,
                "end": 2002,
                "loc": {
                  "start": {
                    "line": 53,
                    "column": 4
                  },
                  "end": {
                    "line": 63,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1600,
                  "end": 1613,
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 4
                    },
                    "end": {
                      "line": 53,
                      "column": 17
                    },
                    "identifierName": "fetchNextPage"
                  },
                  "name": "fetchNextPage",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1614,
                    "end": 1625,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 18
                      },
                      "end": {
                        "line": 53,
                        "column": 29
                      },
                      "identifierName": "fulfillment"
                    },
                    "name": "fulfillment"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 1627,
                    "end": 1659,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 31
                      },
                      "end": {
                        "line": 53,
                        "column": 63
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1627,
                      "end": 1638,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 31
                        },
                        "end": {
                          "line": 53,
                          "column": 42
                        },
                        "identifierName": "nextUriPath"
                      },
                      "name": "nextUriPath"
                    },
                    "right": {
                      "type": "StringLiteral",
                      "start": 1641,
                      "end": 1659,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 45
                        },
                        "end": {
                          "line": 53,
                          "column": 63
                        }
                      },
                      "extra": {
                        "rawValue": "data.paging.next",
                        "raw": "'data.paging.next'"
                      },
                      "value": "data.paging.next"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1661,
                  "end": 2002,
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 65
                    },
                    "end": {
                      "line": 63,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1671,
                      "end": 1733,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 70
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1675,
                          "end": 1733,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 12
                            },
                            "end": {
                              "line": 54,
                              "column": 70
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1675,
                            "end": 1682,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 12
                              },
                              "end": {
                                "line": 54,
                                "column": 19
                              },
                              "identifierName": "nextUri"
                            },
                            "name": "nextUri"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1685,
                            "end": 1733,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 22
                              },
                              "end": {
                                "line": 54,
                                "column": 70
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1685,
                              "end": 1707,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 22
                                },
                                "end": {
                                  "line": 54,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1685,
                                "end": 1689,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1690,
                                "end": 1707,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 44
                                  },
                                  "identifierName": "getPropertyByPath"
                                },
                                "name": "getPropertyByPath"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1708,
                                "end": 1719,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 56
                                  },
                                  "identifierName": "fulfillment"
                                },
                                "name": "fulfillment"
                              },
                              {
                                "type": "Identifier",
                                "start": 1721,
                                "end": 1732,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 69
                                  },
                                  "identifierName": "nextUriPath"
                                },
                                "name": "nextUriPath"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 1742,
                      "end": 1996,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 1746,
                        "end": 1786,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 12
                          },
                          "end": {
                            "line": 55,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 1746,
                          "end": 1761,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 12
                            },
                            "end": {
                              "line": 55,
                              "column": 27
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 1746,
                            "end": 1753,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 12
                              },
                              "end": {
                                "line": 55,
                                "column": 19
                              },
                              "identifierName": "nextUri"
                            },
                            "name": "nextUri"
                          },
                          "operator": "!=",
                          "right": {
                            "type": "NullLiteral",
                            "start": 1757,
                            "end": 1761,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 23
                              },
                              "end": {
                                "line": 55,
                                "column": 27
                              }
                            }
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 1765,
                          "end": 1786,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 31
                            },
                            "end": {
                              "line": 55,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 1765,
                            "end": 1772,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 31
                              },
                              "end": {
                                "line": 55,
                                "column": 38
                              },
                              "identifierName": "nextUri"
                            },
                            "name": "nextUri"
                          },
                          "operator": "!==",
                          "right": {
                            "type": "Identifier",
                            "start": 1777,
                            "end": 1786,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 43
                              },
                              "end": {
                                "line": 55,
                                "column": 52
                              },
                              "identifierName": "undefined"
                            },
                            "name": "undefined"
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1788,
                        "end": 1841,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 54
                          },
                          "end": {
                            "line": 57,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 1802,
                            "end": 1831,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 12
                              },
                              "end": {
                                "line": 56,
                                "column": 41
                              }
                            },
                            "argument": {
                              "type": "CallExpression",
                              "start": 1809,
                              "end": 1831,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 19
                                },
                                "end": {
                                  "line": 56,
                                  "column": 41
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1809,
                                "end": 1822,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 1809,
                                  "end": 1818,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 1809,
                                    "end": 1813,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1814,
                                    "end": 1818,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 28
                                      },
                                      "identifierName": "http"
                                    },
                                    "name": "http"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1819,
                                  "end": 1822,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 32
                                    },
                                    "identifierName": "get"
                                  },
                                  "name": "get"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1823,
                                  "end": 1830,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 40
                                    },
                                    "identifierName": "nextUri"
                                  },
                                  "name": "nextUri"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 1855,
                        "end": 1996,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 13
                          },
                          "end": {
                            "line": 62,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 1869,
                            "end": 1974,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 12
                              },
                              "end": {
                                "line": 61,
                                "column": 14
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1876,
                              "end": 1974,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 19
                                },
                                "end": {
                                  "line": 61,
                                  "column": 14
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1880,
                                "end": 1887,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 30
                                  },
                                  "identifierName": "Promise"
                                },
                                "name": "Promise"
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 1888,
                                  "end": 1973,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 1889,
                                      "end": 1896,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 39
                                        },
                                        "identifierName": "resolve"
                                      },
                                      "name": "resolve"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1898,
                                      "end": 1904,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 47
                                        },
                                        "identifierName": "reject"
                                      },
                                      "name": "reject"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 1909,
                                    "end": 1973,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 1927,
                                        "end": 1959,
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 48
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 1927,
                                          "end": 1959,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 48
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 1927,
                                            "end": 1933,
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 22
                                              },
                                              "identifierName": "reject"
                                            },
                                            "name": "reject"
                                          },
                                          "arguments": [
                                            {
                                              "type": "StringLiteral",
                                              "start": 1934,
                                              "end": 1958,
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 47
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "Cannot fetch next page",
                                                "raw": "'Cannot fetch next page'"
                                              },
                                              "value": "Cannot fetch next page"
                                            }
                                          ]
                                        }
                                      }
                                    ],
                                    "directives": []
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Fetches next page of various paged APIs. \n     * \n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Promise}\n     * @example \n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      api.albumFetcher.fetchNextPage(response))\n     * })\n     ",
                    "start": 981,
                    "end": 1595,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 52,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Is next page available for various paged APIs.\n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Boolean}\n     * @example\n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      if (api.albumFetcher.hasNextPage(response)) {\n     *          // more data available\n     *      }\n     * })\n     ",
                    "start": 2008,
                    "end": 2675,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 4
                      },
                      "end": {
                        "line": 78,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2680,
                "end": 2957,
                "loc": {
                  "start": {
                    "line": 79,
                    "column": 4
                  },
                  "end": {
                    "line": 87,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2680,
                  "end": 2691,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 4
                    },
                    "end": {
                      "line": 79,
                      "column": 15
                    },
                    "identifierName": "hasNextPage"
                  },
                  "name": "hasNextPage",
                  "leadingComments": null
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2692,
                    "end": 2703,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 16
                      },
                      "end": {
                        "line": 79,
                        "column": 27
                      },
                      "identifierName": "fulfillment"
                    },
                    "name": "fulfillment"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2705,
                    "end": 2737,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 29
                      },
                      "end": {
                        "line": 79,
                        "column": 61
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2705,
                      "end": 2716,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 29
                        },
                        "end": {
                          "line": 79,
                          "column": 40
                        },
                        "identifierName": "nextUriPath"
                      },
                      "name": "nextUriPath"
                    },
                    "right": {
                      "type": "StringLiteral",
                      "start": 2719,
                      "end": 2737,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 43
                        },
                        "end": {
                          "line": 79,
                          "column": 61
                        }
                      },
                      "extra": {
                        "rawValue": "data.paging.next",
                        "raw": "'data.paging.next'"
                      },
                      "value": "data.paging.next"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2739,
                  "end": 2957,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 63
                    },
                    "end": {
                      "line": 87,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2749,
                      "end": 2811,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 70
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2753,
                          "end": 2811,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 12
                            },
                            "end": {
                              "line": 80,
                              "column": 70
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2753,
                            "end": 2760,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 12
                              },
                              "end": {
                                "line": 80,
                                "column": 19
                              },
                              "identifierName": "nextUri"
                            },
                            "name": "nextUri"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2763,
                            "end": 2811,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 22
                              },
                              "end": {
                                "line": 80,
                                "column": 70
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2763,
                              "end": 2785,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 22
                                },
                                "end": {
                                  "line": 80,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2763,
                                "end": 2767,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2768,
                                "end": 2785,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 44
                                  },
                                  "identifierName": "getPropertyByPath"
                                },
                                "name": "getPropertyByPath"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2786,
                                "end": 2797,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 56
                                  },
                                  "identifierName": "fulfillment"
                                },
                                "name": "fulfillment"
                              },
                              {
                                "type": "Identifier",
                                "start": 2799,
                                "end": 2810,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 69
                                  },
                                  "identifierName": "nextUriPath"
                                },
                                "name": "nextUriPath"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 2820,
                      "end": 2951,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 8
                        },
                        "end": {
                          "line": 86,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 2824,
                        "end": 2864,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 12
                          },
                          "end": {
                            "line": 81,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 2824,
                          "end": 2839,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 12
                            },
                            "end": {
                              "line": 81,
                              "column": 27
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2824,
                            "end": 2831,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 12
                              },
                              "end": {
                                "line": 81,
                                "column": 19
                              },
                              "identifierName": "nextUri"
                            },
                            "name": "nextUri"
                          },
                          "operator": "!=",
                          "right": {
                            "type": "NullLiteral",
                            "start": 2835,
                            "end": 2839,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 23
                              },
                              "end": {
                                "line": 81,
                                "column": 27
                              }
                            }
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 2843,
                          "end": 2864,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 31
                            },
                            "end": {
                              "line": 81,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2843,
                            "end": 2850,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 31
                              },
                              "end": {
                                "line": 81,
                                "column": 38
                              },
                              "identifierName": "nextUri"
                            },
                            "name": "nextUri"
                          },
                          "operator": "!==",
                          "right": {
                            "type": "Identifier",
                            "start": 2855,
                            "end": 2864,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 43
                              },
                              "end": {
                                "line": 81,
                                "column": 52
                              },
                              "identifierName": "undefined"
                            },
                            "name": "undefined"
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2866,
                        "end": 2901,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 54
                          },
                          "end": {
                            "line": 83,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 2880,
                            "end": 2891,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 12
                              },
                              "end": {
                                "line": 82,
                                "column": 23
                              }
                            },
                            "argument": {
                              "type": "BooleanLiteral",
                              "start": 2887,
                              "end": 2891,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 19
                                },
                                "end": {
                                  "line": 82,
                                  "column": 23
                                }
                              },
                              "value": true
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 2915,
                        "end": 2951,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 13
                          },
                          "end": {
                            "line": 86,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 2929,
                            "end": 2941,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 12
                              },
                              "end": {
                                "line": 85,
                                "column": 24
                              }
                            },
                            "argument": {
                              "type": "BooleanLiteral",
                              "start": 2936,
                              "end": 2941,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 19
                                },
                                "end": {
                                  "line": 85,
                                  "column": 24
                                }
                              },
                              "value": false
                            }
                          }
                        ],
                        "directives": []
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Is next page available for various paged APIs.\n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Boolean}\n     * @example\n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      if (api.albumFetcher.hasNextPage(response)) {\n     *          // more data available\n     *      }\n     * })\n     ",
                    "start": 2008,
                    "end": 2675,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 4
                      },
                      "end": {
                        "line": 78,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Base api fetcher.\n ",
              "start": 0,
              "end": 28,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 0
                },
                "end": {
                  "line": 3,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Base api fetcher.\n ",
            "start": 0,
            "end": 28,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * Base api fetcher.\n ",
      "start": 0,
      "end": 28,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*      \n     * @param {Http} http \n     * @param {string} [territory = 'TW'] - ['TW', 'HK', 'SG', 'MY', 'JP'] The territory for the fetcher.\n     ",
      "start": 64,
      "end": 214,
      "loc": {
        "start": {
          "line": 5,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @ignore\n         ",
      "start": 265,
      "end": 299,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @ignore\n         ",
      "start": 334,
      "end": 368,
      "loc": {
        "start": {
          "line": 15,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Gets an object's nested property by path.\n     * @ignore\n     ",
      "start": 415,
      "end": 490,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 24,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " convert indexes to properties",
      "start": 579,
      "end": 611,
      "loc": {
        "start": {
          "line": 26,
          "column": 50
        },
        "end": {
          "line": 26,
          "column": 82
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " strip a leading dot",
      "start": 662,
      "end": 684,
      "loc": {
        "start": {
          "line": 27,
          "column": 50
        },
        "end": {
          "line": 27,
          "column": 72
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Fetches next page of various paged APIs. \n     * \n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Promise}\n     * @example \n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      api.albumFetcher.fetchNextPage(response))\n     * })\n     ",
      "start": 981,
      "end": 1595,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Is next page available for various paged APIs.\n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Boolean}\n     * @example\n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      if (api.albumFetcher.hasNextPage(response)) {\n     *          // more data available\n     *      }\n     * })\n     ",
      "start": 2008,
      "end": 2675,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 7
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": "*\n * Base api fetcher.\n ",
      "start": 0,
      "end": 28,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "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": 29,
      "end": 35,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "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": 36,
      "end": 43,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 14
        }
      }
    },
    {
      "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": 44,
      "end": 49,
      "loc": {
        "start": {
          "line": 4,
          "column": 15
        },
        "end": {
          "line": 4,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Fetcher",
      "start": 50,
      "end": 57,
      "loc": {
        "start": {
          "line": 4,
          "column": 21
        },
        "end": {
          "line": 4,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 58,
      "end": 59,
      "loc": {
        "start": {
          "line": 4,
          "column": 29
        },
        "end": {
          "line": 4,
          "column": 30
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*      \n     * @param {Http} http \n     * @param {string} [territory = 'TW'] - ['TW', 'HK', 'SG', 'MY', 'JP'] The territory for the fetcher.\n     ",
      "start": 64,
      "end": 214,
      "loc": {
        "start": {
          "line": 5,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 219,
      "end": 230,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 9,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 230,
      "end": 231,
      "loc": {
        "start": {
          "line": 9,
          "column": 15
        },
        "end": {
          "line": 9,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 231,
      "end": 235,
      "loc": {
        "start": {
          "line": 9,
          "column": 16
        },
        "end": {
          "line": 9,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 235,
      "end": 236,
      "loc": {
        "start": {
          "line": 9,
          "column": 20
        },
        "end": {
          "line": 9,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 237,
      "end": 246,
      "loc": {
        "start": {
          "line": 9,
          "column": 22
        },
        "end": {
          "line": 9,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 247,
      "end": 248,
      "loc": {
        "start": {
          "line": 9,
          "column": 32
        },
        "end": {
          "line": 9,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "TW",
      "start": 249,
      "end": 253,
      "loc": {
        "start": {
          "line": 9,
          "column": 34
        },
        "end": {
          "line": 9,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 253,
      "end": 254,
      "loc": {
        "start": {
          "line": 9,
          "column": 38
        },
        "end": {
          "line": 9,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 255,
      "end": 256,
      "loc": {
        "start": {
          "line": 9,
          "column": 40
        },
        "end": {
          "line": 9,
          "column": 41
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @ignore\n         ",
      "start": 265,
      "end": 299,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 11
        }
      }
    },
    {
      "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": 308,
      "end": 312,
      "loc": {
        "start": {
          "line": 13,
          "column": 8
        },
        "end": {
          "line": 13,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 312,
      "end": 313,
      "loc": {
        "start": {
          "line": 13,
          "column": 12
        },
        "end": {
          "line": 13,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 313,
      "end": 317,
      "loc": {
        "start": {
          "line": 13,
          "column": 13
        },
        "end": {
          "line": 13,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 318,
      "end": 319,
      "loc": {
        "start": {
          "line": 13,
          "column": 18
        },
        "end": {
          "line": 13,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 320,
      "end": 324,
      "loc": {
        "start": {
          "line": 13,
          "column": 20
        },
        "end": {
          "line": 13,
          "column": 24
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @ignore\n         ",
      "start": 334,
      "end": 368,
      "loc": {
        "start": {
          "line": 15,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 11
        }
      }
    },
    {
      "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": 377,
      "end": 381,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 381,
      "end": 382,
      "loc": {
        "start": {
          "line": 18,
          "column": 12
        },
        "end": {
          "line": 18,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 382,
      "end": 391,
      "loc": {
        "start": {
          "line": 18,
          "column": 13
        },
        "end": {
          "line": 18,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 392,
      "end": 393,
      "loc": {
        "start": {
          "line": 18,
          "column": 23
        },
        "end": {
          "line": 18,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 394,
      "end": 403,
      "loc": {
        "start": {
          "line": 18,
          "column": 25
        },
        "end": {
          "line": 18,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 408,
      "end": 409,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Gets an object's nested property by path.\n     * @ignore\n     ",
      "start": 415,
      "end": 490,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 24,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getPropertyByPath",
      "start": 495,
      "end": 512,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 25,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 512,
      "end": 513,
      "loc": {
        "start": {
          "line": 25,
          "column": 21
        },
        "end": {
          "line": 25,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 513,
      "end": 519,
      "loc": {
        "start": {
          "line": 25,
          "column": 22
        },
        "end": {
          "line": 25,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 519,
      "end": 520,
      "loc": {
        "start": {
          "line": 25,
          "column": 28
        },
        "end": {
          "line": 25,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 521,
      "end": 525,
      "loc": {
        "start": {
          "line": 25,
          "column": 30
        },
        "end": {
          "line": 25,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 525,
      "end": 526,
      "loc": {
        "start": {
          "line": 25,
          "column": 34
        },
        "end": {
          "line": 25,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 527,
      "end": 528,
      "loc": {
        "start": {
          "line": 25,
          "column": 36
        },
        "end": {
          "line": 25,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 537,
      "end": 541,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 542,
      "end": 543,
      "loc": {
        "start": {
          "line": 26,
          "column": 13
        },
        "end": {
          "line": 26,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 544,
      "end": 548,
      "loc": {
        "start": {
          "line": 26,
          "column": 15
        },
        "end": {
          "line": 26,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 548,
      "end": 549,
      "loc": {
        "start": {
          "line": 26,
          "column": 19
        },
        "end": {
          "line": 26,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 549,
      "end": 556,
      "loc": {
        "start": {
          "line": 26,
          "column": 20
        },
        "end": {
          "line": 26,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 556,
      "end": 557,
      "loc": {
        "start": {
          "line": 26,
          "column": 27
        },
        "end": {
          "line": 26,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "\\[(\\w+)\\]",
        "flags": "g"
      },
      "start": 557,
      "end": 569,
      "loc": {
        "start": {
          "line": 26,
          "column": 28
        },
        "end": {
          "line": 26,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 569,
      "end": 570,
      "loc": {
        "start": {
          "line": 26,
          "column": 40
        },
        "end": {
          "line": 26,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".$1",
      "start": 571,
      "end": 576,
      "loc": {
        "start": {
          "line": 26,
          "column": 42
        },
        "end": {
          "line": 26,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 576,
      "end": 577,
      "loc": {
        "start": {
          "line": 26,
          "column": 47
        },
        "end": {
          "line": 26,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 577,
      "end": 578,
      "loc": {
        "start": {
          "line": 26,
          "column": 48
        },
        "end": {
          "line": 26,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " convert indexes to properties",
      "start": 579,
      "end": 611,
      "loc": {
        "start": {
          "line": 26,
          "column": 50
        },
        "end": {
          "line": 26,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 620,
      "end": 624,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 625,
      "end": 626,
      "loc": {
        "start": {
          "line": 27,
          "column": 13
        },
        "end": {
          "line": 27,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 627,
      "end": 631,
      "loc": {
        "start": {
          "line": 27,
          "column": 15
        },
        "end": {
          "line": 27,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 631,
      "end": 632,
      "loc": {
        "start": {
          "line": 27,
          "column": 19
        },
        "end": {
          "line": 27,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 632,
      "end": 639,
      "loc": {
        "start": {
          "line": 27,
          "column": 20
        },
        "end": {
          "line": 27,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 639,
      "end": 640,
      "loc": {
        "start": {
          "line": 27,
          "column": 27
        },
        "end": {
          "line": 27,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "^\\.",
        "flags": ""
      },
      "start": 640,
      "end": 645,
      "loc": {
        "start": {
          "line": 27,
          "column": 28
        },
        "end": {
          "line": 27,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 645,
      "end": 646,
      "loc": {
        "start": {
          "line": 27,
          "column": 33
        },
        "end": {
          "line": 27,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 647,
      "end": 649,
      "loc": {
        "start": {
          "line": 27,
          "column": 35
        },
        "end": {
          "line": 27,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 649,
      "end": 650,
      "loc": {
        "start": {
          "line": 27,
          "column": 37
        },
        "end": {
          "line": 27,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 650,
      "end": 651,
      "loc": {
        "start": {
          "line": 27,
          "column": 38
        },
        "end": {
          "line": 27,
          "column": 39
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " strip a leading dot",
      "start": 662,
      "end": 684,
      "loc": {
        "start": {
          "line": 27,
          "column": 50
        },
        "end": {
          "line": 27,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 693,
      "end": 696,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 697,
      "end": 701,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 702,
      "end": 703,
      "loc": {
        "start": {
          "line": 28,
          "column": 17
        },
        "end": {
          "line": 28,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 704,
      "end": 708,
      "loc": {
        "start": {
          "line": 28,
          "column": 19
        },
        "end": {
          "line": 28,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 708,
      "end": 709,
      "loc": {
        "start": {
          "line": 28,
          "column": 23
        },
        "end": {
          "line": 28,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "split",
      "start": 709,
      "end": 714,
      "loc": {
        "start": {
          "line": 28,
          "column": 24
        },
        "end": {
          "line": 28,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 714,
      "end": 715,
      "loc": {
        "start": {
          "line": 28,
          "column": 29
        },
        "end": {
          "line": 28,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 715,
      "end": 718,
      "loc": {
        "start": {
          "line": 28,
          "column": 30
        },
        "end": {
          "line": 28,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 718,
      "end": 719,
      "loc": {
        "start": {
          "line": 28,
          "column": 33
        },
        "end": {
          "line": 28,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 719,
      "end": 720,
      "loc": {
        "start": {
          "line": 28,
          "column": 34
        },
        "end": {
          "line": 28,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 729,
      "end": 732,
      "loc": {
        "start": {
          "line": 29,
          "column": 8
        },
        "end": {
          "line": 29,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 733,
      "end": 734,
      "loc": {
        "start": {
          "line": 29,
          "column": 12
        },
        "end": {
          "line": 29,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 734,
      "end": 737,
      "loc": {
        "start": {
          "line": 29,
          "column": 13
        },
        "end": {
          "line": 29,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 738,
      "end": 739,
      "loc": {
        "start": {
          "line": 29,
          "column": 17
        },
        "end": {
          "line": 29,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 740,
      "end": 741,
      "loc": {
        "start": {
          "line": 29,
          "column": 19
        },
        "end": {
          "line": 29,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 742,
      "end": 743,
      "loc": {
        "start": {
          "line": 29,
          "column": 21
        },
        "end": {
          "line": 29,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 743,
      "end": 744,
      "loc": {
        "start": {
          "line": 29,
          "column": 22
        },
        "end": {
          "line": 29,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 745,
      "end": 746,
      "loc": {
        "start": {
          "line": 29,
          "column": 24
        },
        "end": {
          "line": 29,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 747,
      "end": 748,
      "loc": {
        "start": {
          "line": 29,
          "column": 26
        },
        "end": {
          "line": 29,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 749,
      "end": 753,
      "loc": {
        "start": {
          "line": 29,
          "column": 28
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 753,
      "end": 754,
      "loc": {
        "start": {
          "line": 29,
          "column": 32
        },
        "end": {
          "line": 29,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 754,
      "end": 760,
      "loc": {
        "start": {
          "line": 29,
          "column": 33
        },
        "end": {
          "line": 29,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 760,
      "end": 761,
      "loc": {
        "start": {
          "line": 29,
          "column": 39
        },
        "end": {
          "line": 29,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 762,
      "end": 763,
      "loc": {
        "start": {
          "line": 29,
          "column": 41
        },
        "end": {
          "line": 29,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 764,
      "end": 765,
      "loc": {
        "start": {
          "line": 29,
          "column": 43
        },
        "end": {
          "line": 29,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 766,
      "end": 767,
      "loc": {
        "start": {
          "line": 29,
          "column": 45
        },
        "end": {
          "line": 29,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 767,
      "end": 768,
      "loc": {
        "start": {
          "line": 29,
          "column": 46
        },
        "end": {
          "line": 29,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 769,
      "end": 771,
      "loc": {
        "start": {
          "line": 29,
          "column": 48
        },
        "end": {
          "line": 29,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 771,
      "end": 772,
      "loc": {
        "start": {
          "line": 29,
          "column": 50
        },
        "end": {
          "line": 29,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 772,
      "end": 773,
      "loc": {
        "start": {
          "line": 29,
          "column": 51
        },
        "end": {
          "line": 29,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 774,
      "end": 775,
      "loc": {
        "start": {
          "line": 29,
          "column": 53
        },
        "end": {
          "line": 29,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 788,
      "end": 791,
      "loc": {
        "start": {
          "line": 30,
          "column": 12
        },
        "end": {
          "line": 30,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 792,
      "end": 795,
      "loc": {
        "start": {
          "line": 30,
          "column": 16
        },
        "end": {
          "line": 30,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 796,
      "end": 797,
      "loc": {
        "start": {
          "line": 30,
          "column": 20
        },
        "end": {
          "line": 30,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 798,
      "end": 802,
      "loc": {
        "start": {
          "line": 30,
          "column": 22
        },
        "end": {
          "line": 30,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 802,
      "end": 803,
      "loc": {
        "start": {
          "line": 30,
          "column": 26
        },
        "end": {
          "line": 30,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 803,
      "end": 804,
      "loc": {
        "start": {
          "line": 30,
          "column": 27
        },
        "end": {
          "line": 30,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 804,
      "end": 805,
      "loc": {
        "start": {
          "line": 30,
          "column": 28
        },
        "end": {
          "line": 30,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 805,
      "end": 806,
      "loc": {
        "start": {
          "line": 30,
          "column": 29
        },
        "end": {
          "line": 30,
          "column": 30
        }
      }
    },
    {
      "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": 819,
      "end": 821,
      "loc": {
        "start": {
          "line": 31,
          "column": 12
        },
        "end": {
          "line": 31,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 822,
      "end": 823,
      "loc": {
        "start": {
          "line": 31,
          "column": 15
        },
        "end": {
          "line": 31,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 823,
      "end": 826,
      "loc": {
        "start": {
          "line": 31,
          "column": 16
        },
        "end": {
          "line": 31,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "in",
        "keyword": "in",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "in",
      "start": 827,
      "end": 829,
      "loc": {
        "start": {
          "line": 31,
          "column": 20
        },
        "end": {
          "line": 31,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 830,
      "end": 836,
      "loc": {
        "start": {
          "line": 31,
          "column": 23
        },
        "end": {
          "line": 31,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 836,
      "end": 837,
      "loc": {
        "start": {
          "line": 31,
          "column": 29
        },
        "end": {
          "line": 31,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 838,
      "end": 839,
      "loc": {
        "start": {
          "line": 31,
          "column": 31
        },
        "end": {
          "line": 31,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 856,
      "end": 862,
      "loc": {
        "start": {
          "line": 32,
          "column": 16
        },
        "end": {
          "line": 32,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 863,
      "end": 864,
      "loc": {
        "start": {
          "line": 32,
          "column": 23
        },
        "end": {
          "line": 32,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 865,
      "end": 871,
      "loc": {
        "start": {
          "line": 32,
          "column": 25
        },
        "end": {
          "line": 32,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 871,
      "end": 872,
      "loc": {
        "start": {
          "line": 32,
          "column": 31
        },
        "end": {
          "line": 32,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 872,
      "end": 875,
      "loc": {
        "start": {
          "line": 32,
          "column": 32
        },
        "end": {
          "line": 32,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 875,
      "end": 876,
      "loc": {
        "start": {
          "line": 32,
          "column": 35
        },
        "end": {
          "line": 32,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 876,
      "end": 877,
      "loc": {
        "start": {
          "line": 32,
          "column": 36
        },
        "end": {
          "line": 32,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 890,
      "end": 891,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 892,
      "end": 896,
      "loc": {
        "start": {
          "line": 33,
          "column": 14
        },
        "end": {
          "line": 33,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 897,
      "end": 898,
      "loc": {
        "start": {
          "line": 33,
          "column": 19
        },
        "end": {
          "line": 33,
          "column": 20
        }
      }
    },
    {
      "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": 915,
      "end": 921,
      "loc": {
        "start": {
          "line": 34,
          "column": 16
        },
        "end": {
          "line": 34,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 921,
      "end": 922,
      "loc": {
        "start": {
          "line": 34,
          "column": 22
        },
        "end": {
          "line": 34,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 935,
      "end": 936,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 945,
      "end": 946,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "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": 955,
      "end": 961,
      "loc": {
        "start": {
          "line": 37,
          "column": 8
        },
        "end": {
          "line": 37,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 962,
      "end": 968,
      "loc": {
        "start": {
          "line": 37,
          "column": 15
        },
        "end": {
          "line": 37,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 968,
      "end": 969,
      "loc": {
        "start": {
          "line": 37,
          "column": 21
        },
        "end": {
          "line": 37,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 974,
      "end": 975,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Fetches next page of various paged APIs. \n     * \n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Promise}\n     * @example \n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      api.albumFetcher.fetchNextPage(response))\n     * })\n     ",
      "start": 981,
      "end": 1595,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fetchNextPage",
      "start": 1600,
      "end": 1613,
      "loc": {
        "start": {
          "line": 53,
          "column": 4
        },
        "end": {
          "line": 53,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1613,
      "end": 1614,
      "loc": {
        "start": {
          "line": 53,
          "column": 17
        },
        "end": {
          "line": 53,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fulfillment",
      "start": 1614,
      "end": 1625,
      "loc": {
        "start": {
          "line": 53,
          "column": 18
        },
        "end": {
          "line": 53,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1625,
      "end": 1626,
      "loc": {
        "start": {
          "line": 53,
          "column": 29
        },
        "end": {
          "line": 53,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUriPath",
      "start": 1627,
      "end": 1638,
      "loc": {
        "start": {
          "line": 53,
          "column": 31
        },
        "end": {
          "line": 53,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1639,
      "end": 1640,
      "loc": {
        "start": {
          "line": 53,
          "column": 43
        },
        "end": {
          "line": 53,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "data.paging.next",
      "start": 1641,
      "end": 1659,
      "loc": {
        "start": {
          "line": 53,
          "column": 45
        },
        "end": {
          "line": 53,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1659,
      "end": 1660,
      "loc": {
        "start": {
          "line": 53,
          "column": 63
        },
        "end": {
          "line": 53,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1661,
      "end": 1662,
      "loc": {
        "start": {
          "line": 53,
          "column": 65
        },
        "end": {
          "line": 53,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1671,
      "end": 1674,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUri",
      "start": 1675,
      "end": 1682,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1683,
      "end": 1684,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 21
        }
      }
    },
    {
      "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": 1685,
      "end": 1689,
      "loc": {
        "start": {
          "line": 54,
          "column": 22
        },
        "end": {
          "line": 54,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1689,
      "end": 1690,
      "loc": {
        "start": {
          "line": 54,
          "column": 26
        },
        "end": {
          "line": 54,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getPropertyByPath",
      "start": 1690,
      "end": 1707,
      "loc": {
        "start": {
          "line": 54,
          "column": 27
        },
        "end": {
          "line": 54,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1707,
      "end": 1708,
      "loc": {
        "start": {
          "line": 54,
          "column": 44
        },
        "end": {
          "line": 54,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fulfillment",
      "start": 1708,
      "end": 1719,
      "loc": {
        "start": {
          "line": 54,
          "column": 45
        },
        "end": {
          "line": 54,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1719,
      "end": 1720,
      "loc": {
        "start": {
          "line": 54,
          "column": 56
        },
        "end": {
          "line": 54,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUriPath",
      "start": 1721,
      "end": 1732,
      "loc": {
        "start": {
          "line": 54,
          "column": 58
        },
        "end": {
          "line": 54,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1732,
      "end": 1733,
      "loc": {
        "start": {
          "line": 54,
          "column": 69
        },
        "end": {
          "line": 54,
          "column": 70
        }
      }
    },
    {
      "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": 1742,
      "end": 1744,
      "loc": {
        "start": {
          "line": 55,
          "column": 8
        },
        "end": {
          "line": 55,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1745,
      "end": 1746,
      "loc": {
        "start": {
          "line": 55,
          "column": 11
        },
        "end": {
          "line": 55,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUri",
      "start": 1746,
      "end": 1753,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 1754,
      "end": 1756,
      "loc": {
        "start": {
          "line": 55,
          "column": 20
        },
        "end": {
          "line": 55,
          "column": 22
        }
      }
    },
    {
      "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": 1757,
      "end": 1761,
      "loc": {
        "start": {
          "line": 55,
          "column": 23
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1762,
      "end": 1764,
      "loc": {
        "start": {
          "line": 55,
          "column": 28
        },
        "end": {
          "line": 55,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUri",
      "start": 1765,
      "end": 1772,
      "loc": {
        "start": {
          "line": 55,
          "column": 31
        },
        "end": {
          "line": 55,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1773,
      "end": 1776,
      "loc": {
        "start": {
          "line": 55,
          "column": 39
        },
        "end": {
          "line": 55,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1777,
      "end": 1786,
      "loc": {
        "start": {
          "line": 55,
          "column": 43
        },
        "end": {
          "line": 55,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1786,
      "end": 1787,
      "loc": {
        "start": {
          "line": 55,
          "column": 52
        },
        "end": {
          "line": 55,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1788,
      "end": 1789,
      "loc": {
        "start": {
          "line": 55,
          "column": 54
        },
        "end": {
          "line": 55,
          "column": 55
        }
      }
    },
    {
      "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": 1802,
      "end": 1808,
      "loc": {
        "start": {
          "line": 56,
          "column": 12
        },
        "end": {
          "line": 56,
          "column": 18
        }
      }
    },
    {
      "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": 1809,
      "end": 1813,
      "loc": {
        "start": {
          "line": 56,
          "column": 19
        },
        "end": {
          "line": 56,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1813,
      "end": 1814,
      "loc": {
        "start": {
          "line": 56,
          "column": 23
        },
        "end": {
          "line": 56,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1814,
      "end": 1818,
      "loc": {
        "start": {
          "line": 56,
          "column": 24
        },
        "end": {
          "line": 56,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1818,
      "end": 1819,
      "loc": {
        "start": {
          "line": 56,
          "column": 28
        },
        "end": {
          "line": 56,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 1819,
      "end": 1822,
      "loc": {
        "start": {
          "line": 56,
          "column": 29
        },
        "end": {
          "line": 56,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1822,
      "end": 1823,
      "loc": {
        "start": {
          "line": 56,
          "column": 32
        },
        "end": {
          "line": 56,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUri",
      "start": 1823,
      "end": 1830,
      "loc": {
        "start": {
          "line": 56,
          "column": 33
        },
        "end": {
          "line": 56,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1830,
      "end": 1831,
      "loc": {
        "start": {
          "line": 56,
          "column": 40
        },
        "end": {
          "line": 56,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1840,
      "end": 1841,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 1850,
      "end": 1854,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1855,
      "end": 1856,
      "loc": {
        "start": {
          "line": 58,
          "column": 13
        },
        "end": {
          "line": 58,
          "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": 1869,
      "end": 1875,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 18
        }
      }
    },
    {
      "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": 1876,
      "end": 1879,
      "loc": {
        "start": {
          "line": 59,
          "column": 19
        },
        "end": {
          "line": 59,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 1880,
      "end": 1887,
      "loc": {
        "start": {
          "line": 59,
          "column": 23
        },
        "end": {
          "line": 59,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1887,
      "end": 1888,
      "loc": {
        "start": {
          "line": 59,
          "column": 30
        },
        "end": {
          "line": 59,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1888,
      "end": 1889,
      "loc": {
        "start": {
          "line": 59,
          "column": 31
        },
        "end": {
          "line": 59,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 1889,
      "end": 1896,
      "loc": {
        "start": {
          "line": 59,
          "column": 32
        },
        "end": {
          "line": 59,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1896,
      "end": 1897,
      "loc": {
        "start": {
          "line": 59,
          "column": 39
        },
        "end": {
          "line": 59,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 1898,
      "end": 1904,
      "loc": {
        "start": {
          "line": 59,
          "column": 41
        },
        "end": {
          "line": 59,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1904,
      "end": 1905,
      "loc": {
        "start": {
          "line": 59,
          "column": 47
        },
        "end": {
          "line": 59,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1906,
      "end": 1908,
      "loc": {
        "start": {
          "line": 59,
          "column": 49
        },
        "end": {
          "line": 59,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1909,
      "end": 1910,
      "loc": {
        "start": {
          "line": 59,
          "column": 52
        },
        "end": {
          "line": 59,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 1927,
      "end": 1933,
      "loc": {
        "start": {
          "line": 60,
          "column": 16
        },
        "end": {
          "line": 60,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1933,
      "end": 1934,
      "loc": {
        "start": {
          "line": 60,
          "column": 22
        },
        "end": {
          "line": 60,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Cannot fetch next page",
      "start": 1934,
      "end": 1958,
      "loc": {
        "start": {
          "line": 60,
          "column": 23
        },
        "end": {
          "line": 60,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1958,
      "end": 1959,
      "loc": {
        "start": {
          "line": 60,
          "column": 47
        },
        "end": {
          "line": 60,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1972,
      "end": 1973,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "end": {
          "line": 61,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1973,
      "end": 1974,
      "loc": {
        "start": {
          "line": 61,
          "column": 13
        },
        "end": {
          "line": 61,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1995,
      "end": 1996,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2001,
      "end": 2002,
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 63,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Is next page available for various paged APIs.\n     * @param {fulfillment} fulfillment - The fulfillment get from Promose's onFulfillment function \n     * @param {String} nextUriPath - The next uri's path. Defaults to 'data.paging.next', \n     * which means we will get the next uri path from 'fulfillment.data.paging.next'. \n     * The correct next uri path depends on respective api's response.\n     * @return {Boolean}\n     * @example\n     * api.albumFetcher.setAlbumID('KmRKnW5qmUrTnGRuxF').fetchTracks().then(response => {\n     *      if (api.albumFetcher.hasNextPage(response)) {\n     *          // more data available\n     *      }\n     * })\n     ",
      "start": 2008,
      "end": 2675,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasNextPage",
      "start": 2680,
      "end": 2691,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 79,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2691,
      "end": 2692,
      "loc": {
        "start": {
          "line": 79,
          "column": 15
        },
        "end": {
          "line": 79,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fulfillment",
      "start": 2692,
      "end": 2703,
      "loc": {
        "start": {
          "line": 79,
          "column": 16
        },
        "end": {
          "line": 79,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2703,
      "end": 2704,
      "loc": {
        "start": {
          "line": 79,
          "column": 27
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUriPath",
      "start": 2705,
      "end": 2716,
      "loc": {
        "start": {
          "line": 79,
          "column": 29
        },
        "end": {
          "line": 79,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2717,
      "end": 2718,
      "loc": {
        "start": {
          "line": 79,
          "column": 41
        },
        "end": {
          "line": 79,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "data.paging.next",
      "start": 2719,
      "end": 2737,
      "loc": {
        "start": {
          "line": 79,
          "column": 43
        },
        "end": {
          "line": 79,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2737,
      "end": 2738,
      "loc": {
        "start": {
          "line": 79,
          "column": 61
        },
        "end": {
          "line": 79,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2739,
      "end": 2740,
      "loc": {
        "start": {
          "line": 79,
          "column": 63
        },
        "end": {
          "line": 79,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2749,
      "end": 2752,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUri",
      "start": 2753,
      "end": 2760,
      "loc": {
        "start": {
          "line": 80,
          "column": 12
        },
        "end": {
          "line": 80,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2761,
      "end": 2762,
      "loc": {
        "start": {
          "line": 80,
          "column": 20
        },
        "end": {
          "line": 80,
          "column": 21
        }
      }
    },
    {
      "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": 2763,
      "end": 2767,
      "loc": {
        "start": {
          "line": 80,
          "column": 22
        },
        "end": {
          "line": 80,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2767,
      "end": 2768,
      "loc": {
        "start": {
          "line": 80,
          "column": 26
        },
        "end": {
          "line": 80,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getPropertyByPath",
      "start": 2768,
      "end": 2785,
      "loc": {
        "start": {
          "line": 80,
          "column": 27
        },
        "end": {
          "line": 80,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2785,
      "end": 2786,
      "loc": {
        "start": {
          "line": 80,
          "column": 44
        },
        "end": {
          "line": 80,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fulfillment",
      "start": 2786,
      "end": 2797,
      "loc": {
        "start": {
          "line": 80,
          "column": 45
        },
        "end": {
          "line": 80,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2797,
      "end": 2798,
      "loc": {
        "start": {
          "line": 80,
          "column": 56
        },
        "end": {
          "line": 80,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUriPath",
      "start": 2799,
      "end": 2810,
      "loc": {
        "start": {
          "line": 80,
          "column": 58
        },
        "end": {
          "line": 80,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2810,
      "end": 2811,
      "loc": {
        "start": {
          "line": 80,
          "column": 69
        },
        "end": {
          "line": 80,
          "column": 70
        }
      }
    },
    {
      "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": 2820,
      "end": 2822,
      "loc": {
        "start": {
          "line": 81,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2823,
      "end": 2824,
      "loc": {
        "start": {
          "line": 81,
          "column": 11
        },
        "end": {
          "line": 81,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUri",
      "start": 2824,
      "end": 2831,
      "loc": {
        "start": {
          "line": 81,
          "column": 12
        },
        "end": {
          "line": 81,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 2832,
      "end": 2834,
      "loc": {
        "start": {
          "line": 81,
          "column": 20
        },
        "end": {
          "line": 81,
          "column": 22
        }
      }
    },
    {
      "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": 2835,
      "end": 2839,
      "loc": {
        "start": {
          "line": 81,
          "column": 23
        },
        "end": {
          "line": 81,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2840,
      "end": 2842,
      "loc": {
        "start": {
          "line": 81,
          "column": 28
        },
        "end": {
          "line": 81,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextUri",
      "start": 2843,
      "end": 2850,
      "loc": {
        "start": {
          "line": 81,
          "column": 31
        },
        "end": {
          "line": 81,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 2851,
      "end": 2854,
      "loc": {
        "start": {
          "line": 81,
          "column": 39
        },
        "end": {
          "line": 81,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 2855,
      "end": 2864,
      "loc": {
        "start": {
          "line": 81,
          "column": 43
        },
        "end": {
          "line": 81,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2864,
      "end": 2865,
      "loc": {
        "start": {
          "line": 81,
          "column": 52
        },
        "end": {
          "line": 81,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2866,
      "end": 2867,
      "loc": {
        "start": {
          "line": 81,
          "column": 54
        },
        "end": {
          "line": 81,
          "column": 55
        }
      }
    },
    {
      "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": 2880,
      "end": 2886,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 2887,
      "end": 2891,
      "loc": {
        "start": {
          "line": 82,
          "column": 19
        },
        "end": {
          "line": 82,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2900,
      "end": 2901,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 2910,
      "end": 2914,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2915,
      "end": 2916,
      "loc": {
        "start": {
          "line": 84,
          "column": 13
        },
        "end": {
          "line": 84,
          "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": 2929,
      "end": 2935,
      "loc": {
        "start": {
          "line": 85,
          "column": 12
        },
        "end": {
          "line": 85,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2936,
      "end": 2941,
      "loc": {
        "start": {
          "line": 85,
          "column": 19
        },
        "end": {
          "line": 85,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2950,
      "end": 2951,
      "loc": {
        "start": {
          "line": 86,
          "column": 8
        },
        "end": {
          "line": 86,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2956,
      "end": 2957,
      "loc": {
        "start": {
          "line": 87,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2958,
      "end": 2959,
      "loc": {
        "start": {
          "line": 88,
          "column": 0
        },
        "end": {
          "line": 88,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2959,
      "end": 2959,
      "loc": {
        "start": {
          "line": 88,
          "column": 1
        },
        "end": {
          "line": 88,
          "column": 1
        }
      }
    }
  ]
}